Unityをスクリプトで動かしたい!

Unityでオブジェクトを操作する方法を紹介してます!

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);
        }
    }
}
~

f:id:SugieSan:20210221142039g:plain

実装の手順

エレベーター
新しくエレベーターオブジェクト(今回は円柱)を作成。

エレベーターオブジェクトに

をアタッチ

プレイヤー
移動処理があるplayerを作成
今回はこの記事のおまけの移動処理を行っています。
unitystudy.hatenadiary.com

  • rigidbody(Use Gravity をoff)
  • capsule collider(is Triggerをoff)


f:id:SugieSan:20210221142015p:plain
画像のTagをPlayerに設定

エレベーターの紹介は以上になります。