LoginSignup
0
0

More than 1 year has passed since last update.

Unityでスライム系の簡単な動きを再現してみた

Posted at

こんにちは

今回、Unityを用いて自作ゲームを作成するにあたって、「スライム系」のモンスターオブジェクトを動かすことになりました。

そこで、「スライム系」っぽい動きをするために書いたコードをこの記事に残します。

ここでスライムっぽい動きとは、進んで止まって進んで止まってと、緩急をつけて前進することを指しています。

    float speed; //スライムの現在のスピード値を格納
    float minspeed; //スライムの最遅スピード値を格納
    float maxspeed; //スライムの最速スピード値を格納
    float del; //スピード値の変化量を格納
    string status; //スピードを上昇下降の判断用

    <font color="orange">void Start()
    {
        speed = 1.5f; //初期化
        minspeed = 1.5f;
        maxspeed = 4f;
        del = 0.005f; 
        status = "up"; //はじめはスピードを上昇させる。
    }

    void Update()
    {
        if (status == "up")//現在のstatusの判定
        {
            speed = speed + del; //変化量を毎フレーム加算
            if (maxspeed < speed) //現在のスピード値判定
            {
                status = "down";
            }
        }
        else if (status == "down")
        {
            speed = speed - del;
            if (minspeed > speed)
            {
                status = "up";
            }
        }

        transform.Translate(0,0,speed * Time.deltaTime); //現在のスピード値分オブジェクトを移動
    }

基本的に、変数「del」に大きい値を入れると、スライムが早く動いているように見える。

また、進んで止まる動きを1アクションとすると、「Maxspeed」の値でどれだけ進めるか調整できる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0