Unityでスライム系の簡単な動きを再現してみた
こんにちは
今回、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」の値でどれだけ進めるか調整できる。
Author And Source
この問題について(Unityでスライム系の簡単な動きを再現してみた), 我々は、より多くの情報をここで見つけました https://qiita.com/beartaku/items/2739bb3cf03e5604a6dd著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .