2014年7月29日火曜日

【Unity】戦車ゲーム:跳弾


戦車の砲塔の回転方式を変えた。結局角度を常に監視してある角度以内までズレが収まるまで回転するようにした。また砲弾が跳ね返るようにした。ここで試せる。
 砲弾は衝突時にレイを照射する。照射する地点は砲弾から正確にすこし後ろの位置から(というもの砲弾の位置はほぼ衝突地点と同じで誤作動が起きるかもしれないので)で、砲弾の飛翔方向に照射する。これで(照射の着地点(ほぼ砲弾の衝突地点)- 砲弾の少し後ろの地点)をAとするとVector3.Reflect(A, hit.normal)から反射地点が求まる。あとは砲弾を反射地点に向ければ跳弾となる。

2014年7月21日月曜日

【Unity】戦車ゲーム:回転の制限ができない


 WoTよろしく砲塔の動きに照準が追随するようにした(ここでプレイできる)。いま砲塔の回転はQuaternion.Slerpを使っていて、これは砲塔をスムースに回転させてくれるのだけども、困ったことにx,y,z軸まわり見境なく着弾地点を指向するので、砲塔と車体の動きがばらばらになってしまう。車体のY軸まわりの回転のみ可能にするのは簡単そうに見えて結局できなかった。もちろん他の方法はある。例えば常に砲塔の目的の角度と現在の角度を監視して、Rotateで回転を指示する方法だ。これなら回転軸を固定できる。しかしあまりかっこよくない。

2014年7月13日日曜日

【Unity】戦車ゲーム:照準と発砲


照準と発砲を実装した。ここでプレイできます。(WASDで移動、クリックで発砲2秒間隔)

 照準は常に画面の中央に表示される。カメラはマウスカーソルを追うので、結果的にマウスを動かした方向に照準が移動する。今のところ砲塔がどこを向いていようと照準に弾が飛んでいきます。


2014年7月7日月曜日

【Unity】戦車ゲーム:TPS視点

 
 WoTみたいなゲームを作るということで、ひとまずWASDキーで戦車が動いてカメラが追随するようにした。戦車を視界に収めつつ、マウスの位置に視点が回転するようになっている。仕組みとても単純で、下の悲惨な仕上がりの図に説明されている。