Math Unity3D中实体内线段的长度
我在Unity3D工作,我的处境如下:Math Unity3D中实体内线段的长度,math,3d,unity3d,formula,trigonometry,Math,3d,Unity3d,Formula,Trigonometry,我在Unity3D工作,我的处境如下: 我有(至少)3个游戏对象,A、B和C 我知道A,B和C的位置和旋转 我知道C的大小 我需要从A到B进行光线投射。这条光线穿过C,我需要知道C内线段的长度。使用三角形相似性标准,如果我在2D空间,我可以得到我想要的,但是: 我在一个3D空间里 草图中的矩形可以是球体、立方体或平行六面体 我需要使用光线投射方法而不是线投射,因为我需要获得更多关于我命中的实体的信息(实际上我使用的是光线投射方法) 在A和B之间可能有多个实体(多个Cs),我需要得到每个人的
- 我有(至少)3个游戏对象,A、B和C
- 我知道A,B和C的位置和旋转
- 我知道C的大小
- 我在一个3D空间里
- 草图中的矩形可以是球体、立方体或平行六面体
- 我需要使用光线投射方法而不是线投射,因为我需要获得更多关于我命中的实体的信息(实际上我使用的是光线投射方法)
- 在A和B之间可能有多个实体(多个Cs),我需要得到每个人的段长度
我可能没有正确理解这一点,因此这可能是不正确的。你能不能先用它,然后得到物体C的at和。用两个点作为矢量,你可以从另一个点中减去一个,或者使用。我认为,用旋转和位置来找到不同几何体的闭合公式会非常复杂。我建议坚持光线/线投射。此外,Quboid和spheres应该由unity有效地处理,如果这部分不是100%关键的,那么效率可能很难提高,而这是你的应用程序一直在做的唯一一件事。我还没有使用unity(现在),但根据linecast,还可以返回一个raycast命中类型。否则,你可以投两次,看看它的表现如何…谢谢你的回答!你能再解释一下吗?阅读Unity文档,光线投射似乎不能触发OnTiggerEnter/Exit回调。读了你写的东西后,我想到的是,我可以从一个不可见/透明的游戏对象发射到B,这将触发C上脚本中的上述回调,这样应该可以工作,但我不会在这里使用任何光线投射。我遗漏了什么吗?
物理学。光线投射应该能够触发对撞机。你的解释正是我的意思,除了它不是一个“看不见/透明的游戏对象”,而是一个光线投射。但是,如果我对光线投射触发器的理解有误,那么你可以做的就是检查光线投射是否命中了什么。如果是,并且某个东西是对象C,那么获取hit.point信息并以相同的方式使用它。我链接的文档有示例代码,这应该是一个很好的起点。再次感谢,我明天会尝试,我会让你知道的。