<h5 dir="auto">Description of the problem</h5>
<p dir="auto">Currently when we want to change things inside a GLTF, for instance making meshes drop shadows, material props, etc, we have to do messy deep traversals.</p>
<p dir="auto">GLTF loader already returns scenes, cameras and assets, but looking though the source it still knows about nodes and materials internally. If this could be exposed it would be very efficient for us to make changes:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="new GLTFLoader().load(url, gltf =&gt; {
  gltf.materials[&quot;base&quot;].roughness = 0.5
  gltf.nodes[&quot;plane&quot;].castShadow = true
})"><pre class="notranslate"><span class="pl-k">new</span> <span class="pl-v">GLTFLoader</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">.</span><span class="pl-en">load</span><span class="pl-kos">(</span><span class="pl-s1">url</span><span class="pl-kos">,</span> <span class="pl-s1">gltf</span> <span class="pl-c1">=&gt;</span> <span class="pl-kos">{</span>
  <span class="pl-s1">gltf</span><span class="pl-kos">.</span><span class="pl-c1">materials</span><span class="pl-kos">[</span><span class="pl-s">"base"</span><span class="pl-kos">]</span><span class="pl-kos">.</span><span class="pl-c1">roughness</span> <span class="pl-c1">=</span> <span class="pl-c1">0.5</span>
  <span class="pl-s1">gltf</span><span class="pl-kos">.</span><span class="pl-c1">nodes</span><span class="pl-kos">[</span><span class="pl-s">"plane"</span><span class="pl-kos">]</span><span class="pl-kos">.</span><span class="pl-c1">castShadow</span> <span class="pl-c1">=</span> <span class="pl-c1">true</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span></pre></div>
<p dir="auto">i have made a <a href="https://github.com/react-spring/gltfjsx">tool for gltf-jsx exports</a> that does something similar, and i've started implementing the above variant in a test, it looks like this now:</p>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/2223602/73596350-ae603780-4521-11ea-81a3-92c28447aa8f.png"><img width="1272" alt="Screenshot 2020-02-01 at 18 35 42" src="https://user-images.githubusercontent.com/2223602/73596350-ae603780-4521-11ea-81a3-92c28447aa8f.png" style="max-width: 100%;"></a></p>
<p dir="auto">would it be possible to add these two collections officially to the gltf result?</p>
<h5 dir="auto">Description of the problem</h5>
<p dir="auto">I have a FBX model with several animations and for some reason each animation got a delay, like they are placed one after another (notice a duration here):</p>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/790659/65268023-ed679080-db1e-11e9-9c78-4696a32e44af.png"><img src="https://user-images.githubusercontent.com/790659/65268023-ed679080-db1e-11e9-9c78-4696a32e44af.png" alt="Screen Shot 2019-09-19 at 20 18 38" style="max-width: 100%;"></a></p>
<p dir="auto">I tried converting it with <code class="notranslate">fbx2gltf</code>, didn't succeeded to actually render it yet but at least timings look fine:<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/790659/65268211-59e28f80-db1f-11e9-987a-7a88e67a48f2.png"><img src="https://user-images.githubusercontent.com/790659/65268211-59e28f80-db1f-11e9-987a-7a88e67a48f2.png" alt="Screen Shot 2019-09-19 at 20 17 39" style="max-width: 100%;"></a></p>
<p dir="auto">Here's the model (pass: fbxbug):</p>
<p dir="auto"><a href="https://github.com/mrdoob/three.js/files/3632583/female.zip">female.zip</a></p>
<p dir="auto">And here's how one of animations looks like compared with Autodesk FBX Review:</p>
<p dir="auto"><a href="https://github.com/mrdoob/three.js/files/3632603/Screen.Recording.2019-09-19.at.19.44.06.zip">Screen Recording 2019-09-19 at 19.44.06.zip</a></p>
<h5 dir="auto">Three.js version</h5>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Dev</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> r108</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> ...</li>
</ul>
<h5 dir="auto">Browser</h5>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> All of them</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Chrome</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Firefox</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Internet Explorer</li>
</ul>
<h5 dir="auto">OS</h5>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> All of them</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Windows</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> macOS</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Linux</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Android</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> iOS</li>
</ul>
<h5 dir="auto">Hardware Requirements (graphics card, VR Device, ...)</h5>