【unity游戏开发】S型飞行的怪AI写法
2017-08-20 本文已影响83人
suxsho_枫2
我们在游戏设计中,有时候会制作这样的一种飞行怪物(横板游戏常见)
大概用简笔画描述下飞行轨迹所以飞行的弧线是怎么实现的呢,其实很简单,只需要一个函数即可(干货主义,所以直接给方法不说原理了)
Mathf.Sin(Time.time * 2) //如果觉得速度不对,可以在后面 * 一个数,改变速度
那么在游戏中应该怎么实现这样的怪呢,下面给2个参考,其中原理是X(前进的速度)和Y(上下移动)共同确定的
这里定义了个moveSpeed 为 float
C#
GetComponent().velocity = new Vector2(moveSpeed , Mathf.Sin(Time.time * 2) * 1.5f);
JS (JS的写法是定义了CharacterController,如果对这个不太清楚的可以去研究下相关基础)
velocity.x = moveSpeed;
velocity.y = Mathf.Sin(Time.time * 2) * 1.5;
2018-3-21 补充
如果要让3D的组件漂浮怎么做
按照图中的方式来GetComponent().velocity = new Vector2(0, Mathf.Sin(Time.time * 2) * 1.5f);