# Rotate in thinInstanceSetBuffer

**URL:** https://forum.babylonjs.com/t/rotate-in-thininstancesetbuffer/13187
**Category:** Questions
**Created:** [August 7, 2020, 6:45am UTC](https://forum.babylonjs.com/t/rotate-in-thininstancesetbuffer/13187 "2020-08-07T06:45:47Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![Dshah\_H](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/dshah_h/32/3607_2.png) [@Dshah\_H](https://forum.babylonjs.com/u/Dshah_H)
#### Post date: [August 7, 2020, 6:45am UTC](https://forum.babylonjs.com/t/rotate-in-thininstancesetbuffer/13187/1 "2020-08-07T06:45:47Z")

</div>

with `createInstance` I was able to successfully rotate instance like:

```
var railingRight = _addInstance(railing, 'railingRight' + i, -80, 0, 20);
railingRight.rotate(BABYLON.Axis.Y, 1.57, BABYLON.Space.WORLD);
      
        var _addInstance = function (m, n, x, y, z) {
            var i = m.createInstance(n);
            i.position.x = x || 0;
            i.position.y = y || 0;
            i.position.z = z || 0;
            return i;
        }

```

how to rotate single box when using `thinInstanceSetBuffer`  
[https://www.babylonjs-playground.com/#2SHIQQ#1](https://www.babylonjs-playground.com/#2SHIQQ#1)

---

<div class="post-metadata">

### Author: ![Evgeni\_Popov](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/evgeni_popov/32/4432_2.png) [@Evgeni\_Popov](https://forum.babylonjs.com/u/Evgeni_Popov)
#### Post date: [August 7, 2020, 7:49am UTC](https://forum.babylonjs.com/t/rotate-in-thininstancesetbuffer/13187/2 "2020-08-07T07:49:22Z")

</div>

You have to create a new (or update an existing) matrix and update the buffer:

[https://www.babylonjs-playground.com/#2SHIQQ#2](https://www.babylonjs-playground.com/#2SHIQQ#2)

---

<div class="post-metadata">

### Author: ![Dshah\_H](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/dshah_h/32/3607_2.png) [@Dshah\_H](https://forum.babylonjs.com/u/Dshah_H)
#### Post date: [August 7, 2020, 10:35am UTC](https://forum.babylonjs.com/t/rotate-in-thininstancesetbuffer/13187/3 "2020-08-07T10:35:50Z")

</div>

Thank @Evgeni_Popov , so if I understood correctly

```
BABYLON.Matrix.Compose(scale, rot, trans).copyToArray(bufferMatrices, 0);

```

that `copyToArray` is updating an existing array indexes and also creating, so for example in this snippet [https://www.babylonjs-playground.com/#2SHIQQ#4](https://www.babylonjs-playground.com/#2SHIQQ#4)

I removed matrix1 and just used `Matrix.Compose` to create buffer, this way I am not calling multiple times,  
or this way too:  
[https://www.babylonjs-playground.com/#2SHIQQ#5](https://www.babylonjs-playground.com/#2SHIQQ#5)

is that correct?

---

<div class="post-metadata">

### Author: ![Evgeni\_Popov](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/evgeni_popov/32/4432_2.png) [@Evgeni\_Popov](https://forum.babylonjs.com/u/Evgeni_Popov)
#### Post date: [August 7, 2020, 12:05pm UTC](https://forum.babylonjs.com/t/rotate-in-thininstancesetbuffer/13187/4 "2020-08-07T12:05:53Z")

</div>

Yes it is.

A thin instance is simply a matrix that let you position your instance wherever you want.

---

<div class="post-metadata">

### Author: ![Dshah\_H](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/dshah_h/32/3607_2.png) [@Dshah\_H](https://forum.babylonjs.com/u/Dshah_H)
#### Post date: [August 7, 2020, 4:15pm UTC](https://forum.babylonjs.com/t/rotate-in-thininstancesetbuffer/13187/5 "2020-08-07T16:15:03Z")

</div>

Thank you for confirmation, such a wonderful community , happy to be here.
