BLOG ブログ

ENTRY

お申し込みはこちら

【Unity】正面に動かす

 transform.forwardで可能。右はright、上はup。逆はマイナスをかければ良い。直接transform.positionを書き換えるとワールド座標での変更となってしまうため、オブジェクトの持つ正面方向へのベクトルを取得して利用する必要がある。射撃攻撃の実装などにも必須。

 スクリプトからの位置座標の変更方法については「【Unity】スクリプトから位置座標を変更する」を参照。さらにTransform【トランスフォーム】コンポーネントについては「【Unity】位置、回転、大きさを変える」も参照しておくことを推奨。

方法

シンプルにオブジェクトのZ軸方向に動き続けるだけなら以下のようになる。スピードを調整したい場合はfloat型で定数をかけてやればよい。また、パソコンのスペックに依存せず動かしたい場合にはTime.deltaTimeなどをかけてやればよい。
gameObject.transform.position += gameObject.transform.forward;

バリエーション

正面以外でもオブジェクトの持つ向きに合わせたベクトルは以下のバリエーションが用意されている。背後、左、下に動かしたい場合はマイナスをかければ良い。
transform.forward正面(Z軸方向)
transform.right右(X軸方向)
transform.up上(Y軸方向)

CONTACT お問い合わせ

無料体験授業は随時開催しています。
ご希望やご質問など、お気軽にお寄せください。