```
updateMatrices: function () {
var pos = this.rootNode.getPosition();
for (var i = this.bones.length - 1; i >= 0; i--) {
this.matrices[i].mul2(this.bones[i].getWorldTransform(), this.skin.inverseBindPose[i]);
this.matrices[i].data[12] -= pos.x;
this.matrices[i].data[13] -= pos.y;
this.matrices[i].data[14] -= pos.z;
}
},
```

@contributers, why do we need to eliminate the rootNode’s position here, and uniform ‘skinPosOffset’ (rootNode’s world position) to shader? I mean why don’t we just make it simple (delete ‘skinPosOffset) as following code snippet’:

```
updateMatrices: function () {
for (var i = this.bones.length - 1; i >= 0; i--) {
this.matrices[i].mul2(this.bones[i].getWorldTransform(), this.skin.inverseBindPose[i]);
}
},
```