在 Unity 中,可以使用 Raycasting 来计算各种测量值。例如直径、壁厚和宽度。一种方法是捕获用户在对象上的鼠标点击并使用 RaycastHits 来捕获鼠标在对象上点击的位置,然后根据所需的测量投射额外的光线。
如下所示:单击的壁厚为 0.0098、0.0096 和 0.0072。宽度为 0.0615、0.0611 和 0.060。直径为 0.0475。
尽管这些测量(被认为是)正确执行和计算,但尚不清楚结果如何转换为现实世界的测量单位。
这在第四张图片中得到了最好的证明和展示。在其他 CAD 程序(例如 NX)中检查相同的直径,直径为 0.4210" 或英寸。厚度和宽度也分别计算为 0.075244" 和 0.252872"。
那么,Unity中的结果(使用 Vector3.Distance 计算两点之间的距离产生的结果)如何转换为现实世界的测量单位?
谷歌搜索这个主题会得到一个常见的答案:Unity 的测量是“游戏单位”,可以根据需要使用。虽然我掌握了这一点,但我不明白如何将“游戏单位”或 Unity 真正的测量单位转换为我在 CAD 程序中看到的测量结果。
结果 (CAD x Unity):厚度:0.075244" x .0098、0.0096 和 0.0072。宽度:0.252872" x .0615、0.0611 和 0.060。直径:0.4210" x .0475
(注 1:Unity 和外部 CAD 程序中的模型比例相同。)
(注 2:厚度和宽度的轻微变化是由于 Unity 测量的结果是在 CAD 程序测量两个平面之间的距离时的角度,即 0.009x 和 0.06x。)
(注 3:忽略第二个视觉对象中不正确的宽度标签为“厚度”和所有 Unity 视觉对象中的英寸标签“,因为两者都不正确)。
https://i.stack.imgur.com/N1CMK.gif
https://i.stack.imgur.com/vSGtV.gif
https://i.stack.imgur.com/sd68C.gif
https://i.stack.imgur.com/7MM8S.png
慕姐8265434
相关分类