Sketchup允許使組件便於重用幾何。例如,可以將汽車車輪製成部件,並且可以將4個部件用於汽車的4個車輪。網格組不可見Three.JS ColladaLoader
的問題是如何把每個重新使用部件到它自己的單獨的THREE.Object3d實例(其然後可被旋轉,定位,...即,單獨控制)
即如何檢索每作爲4個單獨的THREE.Object3D實例的汽車的4個車輪。
爲此,我從sketchup中導出了一個DAE,並使用Three.js ColladaLoader加載它。但是,分組幾何不是由Three.js渲染的。相同dae內的未分組幾何呈現正常。
嘗試了一些解決方法,如將dae導入belnder,然後使用three.js blender exporter進一步導出爲.obj和JSON。有了這些解決方法,分組信息就會丟失。
我試圖挖掘ColladaLoader.js代碼來查看解決方案是否存在。
This stackoverflow question似乎相似(用於攪拌器而不是sketchup),並有一個答案,但答案不是我要找的。
順便說一句,DAE中分組和未分組幾何的一個例子可以在下面的代碼片段中看到。
<library_visual_scenes> <visual_scene id="ID1"> <node name="SketchUp"> <instance_geometry url="#ID19"> <!-- UN-GROUPED GEOMETRY --> <bind_material> <technique_common> <instance_material symbol="Material2" target="#ID6"> <bind_vertex_input semantic="UVSET0" input_semantic="TEXCOORD" input_set="0" /> </instance_material> </technique_common> </bind_material> </instance_geometry> <node id="ID2" name="wheel1"> <!-- A RE-USE OF A COMPONENT --> <matrix>1.0000000 0.0000000 0.0000000 7.0639700 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000</matrix> <instance_node url="#ID3" /> </node> </node> </visual_scene> </library_visual_scenes>
上面DAE片段顯示了僅重新使用的組件的。組件的實際幾何尺寸出現在012e的dae中。
</library_visual_scenes> <library_nodes> <node id="ID3" name="WheelComponent"> <instance_geometry url="#ID4"> <!-- GEOMETRY OF A GROUP (COMPONENT) --> <bind_material> <technique_common> ...
會明白任何幫助。