<p dir="auto">if you load a gltf model with some skinned animation and then try to clone that mesh - you will find yourself in a bit of a pickle!</p>
<p dir="auto">Skinned geometry loaded with GLTF has no "bones" property, which is expected by "SkinnedMesh", see:<br>
</p><div class="Box Box--condensed my-2">
  <div class="Box-header f6">
    <p class="mb-0 text-bold">
      <a href="https://github.com/mrdoob/three.js/blob/17264b950a70d7c9db097c03797b6be77adf94b3/src/objects/SkinnedMesh.js#L38-L47">three.js/src/objects/SkinnedMesh.js</a>
    </p>
    <p class="mb-0 color-fg-muted">
        Lines 38 to 47
      in
      <a data-pjax="true" class="commit-tease-sha" href="/mrdoob/three.js/commit/17264b950a70d7c9db097c03797b6be77adf94b3">17264b9</a>
    </p>
  </div>
  <div itemprop="text" class="Box-body p-0 blob-wrapper blob-wrapper-embedded data">
    <table class="highlight tab-size mb-0 js-file-line-container" data-tab-size="8" data-paste-markdown-skip="">

        <tbody><tr class="border-0">
          <td id="L38" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="38"></td>
          <td id="LC38" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line"> <span class="pl-en">initBones</span>: <span class="pl-k">function</span> <span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span> </td>
        </tr>

        <tr class="border-0">
          <td id="L39" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="39"></td>
          <td id="LC39" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">  </td>
        </tr>

        <tr class="border-0">
          <td id="L40" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="40"></td>
          <td id="LC40" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line"> 	<span class="pl-k">var</span> <span class="pl-s1">bones</span> <span class="pl-c1">=</span> <span class="pl-kos">[</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-s1">bone</span><span class="pl-kos">,</span> <span class="pl-s1">gbone</span><span class="pl-kos">;</span> </td>
        </tr>

        <tr class="border-0">
          <td id="L41" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="41"></td>
          <td id="LC41" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line"> 	<span class="pl-k">var</span> <span class="pl-s1">i</span><span class="pl-kos">,</span> <span class="pl-s1">il</span><span class="pl-kos">;</span> </td>
        </tr>

        <tr class="border-0">
          <td id="L42" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="42"></td>
          <td id="LC42" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">  </td>
        </tr>

        <tr class="border-0">
          <td id="L43" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="43"></td>
          <td id="LC43" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line"> 	<span class="pl-k">if</span> <span class="pl-kos">(</span> <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">geometry</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">geometry</span><span class="pl-kos">.</span><span class="pl-c1">bones</span> <span class="pl-c1">!==</span> <span class="pl-c1">undefined</span> <span class="pl-kos">)</span> <span class="pl-kos">{</span> </td>
        </tr>

        <tr class="border-0">
          <td id="L44" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="44"></td>
          <td id="LC44" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">  </td>
        </tr>

        <tr class="border-0">
          <td id="L45" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="45"></td>
          <td id="LC45" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line"> 		<span class="pl-c">// first, create array of 'Bone' objects from geometry data</span> </td>
        </tr>

        <tr class="border-0">
          <td id="L46" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="46"></td>
          <td id="LC46" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">  </td>
        </tr>

        <tr class="border-0">
          <td id="L47" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="47"></td>
          <td id="LC47" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line"> 		<span class="pl-k">for</span> <span class="pl-kos">(</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span><span class="pl-kos">,</span> <span class="pl-s1">il</span> <span class="pl-c1">=</span> <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">geometry</span><span class="pl-kos">.</span><span class="pl-c1">bones</span><span class="pl-kos">.</span><span class="pl-c1">length</span><span class="pl-kos">;</span> <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">il</span><span class="pl-kos">;</span> <span class="pl-s1">i</span> <span class="pl-c1">++</span> <span class="pl-kos">)</span> <span class="pl-kos">{</span> </td>
        </tr>
    </tbody></table>
  </div>
</div>
<p></p>
<p dir="auto">so you'll end up with a skinned mesh, alright, but your character will have no spine! ..or any other bones for that matter. From my experience - the mesh will not render at all as a result.</p>
<h5 dir="auto">Description of the problem</h5>
<p dir="auto">GLTF2 models that are clones do not displayed correctly. This is for a number of reasons</p>
<ul dir="auto">
<li>the onBeforeRender callback is not copied</li>
<li>GLTFShader is not cloned across</li>
<li>SkinnedModel skeleton is reinitialised to 0 bones and the source skinnedmodel skeleton is not cloned</li>
</ul>
<p dir="auto"><a href="http://jsfiddle.net/mn768h35/" rel="nofollow">http://jsfiddle.net/mn768h35/</a></p>
<h5 dir="auto">Three.js version</h5>
<ul class="contains-task-list">
<li>[X ] Dev</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> r85</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>