【unity游戏开发】S型飞行的怪AI写法

我们在游戏设计中,有时候会制作这样的一种飞行怪物(横板游戏常见)


【unity游戏开发】S型飞行的怪AI写法_第1张图片
大概用简笔画描述下飞行轨迹

所以飞行的弧线是怎么实现的呢,其实很简单,只需要一个函数即可(干货主义,所以直接给方法不说原理了)

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的组件漂浮怎么做

【unity游戏开发】S型飞行的怪AI写法_第2张图片
按照图中的方式来

GetComponent().velocity = new Vector2(0, Mathf.Sin(Time.time * 2) * 1.5f);

你可能感兴趣的:(【unity游戏开发】S型飞行的怪AI写法)