首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何得到与平台平行的方向矢量?

如何得到与平台平行的方向矢量?
EN

Stack Overflow用户
提问于 2021-12-27 14:22:58
回答 1查看 100关注 0票数 1

我想把obj推到站台的边缘。推力来自于平台的中心。该平台可以旋转或移动,因此可以改变其旋转和位置。

所以我所需要的是平行于平台的方向向量,而不管obj和平台的位置和旋转。

我怎么才能得到这个方向向量?请帮帮我..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-27 14:53:02

猜测从平面上移动物体位置的高度,以及平面位置的位置是已知的,所以找到一些很酷的伪码。请记住,dotProduct是一个矢量在其他方向上的投影,所以,在平面的法线上推进的物体的高度是:

Vector3 objHeightProyectedInPlaneNormal = Vector3.Dot((planePos - ObjPos), yourPlaneNormal);

绿色箭头显示objHeightProyectedInPlaneNormal

该向量的模从平面原点向上,或者更容易地将该向量的和加到平面位置,应该给出推方向原点的位置:

Vector3 pushDirOrigin = planePos + objHeightProyectedInPlaneNormal

绿色pushDirOrigin圆角

有了你的目标位置和推源,你就有了你的方向:

Vector3 pusDir = (ObjPos - pushOrigin).normalized

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70496705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档