三角関数を使って、振り子のような運動や円運動をさせる

振り子のような運動をさせたい場合は、三角関数を使います
※昔習ったサインコサインタンジェントです。
参考URL:http://dixq.net/g/03_06.html


これを利用して、オブジェクトを「左右に行ったり来たり」させます

public class Test01 : MonoBehaviour {
public float speed = 1f;
public float width = 5f;

void Update () {
transform.position = new Vector3(Mathf.Sin (Time.time * speed) * width, 0f, 0f);
}
}
左右運動


また、「円運動」させたいときは以下の通りです。
public class Test02 : MonoBehaviour {
public float speed = 2f;
public float width = 4f;
public float height = 4f;

void Update () {
float x = Mathf.Cos(Time.time * speed) * width;
float y = Mathf.Sin(Time.time * speed) * height;
float z = 0f;
transform.position = new Vector3(x, y, z);
}
}
円運動

関連記事
[タグ] 小技

コメント

非公開コメント

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。