【Unity】オブジェクトの移動(その1)
水曜日担当の秋山です。
今日はオブジェクトの移動に関して書いてみます。
基本的すぎる内容ですが、とりあえずMathf.SinやCosを利用した移動からです・・・・
利用している言語はC#になります。
オブジェクトの単純な移動に関しては、別記事で紹介しているiTweenを利用したほうが簡単です。
iTweenを利用しないで反復運動を行う場合を記載します。
Time.time = ゲーム開始からの時間を返す(読み取り専用)
これはZ軸上での-1~1の幅で反復移動します。
・Unity上での「1」は1m分の移動。
移動距離を伸ばしたい場合、Mathf.Sinの値に 2や3を掛けると2m,3mと伸ばせます。
また、運動の向きを反対にする場合、Mathfの値に負の値を掛ければ逆になります。
円運動を行う場合は以下のパターンなどがあります。
1) move_posi = new Vector3(Mathf.Cos(Time.time),0,Mathf.Sin(Time.time));
2) move_posi = new Vector3(Mathf.Cos(Time.time),Mathf.Sin(Time.time),0);
また、運動の向きを反対にする場合、Mathfの値に負の値を掛ければ逆になります。
もっと簡単な方法などありそうですが・・・
とりあえずここまでです。
今日はオブジェクトの移動に関して書いてみます。
基本的すぎる内容ですが、とりあえずMathf.SinやCosを利用した移動からです・・・・
利用している言語はC#になります。
オブジェクトの単純な移動に関しては、別記事で紹介しているiTweenを利用したほうが簡単です。
iTweenを利用しないで反復運動を行う場合を記載します。
|
Time.time = ゲーム開始からの時間を返す(読み取り専用)
これはZ軸上での-1~1の幅で反復移動します。
・Unity上での「1」は1m分の移動。
移動距離を伸ばしたい場合、Mathf.Sinの値に 2や3を掛けると2m,3mと伸ばせます。
また、運動の向きを反対にする場合、Mathfの値に負の値を掛ければ逆になります。
円運動を行う場合は以下のパターンなどがあります。
1) move_posi = new Vector3(Mathf.Cos(Time.time),0,Mathf.Sin(Time.time));
2) move_posi = new Vector3(Mathf.Cos(Time.time),Mathf.Sin(Time.time),0);
また、運動の向きを反対にする場合、Mathfの値に負の値を掛ければ逆になります。
もっと簡単な方法などありそうですが・・・
とりあえずここまでです。
« 【Java】着信モードとボリュームが変更された時の検知方法 | 怒涛の2本目リリース!いたずらアプリGagSound(ギャグサウンド)リリースしました! »
コメント
| h o m e |