|
@@ -487,6 +487,86 @@ THREE.Object3D.prototype = {
|
|
|
|
|
|
},
|
|
|
|
|
|
+ worldPosition: function ( optionalTarget ) {
|
|
|
+
|
|
|
+ var result = optionalTarget || new THREE.Vector3();
|
|
|
+
|
|
|
+ this.updateMatrixWorld( true );
|
|
|
+
|
|
|
+ return result.setFromMatrixPosition( this.matrixWorld );
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ worldQuaternion: function () {
|
|
|
+
|
|
|
+ var position = new THREE.Vector3();
|
|
|
+ var scale = new THREE.Vector3();
|
|
|
+
|
|
|
+ return function ( optionalTarget ) {
|
|
|
+
|
|
|
+ var result = optionalTarget || new THREE.Quaternion();
|
|
|
+
|
|
|
+ this.updateMatrixWorld( true );
|
|
|
+
|
|
|
+ this.matrixWorld.decompose( position, result, scale );
|
|
|
+
|
|
|
+ return result;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }(),
|
|
|
+
|
|
|
+ worldRotation: function () {
|
|
|
+
|
|
|
+ var quaternion = new THREE.Quaternion();
|
|
|
+
|
|
|
+ return function ( optionalTarget ) {
|
|
|
+
|
|
|
+ var result = optionalTarget || new THREE.Euler();
|
|
|
+
|
|
|
+ this.worldQuaternion( quaternion );
|
|
|
+
|
|
|
+ return result.setFromQuaternion( quaternion, this.rotation.order, false );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }(),
|
|
|
+
|
|
|
+ worldScale: function () {
|
|
|
+
|
|
|
+ var position = new THREE.Vector3();
|
|
|
+ var quaternion = new THREE.Quaternion();
|
|
|
+
|
|
|
+ return function ( optionalTarget ) {
|
|
|
+
|
|
|
+ var result = optionalTarget || new THREE.Vector3();
|
|
|
+
|
|
|
+ this.updateMatrixWorld( true );
|
|
|
+
|
|
|
+ this.matrixWorld.decompose( position, quaternion, result );
|
|
|
+
|
|
|
+ return result;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }(),
|
|
|
+
|
|
|
+ worldDirection: function () {
|
|
|
+
|
|
|
+ var quaternion = new THREE.Quaternion();
|
|
|
+
|
|
|
+ return function ( optionalTarget ) {
|
|
|
+
|
|
|
+ var result = optionalTarget || new THREE.Vector3();
|
|
|
+
|
|
|
+ this.worldQuaternion( quaternion );
|
|
|
+
|
|
|
+ return result.set( 0, 0, 1 ).applyQuaternion( quaternion );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }(),
|
|
|
+
|
|
|
toJSON: function () {
|
|
|
|
|
|
var output = {
|