美文网首页
绘制曲线

绘制曲线

作者: APP4x | 来源:发表于2020-09-29 11:59 被阅读0次

    如果游戏中有个飞行子弹轨迹出了问题
    那咋解决呢?
    通常来说,直观看到曲线后,就能定位问题
    那如何看到曲线呢?

    将每个x对应的y都绘制到场景中,就能看到函数曲线
    如果加个阈值,x以0.1的增量变大,来得到y的离散点,将这些点连接起来就是曲线了

    Unity提供的画线接口:

    Debug.DrawLine
    

    效果如下:

    代码如下:

    [ExecuteInEditMode]
    public class DrawCustLine : MonoBehaviour
    {
        public Transform target;
        public float height = 1;
        public float length = 2;
        public float offset = 0;
        public float totalLength = 8;
    
        [Range(0f, 1f)]
        public float delat = 0.1f;
    
        void Update()
        {
            MakeSin(target);
        }
    
        void MakeSin(Transform trTrans)
        {
            if (trTrans == null)
                return;
    
            Debug.DrawLine(trTrans.position, trTrans.TransformPoint(Vector3.forward * totalLength));
    
            Vector3 perPos = trTrans.position;
            for (float i = 0; i < totalLength; i = i + delat)
            {
                float h = Mathf.Sin(i * length + offset) * height;
                Vector3 localPos = new Vector3(0, h, i);
                Vector3 worldPos = trTrans.TransformPoint(localPos);
                Debug.DrawLine(perPos, worldPos, Color.green);
                perPos = worldPos;
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:绘制曲线

          本文链接:https://www.haomeiwen.com/subject/eofeuktx.html