デジゲー博2020受かりました

タイトル通り
2020年11月29日開催のゲーム即売会イベント「デジゲー博2020」に参加します

 

配置は
AKIBA_SQUARE 2階 B-14 サークル:PHTR-CNZ
です。

完成したSTG「SufferingShot!」を持ち込む予定です。
本イベントでゲーム完成予定ですので、よろしくお願い致します。

イベントHP:http://digigame-expo.org/

[覚書]ターゲットに向かって移動するオブジェクト

久しぶりの更新です。
個人的に重要なゲームのキャラクター挙動のコードを書きます。

今回記述するUnityコードは、敵キャラクターがプレイヤーの方向を向き続け、迫ってくる動きをします。
それがこちらです。

public class HogeTarget: MonoBehaviour
{
public GameObject TargetObj;
private float maxData = 45;
private float minData;
private void Start()
{
minData = 360 -maxData;
}
private void Update()
{
this.gameObject.transform.LookAt(TargetObj.transform);
Vector3 angle= this.gameObject.transform.localEulerAngles;
if ( angle.x < maxData && 180 > angle.x)
{
angle.x = maxData ;
}
if (angle.x < minData && 180 < angle.x)
{
angle.x = minData ;
}
transform.localEulerAngles = angle;
transform.position += transform.rotation * new Vector3(0, 0, 1.0f)*Time.deltaTime;
}
}

上記の記述で重要な箇所が、[transform.LookAt]でプレイヤーの方向に向き、後のコードで敵キャラクターの向きに制限を加えています。
また、方向転換するオブジェクトの子オブジェクトに顔や腕をセットすることで、ある程度自然な挙動にすることができます。

次のコードは上記コードの

transform.position += transform.rotation * new Vector3(0, 0, 1.0f)*Time.deltaTime;

下に
transform.position += new Vector3(0, 0, 1.0f) * Time.deltaTime;

を記述することで、オブジェクトがプレイヤーに向きながら、Z軸方向に進んでいくようになります。

この挙動を入れることで、画面外に敵を移動させたい時に便利になります。