# \#instanced-mesh

**URL:** https://discourse.threejs.org/tag/instanced-mesh/680.md

[Latest](https://discourse.threejs.org/latest.md) · [Categories](https://discourse.threejs.org/categories.md) · [Tags](https://discourse.threejs.org/tags.md)

---

## [Zanpo, Virtual Cities demo](https://discourse.threejs.org/t/zanpo-virtual-cities-demo/87729)

<div class="topic-metadata">

**Author:** [@neurofuzzy](https://discourse.threejs.org/u/neurofuzzy)\
**Replies:** 4\
**Last updated:** [August 21, 2026, 11:52pm UTC](https://discourse.threejs.org/t/zanpo-virtual-cities-demo/87729 "2026-08-21T23:52:26Z")

</div>

Hi all! About 25 years ago I made a Flash-base website called Zanpo, Virtual Cities. It was all 2.5D isometric. I’m recreating the site in three.js and am having a blast. Check out the tech demo here!

---

## [Pool Set \[Balls + Cue\]](https://discourse.threejs.org/t/pool-set-balls-cue/91677)

<div class="topic-metadata">

**Author:** [@prisoner849](https://discourse.threejs.org/u/prisoner849)\
**Replies:** 3\
**Last updated:** [May 19, 2026, 6:21pm UTC](https://discourse.threejs.org/t/pool-set-balls-cue/91677 "2026-05-19T18:21:58Z")

</div>

Hi community! Based on this topic: Best billiard ball material? - #2 by prisoner849 Picture: Demo: https://codepen.io/prisoner849/full/KwNarLp

---

## [How to change the textures of each instance dynamically?](https://discourse.threejs.org/t/how-to-change-the-textures-of-each-instance-dynamically/63834)

<div class="topic-metadata">

**Author:** [@Vardan\_Betikyan](https://discourse.threejs.org/u/Vardan_Betikyan)\
**Replies:** 14\
**Last updated:** [May 8, 2026, 3:00am UTC](https://discourse.threejs.org/t/how-to-change-the-textures-of-each-instance-dynamically/63834 "2026-05-08T03:00:12Z")

</div>

I’m creating a game which is full of characters that are just a basic spheres. Each sphere has it’s own color, and a texture applied. Since there will be 100s of “characters” with around 20 textures that need to dynamica…

---

## [Grass Disappears on Mobile with InstancedMesh](https://discourse.threejs.org/t/grass-disappears-on-mobile-with-instancedmesh/77180)

<div class="topic-metadata">

**Author:** [@Ashutosh\_Tripathi](https://discourse.threejs.org/u/Ashutosh_Tripathi)\
**Replies:** 11\
**Last updated:** [April 25, 2026, 8:03am UTC](https://discourse.threejs.org/t/grass-disappears-on-mobile-with-instancedmesh/77180 "2026-04-25T08:03:04Z")

</div>

Hey folks, I made a grass field using InstancedMesh in R3F, taking inspiration from the grass field example in R3F (Grass shader - CodeSandbox). It works perfectly on desktop, but on mobile, the grass just disappears, a…

---

## [Is this a bug? Very different BoundingSphere values between Points and InstancedMesh objects, even though they are using the same point/instance locations](https://discourse.threejs.org/t/is-this-a-bug-very-different-boundingsphere-values-between-points-and-instancedmesh-objects-even-though-they-are-using-the-same-point-instance-locations/89715)

<div class="topic-metadata">

**Author:** [@torrent](https://discourse.threejs.org/u/torrent)\
**Replies:** 2\
**Last updated:** [February 8, 2026, 6:03pm UTC](https://discourse.threejs.org/t/is-this-a-bug-very-different-boundingsphere-values-between-points-and-instancedmesh-objects-even-though-they-are-using-the-same-point-instance-locations/89715 "2026-02-08T18:03:56Z")

</div>

In three.js, I have a Points object and an InstancedMesh object. They both contain points/instances at the following locations: const pointsData = \[ { x: -7505.97314453125, y: 182.7720489501953, z: 6319.98291015625 },…

---

## [Will there ever be a "material.instancePositionNode" node?](https://discourse.threejs.org/t/will-there-ever-be-a-material-instancepositionnode-node/89461)

<div class="topic-metadata">

**Author:** [@torrent](https://discourse.threejs.org/u/torrent)\
**Replies:** 1\
**Last updated:** [January 27, 2026, 4:13pm UTC](https://discourse.threejs.org/t/will-there-ever-be-a-material-instancepositionnode-node/89461 "2026-01-27T16:13:41Z")

</div>

@Mugen87 @sunag I regularly see devs in the three.js community asking for a way to either directly access the instance matrix in TSL for an instance in an InstancedMesh, or simply just the ability to access positionLoca…

---

## [instanceMatrix in TSL // webGPU in vertexNode](https://discourse.threejs.org/t/instancematrix-in-tsl-webgpu-in-vertexnode/87359)

<div class="topic-metadata">

**Author:** [@dghez](https://discourse.threejs.org/u/dghez)\
**Replies:** 7\
**Last updated:** [January 27, 2026, 2:19am UTC](https://discourse.threejs.org/t/instancematrix-in-tsl-webgpu-in-vertexnode/87359 "2026-01-27T02:19:15Z")

</div>

Hey there! I’m experimenting with TSL and instancedMesh and i’m kinda lost on how to get the instanceMatrix for each element when i replace the entire vertexNode Somehow now i’m doing const instMat = buffer(this.insta…

---

## [Fragment Shader Artifacts with Instance Mesh](https://discourse.threejs.org/t/fragment-shader-artifacts-with-instance-mesh/86642)

<div class="topic-metadata">

**Author:** [@sjadamek](https://discourse.threejs.org/u/sjadamek)\
**Replies:** 3\
**Last updated:** [September 4, 2025, 8:04pm UTC](https://discourse.threejs.org/t/fragment-shader-artifacts-with-instance-mesh/86642 "2025-09-04T20:04:21Z")

</div>

Hi All, I have project (using three.js 178) where I am using InstancedMeshes for all meshes and shaders to perform attribute adjustments for a specific instance when needed. One object I’ve created is a bidirectional ar…

---

## [Three.js Project: Generative 3D Art (encore)](https://discourse.threejs.org/t/three-js-project-generative-3d-art-encore/86503)

<div class="topic-metadata">

**Author:** [@robotbobby](https://discourse.threejs.org/u/robotbobby)\
**Replies:** 1\
**Last updated:** [August 26, 2025, 11:10pm UTC](https://discourse.threejs.org/t/three-js-project-generative-3d-art-encore/86503 "2025-08-26T23:10:55Z")

</div>

---

## [What does calling InstancedMesh.computeBoundingBox() actually do?](https://discourse.threejs.org/t/what-does-calling-instancedmesh-computeboundingbox-actually-do/86514)

<div class="topic-metadata">

**Author:** [@torrent](https://discourse.threejs.org/u/torrent)\
**Replies:** 2\
**Last updated:** [August 25, 2025, 5:31am UTC](https://discourse.threejs.org/t/what-does-calling-instancedmesh-computeboundingbox-actually-do/86514 "2025-08-25T05:31:23Z")

</div>

Here is the description for InstancedMesh.computeBoundingBox(): InstancedMesh.computeBoundingBox() Computes the bounding box of the instanced mesh, and updates InstancedMesh.boundingBox. The bounding box is not automa…

---

## ["lookat" / "billboard" vertex shader for InstancedMesh instances?](https://discourse.threejs.org/t/lookat-billboard-vertex-shader-for-instancedmesh-instances/86227)

<div class="topic-metadata">

**Author:** [@torrent](https://discourse.threejs.org/u/torrent)\
**Replies:** 7\
**Last updated:** [August 16, 2025, 11:54pm UTC](https://discourse.threejs.org/t/lookat-billboard-vertex-shader-for-instancedmesh-instances/86227 "2025-08-16T23:54:41Z")

</div>

I have a large InstancedMesh object with many simple geometry instances. I would like to write a vertex shader in TSL that makes each instance always face the camera, like billboard sprites do. The following TSL node wo…

---

## [What is the BEST way to render thousands of foliage meshes? See screenshot](https://discourse.threejs.org/t/what-is-the-best-way-to-render-thousands-of-foliage-meshes-see-screenshot/86072)

<div class="topic-metadata">

**Author:** [@torrent](https://discourse.threejs.org/u/torrent)\
**Replies:** 1\
**Last updated:** [August 10, 2025, 5:49pm UTC](https://discourse.threejs.org/t/what-is-the-best-way-to-render-thousands-of-foliage-meshes-see-screenshot/86072 "2025-08-10T17:49:12Z")

</div>

I am working on a three.js project with multiplayer networking. It’s open world survival, using the Rapier.js physics engine. I have optimized the hell out of everything I can think of. I am aggressively using Instanced…

---

## [\< Our brand-new website \> ohzi.io 🧊 lots of shaders and cool effects](https://discourse.threejs.org/t/our-brand-new-website-ohzi-io-lots-of-shaders-and-cool-effects/31480)

<div class="topic-metadata">

**Author:** [@tinotibaldo](https://discourse.threejs.org/u/tinotibaldo)\
**Replies:** 16\
**Last updated:** [June 10, 2025, 3:11pm UTC](https://discourse.threejs.org/t/our-brand-new-website-ohzi-io-lots-of-shaders-and-cool-effects/31480 "2025-06-10T15:11:51Z")

</div>

Hi there, this is the link https://ohzi.io We’re about to release our new website build almost entirely with ThreeJS. We have used A LOT of different techniques when building it and paid a lot of attention to it being…

---

## [Sprite Instancing with UV mapping](https://discourse.threejs.org/t/sprite-instancing-with-uv-mapping/17234)

<div class="topic-metadata">

**Author:** [@obsius](https://discourse.threejs.org/u/obsius)\
**Replies:** 6\
**Last updated:** [May 8, 2025, 1:35am UTC](https://discourse.threejs.org/t/sprite-instancing-with-uv-mapping/17234 "2025-05-08T01:35:13Z")

</div>

I have a quick question since my understanding of instancing is not aligned with what I’m seeing happen. Some background, I have been using canvases as the underlying source for sprite text labels, and this works really…

---

## [Why does the renderer drop frames even though the main thread is idle?](https://discourse.threejs.org/t/why-does-the-renderer-drop-frames-even-though-the-main-thread-is-idle/81532)

<div class="topic-metadata">

**Author:** [@mushayin](https://discourse.threejs.org/u/mushayin)\
**Replies:** 0\
**Last updated:** [April 23, 2025, 10:13am UTC](https://discourse.threejs.org/t/why-does-the-renderer-drop-frames-even-though-the-main-thread-is-idle/81532 "2025-04-23T10:13:29Z")

</div>

When I use three.js webgl - instancing - performance to test instanceMesh and I noticed that, see the picture.

---

## [\[Performance\] Optimizing 3M Instanced Grass in Three.js](https://discourse.threejs.org/t/performance-optimizing-3m-instanced-grass-in-three-js/81286)

<div class="topic-metadata">

**Author:** [@wildy13](https://discourse.threejs.org/u/wildy13)\
**Replies:** 9\
**Last updated:** [April 16, 2025, 9:59am UTC](https://discourse.threejs.org/t/performance-optimizing-3m-instanced-grass-in-three-js/81286 "2025-04-16T09:59:11Z")

</div>

Hi all, I’ve read many threads in this forum about grass rendering in Three.js, but I still don’t fully understand how to achieve good performance. Currently, I have: 1 million grass blades, using InstancedMesh my pl…

---

## [Ray intersection on instencedMesh that has multiple morph targets](https://discourse.threejs.org/t/ray-intersection-on-instencedmesh-that-has-multiple-morph-targets/81181)

<div class="topic-metadata">

**Author:** [@Polcsi](https://discourse.threejs.org/u/Polcsi)\
**Replies:** 1\
**Last updated:** [April 14, 2025, 5:13pm UTC](https://discourse.threejs.org/t/ray-intersection-on-instencedmesh-that-has-multiple-morph-targets/81181 "2025-04-14T17:13:10Z")

</div>

I would like to create an instancedMesh that can handle morphing. I need morph targets because each instance should have different shape so morph targets seems handy. Also each instance should detect rays because I need …

---

## [Use array of material(Same material) on InstancedMesh and change some material later to change the behaviour with light (Not to get and cast shadow)](https://discourse.threejs.org/t/use-array-of-material-same-material-on-instancedmesh-and-change-some-material-later-to-change-the-behaviour-with-light-not-to-get-and-cast-shadow/80876)

<div class="topic-metadata">

**Author:** [@Abhishek\_Chokra](https://discourse.threejs.org/u/Abhishek_Chokra)\
**Replies:** 1\
**Last updated:** [April 8, 2025, 1:26pm UTC](https://discourse.threejs.org/t/use-array-of-material-same-material-on-instancedmesh-and-change-some-material-later-to-change-the-behaviour-with-light-not-to-get-and-cast-shadow/80876 "2025-04-08T13:26:07Z")

</div>

Hi Community, So, I’m trying to create an InstancedMesh by giving array of materials. Size of array is same as size of InstancedMesh. There is no texture visible on canvas it is just transparent with no errors. The age…

---

## [Smoke Effect - InstancedMesh2](https://discourse.threejs.org/t/smoke-effect-instancedmesh2/80341)

<div class="topic-metadata">

**Author:** [@agargaro](https://discourse.threejs.org/u/agargaro)\
**Replies:** 0\
**Last updated:** [March 29, 2025, 3:50pm UTC](https://discourse.threejs.org/t/smoke-effect-instancedmesh2/80341 "2025-03-29T15:50:12Z")

</div>

Hi! I used my InstancedMesh2 library to create a simple smoke effect. It was easy using the API to set opacity/add/remove instances :rocket: I hope the code is clear and easy to read :heart: Demo: Welcome to Instanc…

---

## [Any benefit for setting up InstancedMesh for low number of meshes](https://discourse.threejs.org/t/any-benefit-for-setting-up-instancedmesh-for-low-number-of-meshes/78573)

<div class="topic-metadata">

**Author:** [@electric.cicada](https://discourse.threejs.org/u/electric.cicada)\
**Replies:** 2\
**Last updated:** [February 24, 2025, 8:15pm UTC](https://discourse.threejs.org/t/any-benefit-for-setting-up-instancedmesh-for-low-number-of-meshes/78573 "2025-02-24T20:15:53Z")

</div>

Hi, I couldn’t find a definitive answer for this and even a short argument with Claude 3.5 couldn’t fully convince me yet :slight\_smile: So, I have \<5 spheres with different 2K textures, would it make any sense to creat…

---

## [Vertex shader to prevent instances to be affected by camera zoom and rotation](https://discourse.threejs.org/t/vertex-shader-to-prevent-instances-to-be-affected-by-camera-zoom-and-rotation/77185)

<div class="topic-metadata">

**Author:** [@kikedao](https://discourse.threejs.org/u/kikedao)\
**Replies:** 10\
**Last updated:** [January 31, 2025, 12:14pm UTC](https://discourse.threejs.org/t/vertex-shader-to-prevent-instances-to-be-affected-by-camera-zoom-and-rotation/77185 "2025-01-31T12:14:47Z")

</div>

Hi all! I’m using InstancedMesh and BatchedMesh to display thousands (even dozens/hundreds of thousands) of labels I use for the UI of my project. To be able to use them as intended I need them to look always the same …

---

## [How to instance Floor Plank in Procedural Floor component](https://discourse.threejs.org/t/how-to-instance-floor-plank-in-procedural-floor-component/76147)

<div class="topic-metadata">

**Author:** [@kalabedo](https://discourse.threejs.org/u/kalabedo)\
**Replies:** 7\
**Last updated:** [January 8, 2025, 8:27am UTC](https://discourse.threejs.org/t/how-to-instance-floor-plank-in-procedural-floor-component/76147 "2025-01-08T08:27:20Z")

</div>

Hi there, i built this procedural Floor component (https://codesandbox.io/p/sandbox/floorprocedural-j7s5n3). It works as intended, but i cannot get Instancing to work. Right now, there are too many draw calls. So i tri…

---

## [Very low Fps when mouse over models in r3f](https://discourse.threejs.org/t/very-low-fps-when-mouse-over-models-in-r3f/75295)

<div class="topic-metadata">

**Author:** [@Roller\_Roman](https://discourse.threejs.org/u/Roller_Roman)\
**Replies:** 5\
**Last updated:** [December 19, 2024, 7:30am UTC](https://discourse.threejs.org/t/very-low-fps-when-mouse-over-models-in-r3f/75295 "2024-12-19T07:30:22Z")

</div>

Hello, I’m now using React three fiber to create several boxes, and in each box there are about 12 models, these models are instanced with gltfjsx. The problem is that when I put my mouse onto these models in boxes, the…

---

## [Disable rendering of certain InstancedMesh and BatchedMesh instances](https://discourse.threejs.org/t/disable-rendering-of-certain-instancedmesh-and-batchedmesh-instances/75261)

<div class="topic-metadata">

**Author:** [@kikedao](https://discourse.threejs.org/u/kikedao)\
**Replies:** 2\
**Last updated:** [December 17, 2024, 2:27pm UTC](https://discourse.threejs.org/t/disable-rendering-of-certain-instancedmesh-and-batchedmesh-instances/75261 "2024-12-17T14:27:19Z")

</div>

Hi all! I have the following problem: My app renders a graph that can have many nodes/symbols. Let’s say more than 200k. To render it I use InstancedMesh and BatchedMesh (BatchedMesh for the links between symbols). Be…

---

## [InstancedMesh with instances having different polygonOffsetFactors?](https://discourse.threejs.org/t/instancedmesh-with-instances-having-different-polygonoffsetfactors/74056)

<div class="topic-metadata">

**Author:** [@Gaurav\_D\_Kale](https://discourse.threejs.org/u/Gaurav_D_Kale)\
**Replies:** 10\
**Last updated:** [November 21, 2024, 3:33am UTC](https://discourse.threejs.org/t/instancedmesh-with-instances-having-different-polygonoffsetfactors/74056 "2024-11-21T03:33:20Z")

</div>

I’m wondering if it’s possible to create a material for an InstancedMesh that has an additional buffer attribute to allow different polygonOffsetFactors and polygonOffsetUnits? I’m not at all familiar with how materials …

---

## [Is it possible to set varying opacity for objects inside a InstancedMesh (filled with BoxBufferGeometry + MeshPongMaterial cubes)](https://discourse.threejs.org/t/is-it-possible-to-set-varying-opacity-for-objects-inside-a-instancedmesh-filled-with-boxbuffergeometry-meshpongmaterial-cubes/19181)

<div class="topic-metadata">

**Author:** [@cyfrost](https://discourse.threejs.org/u/cyfrost)\
**Replies:** 8\
**Last updated:** [November 4, 2024, 10:12am UTC](https://discourse.threejs.org/t/is-it-possible-to-set-varying-opacity-for-objects-inside-a-instancedmesh-filled-with-boxbuffergeometry-meshpongmaterial-cubes/19181 "2024-11-04T10:12:27Z")

</div>

Hi, I’m learning Three.js and have built a very basic scene with a 4x4 cubes arranged into a grid like layout (much like the example here: https://threejs.org/examples/?q=instancing#webgl\_instancing\_raycast, except it’s …

---

## [Render big amounts of box geometries with instanced mesh](https://discourse.threejs.org/t/render-big-amounts-of-box-geometries-with-instanced-mesh/72948)

<div class="topic-metadata">

**Author:** [@ayypls](https://discourse.threejs.org/u/ayypls)\
**Replies:** 5\
**Last updated:** [October 21, 2024, 8:35am UTC](https://discourse.threejs.org/t/render-big-amounts-of-box-geometries-with-instanced-mesh/72948 "2024-10-21T08:35:51Z")

</div>

I need to render big amount of simple static BoxGeometries, positions of geometries are parsed from local file, every line represents block area id(something like chunk id), position and scale (width, height, depth). th…

---

## [How to export GLB scene objects from Blender to InstancedMesh](https://discourse.threejs.org/t/how-to-export-glb-scene-objects-from-blender-to-instancedmesh/73011)

<div class="topic-metadata">

**Author:** [@Toby](https://discourse.threejs.org/u/Toby)\
**Replies:** 4\
**Last updated:** [October 21, 2024, 4:06am UTC](https://discourse.threejs.org/t/how-to-export-glb-scene-objects-from-blender-to-instancedmesh/73011 "2024-10-21T04:06:36Z")

</div>

I have a bunch objects like this in my Blender scene (2 materials, 2 objects for each pipe). Right now, they are just normal mesh that I copied over and over. I wonder what is the known practice to export them and use th…

---

## [Best way to do Instanced Mesh picking in 2024?](https://discourse.threejs.org/t/best-way-to-do-instanced-mesh-picking-in-2024/59917)

<div class="topic-metadata">

**Author:** [@theahura](https://discourse.threejs.org/u/theahura)\
**Replies:** 14\
**Last updated:** [October 18, 2024, 3:49am UTC](https://discourse.threejs.org/t/best-way-to-do-instanced-mesh-picking-in-2024/59917 "2024-10-18T03:49:25Z")

</div>

Hey folks! I am working on a project where I am rendering thousands to tens of thousands of images simultaneously using an instanced mesh. The instanced mesh has a vertex shader on it that effectively moves all of the a…

---

## [Three js InstancedMesh issue when using WebGpu renderer](https://discourse.threejs.org/t/three-js-instancedmesh-issue-when-using-webgpu-renderer/71219)

<div class="topic-metadata">

**Author:** [@Gnan\_Sai](https://discourse.threejs.org/u/Gnan_Sai)\
**Replies:** 1\
**Last updated:** [September 26, 2024, 12:05pm UTC](https://discourse.threejs.org/t/three-js-instancedmesh-issue-when-using-webgpu-renderer/71219 "2024-09-26T12:05:16Z")

</div>

I am using InstancedMesh with WebGpu. https://threejs.org/examples/?q=instance#webgpu\_instance\_mesh Changing InstancedMesh count throws error with WebGPU. total = 10000; mesh = new THREE.InstancedMesh( geometry, mat…

[Next page](https://discourse.threejs.org/tag/instanced-mesh/680.md?match_all_tags=true&page=1&tags%5B%5D=instanced-mesh)
