# How to batch skinned mesh?

**URL:** <https://discourse.threejs.org/t/how-to-batch-skinned-mesh/30348>\
**Category:** Questions\
**Tags:** skinned-mesh, batching, performance\
**Created:** [September 29, 2021, 7:11am UTC](https://discourse.threejs.org/t/how-to-batch-skinned-mesh/30348 "2021-09-29T07:11:18Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![bhushan6](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/bhushan6/32/19074_2.png) [@bhushan6](https://discourse.threejs.org/u/bhushan6)\
**Post date:** [September 29, 2021, 7:11am UTC](https://discourse.threejs.org/t/how-to-batch-skinned-mesh/30348/1 "2021-09-29T07:11:18Z")

</div>

I wanna render same models with skinned meshes multiple time. and usually to optimize same mesh we can use instanced mesh but since it is skinned mesh with animation how can batch these model in single draw call? I did not see any solution for such case. Does anyone have a example demonstrating it? Please guide me since I am using skinned mesh model for first time  
Also if you have resoures for understanding skinned meshes, please share. I have no idea how it wiorks or how there are different that simple meshes and why its so hard to batch them together. Id like to know

Thanks

---

<div class="post-metadata">

**Author:** ![Qiumeng12](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/qiumeng12/32/19371_2.png) [@Qiumeng12](https://discourse.threejs.org/u/Qiumeng12)\
**Post date:** [September 29, 2021, 7:32am UTC](https://discourse.threejs.org/t/how-to-batch-skinned-mesh/30348/2 "2021-09-29T07:32:38Z")

</div>

[[three.js docs](https://threejs.org/docs/index.html#examples/zh/utils/SkeletonUtils)]

```javascript
SkeletonUtils.clone(model)

```

you can try this method.

---

<div class="post-metadata">

**Author:** ![bhushan6](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/bhushan6/32/19074_2.png) [@bhushan6](https://discourse.threejs.org/u/bhushan6)\
**Post date:** [September 29, 2021, 8:51am UTC](https://discourse.threejs.org/t/how-to-batch-skinned-mesh/30348/4 "2021-09-29T08:51:59Z")

</div>

it will not reduce the draw calls, will it??

---

<div class="post-metadata">

**Author:** ![Jack1](https://avatars.discourse-cdn.com/v4/letter/j/2bfe46/32.png) [@Jack1](https://discourse.threejs.org/u/Jack1)\
**Post date:** [January 21, 2022, 3:16pm UTC](https://discourse.threejs.org/t/how-to-batch-skinned-mesh/30348/5 "2022-01-21T15:16:32Z")

</div>

- I do not believe that SkeletonUtils.clone(model) does anything to the draw calls. I use SkeletonUtils.clone(model) to clone skinned meshes, but it does not have anything to do with taking the skinned meshes that do exist and instancing them to only use one draw call.

- I am looking for solutions for instancing skinned meshes as well, and I am going to try to get the InstancedBufferGeometry or Instanced Mesh to work with animations on my own if my idea even works.

---

<div class="post-metadata">

**Author:** ![Chaser\_Code](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/chaser_code/32/20199_2.png) [@Chaser\_Code](https://discourse.threejs.org/u/Chaser_Code)\
**Post date:** [January 21, 2022, 4:00pm UTC](https://discourse.threejs.org/t/how-to-batch-skinned-mesh/30348/6 "2022-01-21T16:00:34Z")

</div>

Will not reduce the draw calls. [three.js examples](https://threejs.org/examples/#webgl_animation_multiple)

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/threejs/original/3X/4/4/44fa76d63fcff7fb1f26998d93c42e0326f02103.jpeg)

---

<div class="post-metadata">

**Author:** ![prisoner849](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/prisoner849/32/535_2.png) [@prisoner849](https://discourse.threejs.org/u/prisoner849)\
**Post date:** [January 21, 2022, 4:08pm UTC](https://discourse.threejs.org/t/how-to-batch-skinned-mesh/30348/7 "2022-01-21T16:08:39Z")

</div>

> [@Jack1](#):
>
> solutions for instancing skinned meshes

Something like this? [three.js examples](https://threejs.org/examples/?q=birds#webgl_gpgpu_birds_gltf)
