スポンサーリンク
※サイト運営にサーバーは必須です※
~このサイトもエックスサーバーを使用しています~
はじめに
Unityでオブジェクトを回転させる方法はいくつかある。
例えば、iTweenというアセットの使用などもその候補だろう。
この記事では、私が、「サイコロの面をあてるだけの簡単なお仕事」というアプリを作成した時に、使用した回転コードを公開する。
※素人などで至らぬところがあるかも
コード
※90度回転させるプログラム。
public GameObject obj
の部分で、自分が動かしたい物体を設定。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
public GameObject obj; float count; public float speed = 3f; public IEnumerator top_r() { for (count = 0; count < 90f; count+=speed) { obj.transform.Rotate(new Vector3(-speed, 0f, 0f), Space.World); yield return null; } obj.transform.Rotate(new Vector3(count - 90f, 0f, 0f), Space.World); } |
コルーチンを使用している。
yield return nullで1フレーム処理を中断することを利用して、オブジェクトを連続的に動かしている。
※もしも、IEnumeratorでなくvoidを使用すると、一瞬で回転が終了するプログラムになると思われる。
※これ単体では、動かない。もしもプログラムの最初で動かすならvoid Start(){}の中に、top_r();を放り込む。
※コルーチンを直列でつなぎたい場合は、以下のサイトで紹介しているコードが便利。
(外部サイト):http://qiita.com/sune2/items/a3fe657b59f25016dc52
関連記事
「サイコロの面をあてるだけの簡単なお仕事」のウンロードページ:https://play.google.com/store/apps/details?id=com.kaen.dice
~プログラミングを勉強してみませんか?~
TechAcademy [テックアカデミー] は無料の体験講座が用意されているので、気軽に体験できます。
※私(サイト主)も無料体験講座を実際に受けてみました(→感想)
コメント