Nikolay Suslov 7 lat temu
rodzic
commit
6d894a20e1

+ 2 - 1
public/ohmlang-lsys/appui.js

@@ -12,7 +12,7 @@ function createApp() {
     function getNewPosition() {
         //let allChild = vwf.find("","/*")
         let cursorVisID = vwf.find("myCursor-avatar-" + vwf.moniker_, "./vis")[0]
-        let avPos = AFRAME.utils.coordinates.parse(vwf.getProperty(cursorVisID, 'worldPosition'));
+        let avPos = AFRAME.utils.coordinates.parse(vwf.callMethod(cursorVisID, 'worldPosition'));
         let newPos = [avPos.x, avPos.y, avPos.z]
         return newPos
     }
@@ -59,6 +59,7 @@ function createApp() {
 
                                     let randomName = "turtle-new-" + self.GUID();
                                     vwf_view.kernel.createChild(sceneID, randomName, newTurtle);
+
                                 }
 
                             }

+ 1 - 1
public/webrtc/appui.js

@@ -14,7 +14,7 @@ function createApp() {
         function getNewPosition() {
             //let allChild = vwf.find("","/*")
             let cursorVisID = vwf.find("myCursor-avatar-" + vwf.moniker_, "./vis")[0]
-            let avPos = AFRAME.utils.coordinates.parse(vwf.getProperty(cursorVisID, 'worldPosition'));
+            let avPos = AFRAME.utils.coordinates.parse(vwf.callMethod(cursorVisID, 'worldPosition'));
             let newPos = [avPos.x, avPos.y, avPos.z]
             return newPos
         }

+ 19 - 10
support/client/lib/vwf/model/aframe.js

@@ -257,6 +257,7 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
             if(!node) return;
 
             if (node && node.aframeObj ) {
+
                 if (methodName == 'lookAt') {
                     console.log('lookAt: ' +  methodParameters[0]);
                     let target = methodParameters[0];
@@ -264,6 +265,24 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
                     let newRotation = node.aframeObj.getAttribute('rotation');
                     self.kernel.setProperty(nodeID, "rotation", {x: 0, y: newRotation.y, z: 0}); 
                 }
+
+                if (methodName == 'worldRotation') {
+
+                    let worldQuat = node.aframeObj.object3D.getWorldQuaternion(); 
+                    let angle = (new THREE.Euler()).setFromQuaternion(worldQuat, 'YXZ');
+                    let rotation = (new THREE.Vector3(THREE.Math.radToDeg(angle.x),
+                    THREE.Math.radToDeg(angle.y), THREE.Math.radToDeg(angle.z) ));
+                    return rotation
+
+                }
+
+                if (methodName == 'worldPosition') {
+
+                    let position = node.aframeObj.object3D.getWorldPosition();
+                    return position
+
+                }
+
             }
 
            
@@ -342,9 +361,6 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
 
                     switch (propertyName) {
 
-                        case "worldPosition":
-                            break;
-
                         case "position":
                             this.state.setAFrameProperty('position', propertyValue, aframeObject);
                             break;
@@ -789,13 +805,6 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
 
                     switch (propertyName) {
 
-                        case "worldPosition":
-                        var pos = aframeObject.object3D.getWorldPosition();
-                        if (pos !== undefined) {
-                            value = pos;
-                        }
-                        break;
-
                         case "position":
                             var pos = aframeObject.getAttribute('position');
                             if (pos !== undefined) {

+ 2 - 1
support/proxy/vwf.example.com/aframe/aentity.vwf.yaml

@@ -10,7 +10,6 @@ properties:
   displayName:
   visible:
   edit:
-  worldPosition:
   osc:
 methods:
   setGizmoMode:
@@ -20,5 +19,7 @@ methods:
   lookAt:
     parameters:
       - nodeID
+  worldRotation:
+  worldPosition:
 scripts:
   - source: "http://vwf.example.com/aframe/aentity.js"

+ 21 - 21
support/proxy/vwf.example.com/aframe/ascene.js

@@ -398,7 +398,7 @@ this.createModelObj = function (mtlSrc, objSrc, name, avatar) {
         let cursorNode = myAvatar.avatarNode.myHead.myCursor.vis;
 
         if (cursorNode) {
-            position = cursorNode.worldPosition;
+            position = cursorNode.worldPosition();
             //console.log(position);
         }
 
@@ -428,7 +428,7 @@ this.createModelObj = function (mtlSrc, objSrc, name, avatar) {
     }
 
     self.children.create(nodeName, modelNode, function( child ) {
-        if (avatar) child.lookAt(self.children[avatar].worldPosition)
+        if (avatar) child.lookAt(self.children[avatar].worldPosition())
        });
 
 }
@@ -456,7 +456,7 @@ this.createModel = function (modelType, modelSrc, avatar) {
             let cursorNode = myAvatar.avatarNode.myHead.myCursor.vis;
         
             if (cursorNode) {
-                 position = cursorNode.worldPosition;
+                 position = cursorNode.worldPosition();
                 //console.log(position);
             }
     
@@ -490,7 +490,7 @@ this.createModel = function (modelType, modelSrc, avatar) {
         }
 
         self.children.create(nodeName, modelNode, function( child ) {
-            if (avatar) child.lookAt(self.children[avatar].worldPosition)
+            if (avatar) child.lookAt(self.children[avatar].worldPosition())
            });
 
        });
@@ -539,7 +539,7 @@ this.createPrimitive = function (type, params, name, node, avatar) {
         let cursorNode = myAvatar.avatarNode.myHead.myCursor.vis;
 
         if (cursorNode) {
-            position = cursorNode.worldPosition;
+            position = cursorNode.worldPosition();
             //console.log(position);
         }
 
@@ -587,7 +587,7 @@ this.createPrimitive = function (type, params, name, node, avatar) {
     if (newNode) {
         newNode.properties.position = position;
         this.children.create(nodeName, newNode, function( child ) {
-            if (avatar) child.lookAt(self.children[avatar].worldPosition);
+            if (avatar) child.lookAt(self.children[avatar].worldPosition());
           });
     }
 
@@ -608,7 +608,7 @@ this.createCamera = function (name, node, avatar) {
         let cursorNode = myAvatar.avatarNode.myHead.myCursor.vis;
 
         if (cursorNode) {
-            position = cursorNode.worldPosition;
+            position = cursorNode.worldPosition();
             //console.log(position);
         }
 
@@ -622,7 +622,7 @@ this.createCamera = function (name, node, avatar) {
     if (newNode) {
         newNode.properties.position = position;
         this.children.create(nodeName, newNode, function( child ) {
-            if (avatar) child.lookAt(self.children[avatar].worldPosition);
+            if (avatar) child.lookAt(self.children[avatar].worldPosition());
           });
     }
 
@@ -643,7 +643,7 @@ this.createCameraWithOffset = function (name, node, avatar) {
         let cursorNode = myAvatar.avatarNode.myHead.myCursor.vis;
 
         if (cursorNode) {
-            position = cursorNode.worldPosition;
+            position = cursorNode.worldPosition();
             //console.log(position);
         }
 
@@ -657,7 +657,7 @@ this.createCameraWithOffset = function (name, node, avatar) {
     if (newNode) {
         newNode.properties.position = position;
         this.children.create(nodeName, newNode, function( child ) {
-            if (avatar) child.lookAt(self.children[avatar].worldPosition);
+            if (avatar) child.lookAt(self.children[avatar].worldPosition());
           });
     }
 
@@ -681,7 +681,7 @@ this.createImage = function (imgSrc, name, node, avatar) {
         let cursorNode = myAvatar.avatarNode.myHead.myCursor.vis;
 
         if (cursorNode) {
-            position = cursorNode.worldPosition;
+            position = cursorNode.worldPosition();
             //console.log(position);
         }
 
@@ -708,7 +708,7 @@ this.createImage = function (imgSrc, name, node, avatar) {
             let cursorNode = myAvatar.avatarNode.myHead.myCursor.vis;
         
             if (cursorNode) {
-                 position = cursorNode.worldPosition;
+                 position = cursorNode.worldPosition();
                 //console.log(position);
             }
     
@@ -726,7 +726,7 @@ this.createImage = function (imgSrc, name, node, avatar) {
             newNode.properties.height = child.height;
 
             self.children.create(nodeName, newNode, function( child ) {
-                if (avatar) child.lookAt(self.children[avatar].worldPosition)
+                if (avatar) child.lookAt(self.children[avatar].worldPosition())
                });
     
         } else {
@@ -742,7 +742,7 @@ this.createImage = function (imgSrc, name, node, avatar) {
         newNode.properties.height = child.height;
     
             self.children.create(nodeName, newNode, function( child ) {
-                if (avatar) child.lookAt(self.children[avatar].worldPosition)
+                if (avatar) child.lookAt(self.children[avatar].worldPosition())
                });
     
             }
@@ -774,7 +774,7 @@ this.createVideo = function (vidSrc, name, node, avatar) {
         let cursorNode = myAvatar.avatarNode.myHead.myCursor.vis;
 
         if (cursorNode) {
-            position = cursorNode.worldPosition;
+            position = cursorNode.worldPosition();
             //console.log(position);
         }
 
@@ -800,7 +800,7 @@ this.createVideo = function (vidSrc, name, node, avatar) {
             let cursorNode = myAvatar.avatarNode.myHead.myCursor.vis;
         
             if (cursorNode) {
-                 position = cursorNode.worldPosition;
+                 position = cursorNode.worldPosition();
                 //console.log(position);
             }
     
@@ -820,7 +820,7 @@ this.createVideo = function (vidSrc, name, node, avatar) {
             newNode.properties.height = child.videoHeight;
 
             self.children.create(nodeName, newNode, function( child ) {
-                if (avatar) child.lookAt(self.children[avatar].worldPosition)
+                if (avatar) child.lookAt(self.children[avatar].worldPosition())
                });
 
         } else {
@@ -834,7 +834,7 @@ this.createVideo = function (vidSrc, name, node, avatar) {
                 newNode.properties.height = child.videoHeight;
 
                 self.children.create(nodeName, newNode, function( child ) {
-                    if (avatar) child.lookAt(self.children[avatar].worldPosition)
+                    if (avatar) child.lookAt(self.children[avatar].worldPosition())
                    });
 
             }
@@ -863,7 +863,7 @@ this.createAudio = function (itemSrc, name, node, avatar) {
         let cursorNode = myAvatar.avatarNode.myHead.myCursor.vis;
 
         if (cursorNode) {
-            position = cursorNode.worldPosition;
+            position = cursorNode.worldPosition();
             //console.log(position);
         }
 
@@ -896,7 +896,7 @@ this.createAudio = function (itemSrc, name, node, avatar) {
             let cursorNode = myAvatar.avatarNode.myHead.myCursor.vis;
         
             if (cursorNode) {
-                 position = cursorNode.worldPosition;
+                 position = cursorNode.worldPosition();
                 //console.log(position);
             }
     
@@ -925,7 +925,7 @@ this.createAudio = function (itemSrc, name, node, avatar) {
         };
 
         self.children.create(nodeName, newNode, function( child ) {
-            if (avatar) child.lookAt(self.children[avatar].worldPosition)
+            if (avatar) child.lookAt(self.children[avatar].worldPosition())
            });
 
        // }