「Tiny Robots Pack」のアセットデータを使い、動きを試していきます。
このように、キャラクターを円形に動かしてみましょう。
関連記事:
キャラクターを円状に動かす方法2
ターゲットの周囲を円形に移動する
カメラを旋回しながら自動追従させる
円を描くように移動する
円を描くように動きながら前方発射
Rigidbody.MovePosition
円運動にはいつくか方法があるのですが、Rigidbody.MovePositionを使ってみます。
動かしたいオブジェクトを選択し、RigidBodyのコンポーネントを追加します。
Use Gravity は必ずチェエクを外しましょう。
新しく、CircleMove.csを作成し、動かしたいオブジェクトに付けます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CircleMove : MonoBehaviour { public Rigidbody rb; float speed = 1.0f; float radius = 3.0f; void Start() { rb = GetComponent<Rigidbody>(); } void Update() { rb.MovePosition( new Vector3( radius * Mathf.Sin(Time.time * speed), 0.5f, radius * Mathf.Cos(Time.time * speed) ) ); } } |
インスペクターを確認すると、RBの項目ができています。
ここは動かしたいオブジェクトを選びます。
実行してましょう。
SinとCosを使って、円運動しています。
radiusには円の大きさ、speedは動くスピード、それぞれ数値を入れましょう。
関連記事:
キャラクターを円状に動かす方法2
ターゲットの周囲を円形に移動する
カメラを旋回しながら自動追従させる
円を描くように移動する
円を描くように動きながら前方発射