unity エレベーターの実装(動画あり)
今回紹介するのは、エレベーター(だんだんと上昇させる処理)です。
プレイヤーに与える動きを作ってみました。
~ public class Elevator : MonoBehaviour { //処理を与えたいオブジェクトのタグ名 string CachedTag; //エレベーターの速度 [SerializeField] float Speed; // Start is called before the first frame update void Start() { //タグ名を"Player"に設定 CachedTag = "Player"; } //エレベーターの処理 void ElevatorMove(GameObject _obj) { //上昇させたいオブジェクトのY軸の値を加算する _obj.transform.position += new Vector3(0, Speed*Time.deltaTime, 0); } private void OnTriggerStay(Collider col) { //当たったオブジェクトのタグがPlayerなら if(col.gameObject.CompareTag(CachedTag)) { //エレベーターの移動処理を行う ElevatorMove(col.gameObject); } } } ~
実装の手順
・エレベーター
新しくエレベーターオブジェクト(今回は円柱)を作成。
↓
エレベーターオブジェクトに
をアタッチ
・プレイヤー
移動処理があるplayerを作成
今回はこの記事のおまけの移動処理を行っています。
unitystudy.hatenadiary.com
↓
- rigidbody(Use Gravity をoff)
- capsule collider(is Triggerをoff)
↓
画像のTagをPlayerに設定
エレベーターの紹介は以上になります。