浏览代码

fix issue with tmp quaternion used by billboards

David Catuhe 8 年之前
父节点
当前提交
d220acacfe

文件差异内容过多而无法显示
+ 2 - 2
dist/preview release/babylon.core.js


文件差异内容过多而无法显示
+ 2036 - 2036
dist/preview release/babylon.d.ts


文件差异内容过多而无法显示
+ 3 - 3
dist/preview release/babylon.js


文件差异内容过多而无法显示
+ 12 - 12
dist/preview release/babylon.max.js


文件差异内容过多而无法显示
+ 2036 - 2036
dist/preview release/babylon.module.d.ts


文件差异内容过多而无法显示
+ 2 - 2
dist/preview release/babylon.noworker.js


+ 7 - 7
src/Mesh/babylon.abstractMesh.ts

@@ -884,20 +884,20 @@
                     Tmp.Matrix[0].decompose(scale, rotation, translation);
 
                     var finalQuaternion = Tmp.Quaternion[1];
-                    finalQuaternion.w = rotation.w;
-                    if ((this.billboardMode & AbstractMesh.BILLBOARDMODE_X) === AbstractMesh.BILLBOARDMODE_X)
+                    finalQuaternion.copyFrom(rotation);
+                    if ((this.billboardMode & AbstractMesh.BILLBOARDMODE_X) !== AbstractMesh.BILLBOARDMODE_X)
                     {
-                        finalQuaternion.x = rotation.x;
+                        finalQuaternion.x = 0;
                     }
                     
-                    if ((this.billboardMode & AbstractMesh.BILLBOARDMODE_Y) === AbstractMesh.BILLBOARDMODE_Y)
+                    if ((this.billboardMode & AbstractMesh.BILLBOARDMODE_Y) !== AbstractMesh.BILLBOARDMODE_Y)
                     {
-                        finalQuaternion.y = rotation.y;
+                        finalQuaternion.y = 0;
                     }
                     
-                    if ((this.billboardMode & AbstractMesh.BILLBOARDMODE_Z) === AbstractMesh.BILLBOARDMODE_Z)
+                    if ((this.billboardMode & AbstractMesh.BILLBOARDMODE_Z) !== AbstractMesh.BILLBOARDMODE_Z)
                     {
-                        finalQuaternion.z = rotation.z;
+                        finalQuaternion.z = 0;
                     }
  
                     Matrix.ComposeToRef(scale, finalQuaternion, translation, Tmp.Matrix[0]);