[Unity] MovePosition, position, RotateAround 円運動させる

GameObjectが円運動するスクリプトが欲しい時があります
円運動としては、数学的にsin,cosの三角関数を使う
あるいは角度そのものを扱う方法があるようです
 
circle3 
スクリーンショット 2015-12-26 14.38.10

Unity 5.4.2f2

 

Rigidbody.MovePosition

 
Rigidbody オブジェクトを指定する位置へ移動します
Rigidbody の interpolation (補間)設定するとよりスムーズな描画となります

位置を時間Time.timeで変化させてsin,cosで円運動をさせます

public void MovePosition(Vector3 position);

Circle1.cs

 

Transform.position

 
ワールド空間の Transform の位置を設定します
位置を時間で変化させsin,cosで円運動させるところは
MovePositionと同じです

public Vector3 position;

Circle2.cs

 

Transform.RotateAround

 
ワールド座標の point を中心とした軸( axis )で angle 度回転させます
point となる対象を設定できます

今回の場合はCylinderをGameObject gObject に設定すれば
SphereをCylinderの周りを回るようにできます

public void RotateAround(Vector3 point, Vector3 axis, float angle);

Circle3.cs

 

スクリーンショット 2015-12-26 14.19.47

ページのトップへ戻る
 
sponsored link
  • このエントリーをはてなブックマークに追加