three.js - 在场景中定位子对象(汽车 <-> 车轮层次结构)

标签 three.js webgl blender

我需要将汽车模型添加到场景中,并将车轮作为单独的对象,以便它们轻松旋转和可能的替换。问题是车轮的定位 - 它们需要位于相对于车身的精确位置。如何才能以正确的方式做到这一点?在 WebGL 演示和 TriggerRally 中,存在现有的车轮位置 - 它们是为 3D 场景预定义的 - 但如何实现呢?这些位置可以以某种方式映射到 Blender 模型坐标吗?

我尝试将一个轮子与车身分离,将枢轴点设置为其中心,保存坐标并将轮子网格添加到应用 Blender 位置的 Three.js 场景(当然是缩放的) - 但比例似乎不匹配。

我发现 OBJLoader 具有层次结构导入功能,但它不是核心的 Three.js 功能,因此我决定坚持使用 JSONLoader(我需要手动进行分组/层次结构)。

谢谢。

最佳答案

您可以尝试将所有汽车元素放置在不同的 THREE.Object3D 中,如下所示:

  1. 汽车型号
  2. 左前轮
  3. 右前轮
  4. 左后轮
  5. 左后轮

通过将每个元素添加到新的THREE.Object3D,您将为每个元素获得一个新的枢轴点(它将简化进一步的移动和旋转命令)。您必须记住根据元素的父元素设置正确的位置(THREE.Object3D)。

然后您只需将 2-5 添加到 1 中即可。

关于three.js - 在场景中定位子对象(汽车 <-> 车轮层次结构),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14353427/

相关文章:

three.js - 为什么 Three.js 几何体在处理大量数字时会失去精度?

javascript - Three.js无法使用Raycaster选择对象

javascript - ThreeJS - 房间内 - 深度

javascript - 如何在 WebGL 中沿 x 轴移动纹理?

javascript - Three.js作为网站背景可以吗?

javascript - 我可以在processing.js 上对 Three.js 进行后处理吗?

javascript - WebGL 纹理问题(奇怪的图形故障和映射问题)

json - Blender 导出的 JSON 模型在 THREE.js 中显示错误的动画

three.js - 将变形目标从 Blender 导出到 Three.js

python - 如何通过bpy.types获取具体的修饰符属性信息?