Skip to content

Commit dcb4e86

Browse files
committed
fix: simple skin animator instance
1 parent 80a2192 commit dcb4e86

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/layaAir/laya/RenderDriver/WebGLDriver/3DRenderPass/WebGLInstanceRenderElement3D.ts

+5-3
Original file line numberDiff line numberDiff line change
@@ -183,14 +183,16 @@ export class WebGLInstanceRenderElement3D extends WebGLRenderElement3D implement
183183
}
184184
case BaseRenderType.SimpleSkinRender: {
185185
//worldMatrix
186-
let worldMatrixData = this.addUpdateData(this._instanceStateInfo.worldInstanceVB, 16, WebGLInstanceRenderElement3D.MaxInstanceCount);
186+
let worldMatrixData = this.addUpdateData(this._instanceStateInfo.worldInstanceVB, 20, WebGLInstanceRenderElement3D.MaxInstanceCount);
187187
var insBatches = this.instanceElementList;
188188
var elements: WebGLRenderElement3D[] = insBatches.elements;
189189
var count: number = insBatches.length;
190190
this.drawCount = count;
191191
this.geometry.instanceCount = this.drawCount;
192-
for (var i: number = 0; i < count; i++)
193-
worldMatrixData.set(elements[i].transform.worldMatrix.elements, i * 16);
192+
for (var i: number = 0; i < count; i++) {
193+
worldMatrixData.set(elements[i].transform.worldMatrix.elements, i * 20);
194+
elements[i].owner._worldParams.writeTo(worldMatrixData, i * 20 + 16);
195+
}
194196
//simpleAnimationData
195197
let simpleAnimatorData = this.addUpdateData(this._instanceStateInfo.simpleAnimatorVB, 4, WebGLInstanceRenderElement3D.MaxInstanceCount);
196198
for (var i: number = 0; i < count; i++) {

0 commit comments

Comments
 (0)