Translate

2016年5月31日火曜日

Unity,Clothで火星大接近(Mars and Earth)

今日は火星接近デーでしたので
ぷよしゅー(仮)ゲームのキャラに貼りました
地球と火星が近づくのは2年ぶりですからねー



もともと、nomalmapは貼っていたけど、テクスチャーは貼っていないで
色だけだったので出来たわけです

ではでは


UnityのCloth使ったShootingGame作るよ、その14(WebGL版、弾煙とパタパタ旗振り)

ぷよしゅー(仮)作成中です
今回は弾に煙をつけました!、でもミサイルじゃないのでロージンです!
あの投手が投げる前にパタパタするやつ・・・沈黙(- -;)

あとは、弾が岩に当たったら落っこちるようにしました
それと、勝ったほうが小旗を振っています・・
自分で作っておいてなんですが、旗振る必要あるのかなぁ・・orz
もしかすると取り払うかもしれないです・・
でも、ぷよった両名は楽しそうな・・

 球すじがよく見えるようになりました。弾じゃなくてボールぽいし。

時速何キロくらいかな





小旗パタパタ昨日のロジックでつけました!

音付きムービです(WebGL版)

アルファー版までもう一息ですが、作り込みも必要ですが、
デザイン面もっと垢抜けた感にしないとならないと思ってます

ではでは


2016年5月30日月曜日

Unity,Clothで旗(flag)をパタパタ振る

ゲームの中で小旗をパタパタ振りたいと思ったので実験

まずは旗を作ります
kobata(Emptyオブジェクト)にポール(Cube)と布(Plane)を子オブジェクトとして付けます


nuno(布)にはClothコンポーネントを追加して

 Skinned Mesh RendererのMeshにPlaneを設置(これ大事)
後は、Use Glavityは切った方が良いです
そして、EditConstraintsは、ポールにくっついている(したの写真ではちょっと離している)ポイントは、0にセットし、その他はとても大きな数字(今回は20)にセットして
メッシュから布が十分自由に動けるようにします。

できました。
 10fpsのアニメGIFなもんで・・・本当はもっと滑らか

コードはこれだけ。1秒間で100度動かして、戻しているだけです。
これをkobataに割りあてます。(timはクラス変数float)
PingPong初めて使ったかも・・

 本当は風もいじったりしたんですが、これだけで十分見えるのでいいかと。
もし風をいじるなら以下で操作できます
<Cloth>().externalAcceleration 

【その他】
  注意点として、nunoには両面シェーダーを貼って色塗らないと右に行く
  時見えなくなります


ではでは。

なぜ、棒はpoleにして布はnunoにしてしまったのだろう・・




2016年5月29日日曜日

UnityのCloth使ったShootingGame作るよ、その13(WebGL版なんとかなりそう)

ぷよしゅー(仮)格闘シューティングゲーム作成中です

WebGL版、色とか光の問題なんとか解決し、アルファー版に近づいてきました。

都合により夜ぽくしました

前回の問題点は以下にて対処しました(WebGL版の画面がPCと違う件)
  1. floorはcubeを使うのではなくplane(サイズ10,1,10)を使い、かつそれを6枚並べた。
  2. 空の問題は太陽のあたりの問題で、今回は光が膨張しないような、空気の澄んだ場所での月ということにして光が全体に広がらないようにした。
  3. FogはExponential Squaredから、Linearに変えた。

WebGL書き出し版をムービに撮りました

あとは音とか効果とかもう少し整えたら、アルファー版として出せるかなー

ではでは


Unity,cubeが大きいと書き出し環境によってspeculerが期待の表現と違う

Unityエディタ上とWebGL上で表現が違う問題の調査です
明らかにスペキュラーが違うのでそこから調査しました

 左下の床面の太陽反射に注目ください(これはPC)

なぜか床面だけ反射があまりありません。その他の反射はあるのに(WebGL)

床面cubeを小さくすると・・(こっちはPC)

床面cubeにPCとほぼ同じスペキュラーが現れました(WebGL)

なんですかね?
どこかに設定があるのでしょうか?
もちろん設定は全て揃えています・・Fantastic
で、床面をcubeでなくてplaneにしたところ・・解決。

こちら床面はplaneにしました (PC)

床面plane版だとPC版とほぼ同じ(WebGL)

なんで?
とりあえず、床面にcubeは使うなという事か。
これはWebGLだけじゃないだろうね・・要調査。

※追記 2016.5.29 14:54

planeのサイズを大きくしたら・・ダメでした
 planeサイズを10倍くらいにしました(PC)

 見事におかしな事になりました(WebGL)

ハイポリのプレーンでも作らないとダメかなぁ?

 ※追記 2016.5.29 18:15
今回はプレーンはサイズ10,1,10程度として、タイトル画面ではそれを6枚並べました
http://ndabecha.blogspot.com/2016/05/unityclothshootinggame13webgl.html

ではでは。

2016年5月28日土曜日

UnityのCloth使ったShootingGame作るよ、その12 (WebGLは色調とか階調が違う?)

ぷよしゅー(仮)作成中です
今回はタイトル画面やスタート時のカウントダウンなどを作成しました。
そして、Web上で遊べるアルファー版的なものを目指す事にしました

ところが、WebGLコンパイルしてみて映像的な問題が出ました。
タイトル画面ではコントラストが強い感じで、タイトルが白飛びし、地面も暗くて
見えにくくなりました。ただ、岩とかは問題なさげに見えます。

タイトル画面(UnityEditor上)
タイトル画面(WebGL上)

ゲーム画面は、床面の明るさが少し変です
WebGL画面は白っぽくなったり、そうでもなかったり、方角によって極端に変化します。

 ゲーム画面(UnityEditor上)

ゲーム画面(WebGL上)
タイトルは無難な色を選べばいいのでしょうが、ゲーム中画面は問題です。
 Quality Level の設定ではなさそうだし、
Editor上の見た目で設定できないと、デザインしにくいので、どうしたもんじゃろなぁ〜
何れにしても、少し調査してみないとならないです

ではでは

Unity,多数のドット的な距離判断処理(Vector3.distanceとcollider判断はどっちが良いか)

Unityちょっと処理実験中
自分は8ビット時代の頭なもので、ドットが見えるコンピュータ大好きです

前置きしておきましたがw
効果として、物体が近づいた時に範囲にいたら反応するようなのを考えています
下は、表が青で裏が黄色のパネルですが、物体(sphere)が近づいた時に反転しています



処理方法は2種類試してみました。

1.パネルとsphereを距離で見る方法
 Vector3.Distanceで距離を調べてそれ以下なら反転

2.sphereに距離分あるでかいコライダーをつけてぶつけて判断する方法
 コライダーへの突入 OnTriggerEnterと抜けOnTriggerExitで判断

結果はどっちも同じようなもんで結構重いです
 
パネル(ドット)に割り当てているスクリプトです、
現在はコライダータイプ、コメントアウトしているのが距離を見るタイプ

でかいコライダーの様子

ではでは

Dominations Level 95

ゲーム開発参考にUnityで作られたゲームをしています(言い訳)
で、Dominationsまだ続けています
現在レベル95で、産業時代
グローバル時代が解禁されましたが、この時代でしばらく施設や兵力の強化に努めます

長く続けられるゲームというのは達成感なのか・・これまでの努力を無駄にしないように続けるということなのか・・何れにしてもこのようなゲームは作れない。

全体
 
飛行場付近

以上

2016年5月27日金曜日

UnityのCloth使ったShootingGame作るよ、その11 (プレイヤーも勝てる、残弾表示など)

ぷよしゅー(仮)作成中です。
プレイヤーも勝てるようにしましたw(今まではやられるまで終わらなかった)
プレイ画面上には、ヒットポイント的なものも表示し、プレイヤーの使用可能弾頭(?)も左下に表示しました。これは、2つ目のカメラ配置で実現し、ノーコーディングです・・暫定ということで。

こんな感じで、格闘シューティングゲームの形が出来てきたかなぁ、
遠くないうちにアルファー版どこかに出したい気持ちも湧いてきました。

プレイヤーが勝った時・・地味かな


【技術ネタ】
    よくある手法ですが、参考までに。
   残弾を出している方法は、2つ目のカメラです。
   残弾待機場所をそのまま写していて、画面の左下にオーバーレイしています。
   ポイントはClearFlagsをDepth onlyにすることです。



ではでは。

2016年5月26日木曜日

Unity, WebGLプラットフォーム判別できないけど、タッチくらいなら何とかなるっちゃ


WebGLの動作中プラットフォーム判別は未だわかりませんが、
暫定対処方法はわかっているので、念のための記載です。
(判別できないと書いた記事にアクセスが散見されたため)

方法1
  タッチとクリック両方処理しちゃえ(今回はこちら)

方法2
  GUI系のボタンを使う

https://dl.dropboxusercontent.com/u/286619845/%E3%82%A2%E3%83%97%E3%83%AA/puyotestwebgl/index.html
 ※遊べると言ってもタッチorクリックすれば弾が飛び出して、ぷよに当たって穴が開くだけです


WebGLでのクリックとタッチ両方処理してるコード例です

 しかし、なんでInput.GetButtonDownで、タッチパネル効かないかなぁ・・
ネイティブなら動くのに・・UnityのWebGLはモバイルをサポート外って事だけどこのあたりの事なのかな。ま、あとモバイルでは速度出ないのはどうしようもないな。

なお、WebGLもPCでならばそこそこ速度出るので、ぷよしゅー(仮)、アルファー版レベルになったらWebGLでお試し出すのもありかもなーと思った次第でした。

ではでは。






2016年5月25日水曜日

UnityのCloth使ったShootingGame作るよ、その10 (手ぶれシミュレーションダメか)

ぷよしゅー(仮)作成中です
 アリーナの壁(岩)に当たり判定をつけたので、ようやくアリーナの中で闘うという感じになりました。壁に当たっても穴が開くし破片もその付近から出ます。
あと、カメラを手ぶれカメラにしたのですが・・闘いの最中は見づらすぎてやめました。
ただ、ゲームオーバー画面では残ってます(今の所)様子はムービを参照頂ければと。

 激しい闘いでの相撃の瞬間!

 闘いのムービー

壁に当たって破片出たところをUnityEditorで見回した

【技術ネタ】
  ネタないのですが、エネミーの動きにVector3.Slerpを使って、丸く動くようにしてみました、少し上にはねて移動します。いつも使うのではなく時々使うバリエーションにしようと思っています。

ではでは。

2016年5月24日火曜日

Unity,Vector3.Lerpで壁ドンからの移動処理

ぷよしゅー(仮)作りです
アリーナの壁にドンと当たったら、ちょいとアリーナ中央寄りに戻す処理を書いてました
まあ出来たことは出来たのですが、Vector3.Lerpの使い方が気になってしまいました

壁ドン

 同じLerpでも下のコードにより動きは全くことなります
Vector3.Lerp3つの処理の違い

Start()の部分のLerpの使い方は、指定した位置までの半分の位置を求める処理で、
実際のゲームコードでは30%くらいで使っています。ここは期待通りに動きます。

問題は、Update()の中の使い方です
objA(赤)は開始地点と終了地点はいつも同じです。指定した時間通りに動きます。
objB(黄色)は開始位置は現時点の位置になります。やけに早く到着です。
objC(青)はBと位置は同じですが、時間指定をTime.deltaTimeにしており、最後の位置までなかなか詰められません。

Aが正しいのかな?でも世の中のコードみるとCも見かけるし・・
動きの味として好きに使えばいいのだろうか・・試行錯誤なう

ではでは。


2016年5月23日月曜日

Unity, OnTriggerEnter時のオブジェクトの位置が・・

ぷよしゅー(仮)作成中です
OnTriggerEnterの時の位置が少々問題で、試行錯誤です

 オブジェクト衝突の位置で穴を開けたいのですが、弾が真ん中まで突っ込むと
衝突位置は弾オブジェクトの近くのverticesを探すので、正面じゃないところに
なってしまいます。

 OnTriggerEnterで止めてみると、弾はすでに結構奥に突っ込んでいます・・
シーン画面を操作して見回してみました(アニメGIF)

 考えメモ

暫定策としては飛来しているvelocityで少し前の位置に補正した値を穴あけ処理
に渡して対応しています。ただ、あまり見た目に問題はないのですが、端の方に当たった時などおかしくなりがちです・・

メモに書いたけど、少し前の位置からRayでも撃って改めて位置検出すべきなのかなぁ
試行錯誤は続きます。

ではでは



2016年5月22日日曜日

UnityのCloth使ったShootingGame作るよ、その9 (アリーナをデザインしたり)

ぷよしゅー(仮)作成中です

今日はアリーナ(戦いの場)をデザインしてみました
これまではTrrainで仮のものにしていましたが、今回ブレンダーでランダムで岩的なものを作って、それを二色に色分けして並べただけです

雰囲気は、テクスチャー貼らない粗ポリゴンブームがあるんじゃ(あったんじゃ)ないかと思ってそれに習ってみました。

Unity標準での作りっぱなし感が少し減ったのではないでしょうか

これはシーン画面ですが。フォグちょっと入れています

ゲームオーバー画面も仕様変更しました、仲良くやられ具合をカメラの前で披露するような感じにしました。殺伐としたゲームじゃない(つもりだ)し。

それと、地味な変更ですが、弾がエネミーやプレイヤーに衝突すると、弾にgravityがはたらくようにしました、velocityも半減させました。

ではでは