最近遇到一个功能就是导弹到目标点要有随机曲线表现,重点要到目标点那里
实现思路
用根据时间流逝用sin函数来处理来回曲线的功能(坐标偏移),加个衰减距离(计算坐标偏移大小)
先上图,最下方有工程下载地址
主要实现代码如下
using UnityEngine;
using Random = UnityEngine.Random;
public enum RandomMoveCoordinates
{
None,
XY,
XZ,
YZ,
XYZ
}
public class EffectRandomMove : MonoBehaviour
{
/// <summary>
/// 随机偏移半径
/// </summary>
public float RandomMoveRadius;
/// <summary>
/// 随机偏移移动速度,根据时间累加通过sin算出弧线
/// </summary>
public float RandomMoveSpeed;
/// <summary>
/// 同上
/// </summary>
public float RandomRange;
/// <summary>
/// 衰减距离
/// </summary>
public float ReduceDistance = 1;
/// <summary>
/// 随机模式
/// </summary>
public