Unity之物体移动(点对点)

本文详细介绍了如何在Unity中实现3D物体从一点A移动到另一点B,通过具体的数学表达式和实例,阐述了如何利用向量运算完成点对点的移动,并解释了向量在实际应用中的方向意义,帮助读者理解物体移动的原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

角色的移动不难,难就难在你怎么去理解。网上有太多不负责任打着3d向量运算的旗号却只是谈论着理论上的知识,完全没有解释在unity中是如何运用的,所以,本篇着重讲解一下3d数学基础中的向量运算,由题入题式地揭开她的面纱,蹂躏她,践踏她,毫不费劲的搞定她。奋斗 我们得知其然也得知其所以然


既然说到由题入题,那么题目在哪里呢?别慌,听我娓娓道来


倘若,你想在unity里边实现一个角色(别名:player) 从角色当前点(A点)移动到某一个目的点(B点),你会怎么做?这里还得注意有个前提条件,A点和B点都是在同一平面上,之所以加上个这样的限定条件,是为了方便我们的讨论,二维坐标中的向量加减同样是适用于三维坐标.


好了,要实现上边的需求,你会怎么办?有的读者可能会说了,这好办呀,用一个插值运算不就好了,然后快速在update函数中写到:player.transform.position = Vector3.Lerp(player.tranform.position,des.transform.postion,t) 。很好,也很不错,但我很想说的是:虽然你知道参数一的含义,也知道参数二代表着什么,还勉强知道参数三t的是什么,同样还能知道返回值的意思,但你能用一个数学表达式去代表这个API?也就是lerp底层的算法是什么,其实很简洁,但并不简单。大神求飘过,不然都不能好好的装逼了吐舌头。 

讲到这里,那么我们的主旨也拉开了帷幕,先上一张图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值