発射したPrefabデータが、回転しながら動いていくように、スクリプトを作成してみましょう。
スペースキーでCubeを発射すると、オブジェクトが自転しながら移動していきます。
関連記事:
自転しながら公転させる
発射したボールをカーブさせる
発射したPrefabをキー操作で曲げる
自転しながら動く
Cubeを作成します。
リジッドボディを追加し、UseGravityのチェックを外します。
CubeRotate.csを作成し、Cubeに追加します。
CubeRotate.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeRotate : MonoBehaviour { void Update() { transform.Rotate(0,10,0); } } |
Cubeをプロジェクトウィンドウに、ドラッグ&ドロップして、Prefab化します。
Cubeの元データは削除します。
発射元のスクリプト
空のオブジェクトを作成します。
CubeShot.csを作成し、GameObjectに追加します。
CubeShot.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeShot : MonoBehaviour { public GameObject prefab; void Update() { if(Input.GetKeyDown("space")) { GameObject ball = GameObject.Instantiate (prefab)as GameObject; ball.GetComponent<Rigidbody>().AddForce(transform.forward * 1000); } } } |
プレハブのフィールドに、CubeのPrefabデータを入れます。
ゲームプレイして、スペースキーで発射しましょう。
オブジェクト自体が回転しながら、発射されます。