使用 lookAt()时注意记录原始状态originalM=Mtrix3D.clone(3d.transform)

来源:互联网 发布:北京地铁辱骂 知乎 编辑:程序博客网 时间:2024/05/20 02:28

使用lookAt()后回到使用lookAt前的状态:

 

在做不同对象3d对象间的切换时(比如Sphere Cube) 注意要保存没有lookAt()时的  DisplayObject3D.transform :Matrix3D    状态!!

 

因为当你使用 lookAt以后 所有的localRotationXYZ都发生变化  你在这种情况下转化为其他3D对象 就要要用到localRotationXYZ 然而这时的localRotationXYZ发生偏转,也就是说这时候用localRotationXYZ并不会达到预期的效果!

 

为了使用localRotationXYZ来达到预期的效果 则需要还原原来lookAt之前的状态 这也是为什么要 originalM=Mtrix3D.clone(3d.transform)  的原因!

 

在进行转化其他3d对象时  我们先要进行还原  3d.transform= originalM

 

这样以后就可以正确偏转 localRotationXYZ

 

  也可以不保存 lookAt之前的状态! 那就是直接使用rotationXYZ

原创粉丝点击