GameObjectを一定の感覚で移動をさせる方法として三角関数をサイン、コサインを使う方法があります。 これを利用すれば、一定の範囲でオブジェクトを移動させることができます。 C#では、[Mathf]と呼ばれるクラスが三角関数を含め色々と数学的な処理ができるので便利になります。
三角関数
C#で三角関数は以下のように書きます。 [c] Mathf.Sin(float) Mathf.Cos(float) [/c]
オブジェクトを一定の範囲で移動させる場合はUpdate内で以下のように記述をすると実装できます。 [c] Vector3 pos = Vector3.zero; //中心を決めます。今回は(0,0,0) float speed = 2.0f;
//範囲を指定してあげると大きな円、小さな円を実装できます。 pos.x += Mathf.Sin(Time.time * speed) * 4f; pos.y += Mathf.Cos(Time.time * speed) * 2f; target.position = pos;
[/c]
感想
個人的に三角関数を理解できていないので、とりあえず一定の範囲を往復する処理に利用ができそうだと思いました。 細かいアニメーションや移動は、iTweenやDotweenを利用したほうが良いと思います。
UnityゲームUI実践ガイド 開発者が知っておきたいGUI構築の新スタンダード 池和田有輔,時村良平 エムディエヌコーポレーション 売り上げランキング : 25053 Amazonで詳しく見る |