首页 > 编程知识 正文

unity怎么让人物动起来,unity控制物体移动代码

时间:2023-05-03 21:11:07 阅读:38589 作者:3740

Unity为了使用Lerp实现等速移动,使用Lerp差分值进行运算。 Lerp的第三个参数实际上是两个值差值的百分比,因此如果保留一个固定值,则值的变化速度会越来越慢。 结果,在某个路上,会渐渐慢下来。 我试着找了很多博客,但基本上实现是根据时间不同每次的百分比变化。 (

用可直接控制的百分比进行控制,根据Speed*Time.DeltaTime与该帧中物体从位置到目的地的距离之比,得到相对原速度的百分比,我想这样可以达到等速的目的。 然后,判断该帧的运行距离是否大于物体到目的地的距离,如果大,则将物体的位置设定为目的地的位置,如果不大,则使用差分值

using System.Collections; using system.collections.generic; 用户单元引擎; 公共类移动: mono behaviour { publiclisttransformpath; 索引=0; 公共浮动速度=2; 浮动帧速度=0;//每帧移动率void Start () (/updateiscalledonceperframevoidupdate ) ) if (索引=path.count ) return; framSpeed=Time.deltaTime * Speed; float dis=vector3. distance (transform.position,Path[Index].position ); 浮动进度=0; if (framspeeddis (transform.position=path [ index ].position; } else { pross=framSpeed/dis; transform.position=vector3. lerp (transform.position,Path[Index].position,pross ); } dis=vector3. distance (transform.position,Path[Index].position ); if(dis=0.1findexpath.count ) { Index; } }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。