1. 首页
  2. three.js

three.js子网格不显示

亲爱的Three.js-社区,n我正在使用GLTF加载程序将3D对象加载到我的项目中,但存在一个问题,即某些对象在添加到父对象时根本不显示。这对我来说是超级直观的,因为如果我使用不同的父对象,它有时会出现。n在我包含的最小示例中,我有三个对象。“Talonbody”应该是父对象,“Talonrotor”和“VruderLink”应该是它的子对象。问题是“VRuderlinks”只有在我将自身加载为父对象时才会出现。此外,即使它没有显示,我也可以记录位置,不会出现任何错误,并且总是得到我给出的位置。对于转子,我从来没有任何问题加载它。另外,在场景中添加“VRuderlinks”也没有问题。n我希望我描述的问题足够清楚,否则请告诉我。n提前感谢您的帮助,我将非常感谢!nminimal.zip(2.8MB)由Mugen87在post#2中解决,以代码的方式组合对象通常不是好方法。最好是在一个DCC工具(如Blender)中编写和合成对象,然后只导出一个glTF资产。请注意,可以为三维对象定义名称。然后可以像这样选择这些对象:var o..。n以这种方式在代码中组合对象通常不是好方法。最好是在一个DCC工具(如Blender)中编写和合成对象,然后只导出一个glTF资源。n注意,您可以为3D对象定义名称。然后可以像这样选择这些对象:nvar>nIn this way, you can select individual components and manipulate them. But the big advantage is that the initial transformations and hierarchy of the objects are correct (since you author this in Blender).nWhen reading your code, I have noticed two things:n- There is no need to create multiple instances of GLTFLoader。您可以使用一个加载程序加载所有三个资源。n- 您可以不按顺序触发加载。这意味着您将遇到竞争条件,因为有时meshtalon对象(父对象)将是未定义的,因为其他部分是先加载的。只能通过先加载平面主体,然后触发其他零件的加载过程来修复此问题。如果您只加载上面提到的单个资产,则可以完全避免整个问题。n Children mesh does not shown

three.js子网格不显示 为WP2原创文章,链接:https://www.wp2.cn/three-js/three-js%e5%ad%90%e7%bd%91%e6%a0%bc%e4%b8%8d%e6%98%be%e7%a4%ba/