Przeglądaj źródła

temp fix for text and more

Nikolay Suslov 4 lat temu
rodzic
commit
fba826edf7

+ 1 - 1
public/app.js

@@ -1431,7 +1431,7 @@ class App {
   async loadAppLibs() {
 
     await loadjs([
-      '/vwf/model/aframe/aframe-master.min.js',
+      '/vwf/model/aframe/aframe-master.js',
       '/vwf/model/aframe/addon/SkyShader.js',
       '/vwf/model/aframe/addon/BVHLoader.js',
       '/vwf/model/aframe/addon/TransformControls.js',

+ 24 - 0
public/defaults/proxy/vwf.example.com/aframe/xrcontroller.vwf.yaml

@@ -0,0 +1,24 @@
+# wmrvr controller
+# Copyright 2017 Krestianstvo.org project
+---
+extends: http://vwf.example.com/aframe/aentity.vwf
+type: "xrcontroller"
+properties:
+methods:
+    initialize:
+    updateController:
+    createSimpleController:
+    createControllerFromGLTF:
+        parameters:
+            - modelSrc
+    createController:
+        parameters:
+            - modelSrc
+    updateVRControl:
+        parameters:
+            - position
+            - rotation
+    triggerdown:
+    triggerup:
+scripts:
+- source: "http://vwf.example.com/aframe/xrcontroller.js"

+ 3 - 8
public/vwf/model/aframe.js

@@ -310,12 +310,6 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
 
                 }
 
-                if(methodName == 'setFont') {
-
-                        node.aframeObj.setAttribute('font', methodParameters[0]);
-                    
-                }
-
             }
 
 
@@ -594,7 +588,8 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
                 if (value === undefined && aframeObject.nodeName == "A-TEXT") {
                     value = propertyValue;
 
-                    self.aframeDef['A-TEXT'].filter(el=>el !== 'font').forEach(element => {
+                    //.filter(el=>el !== 'font')
+                    self.aframeDef['A-TEXT'].forEach(element => {
 
                        
                             element == propertyName ? aframeObject.setAttribute(element, propertyValue) :
@@ -1388,7 +1383,7 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
             //aframeObj.setAttribute('loading-screen', "backgroundColor: black");
             self.state.scenes[node.ID] = aframeObj;
             //TODO: move from veiw here
-            document.body.appendChild(aframeObj);
+            //document.body.appendChild(aframeObj);
 
         } else if (self.state.isAFrameClass(protos, "http://vwf.example.com/aframe/a-asset-item.vwf")) {
 

+ 2 - 30
public/vwf/model/aframe/addon/aframe-components.js

@@ -14,65 +14,37 @@ AFRAME.registerComponent('scene-utils', {
         this.mirrors = {};
 
         //this.setCameraControl();
-
         const sceneEnterVR = (e) => {
 
             let driver = vwf.views["vwf/view/aframe"];
-            //vwf_view.kernel.callMethod(vwf.application(), "enterVR");
-            let avatarEl = document.querySelector('#avatarControlParent');
-            let avatarID = 'avatar-' + vwf_view.kernel.moniker();
 
-            //if(AFRAME.utils.device.checkHeadsetConnected())
+            // let avatarEl = document.querySelector('#avatarControlParent');
+            // let avatarID = 'avatar-' + vwf_view.kernel.moniker();
 
             driver.hmd = true;
 
             if (driver.threeDoFMobile || _app.config.d3DoF ) {
                 driver.threeDoF = true;
-
                  //vwf_view.kernel.callMethod(avatarID, "updateYPositionForXR", [0.0]);
-
-                //avatarEl.setAttribute('position', '0 1.6 0');
-                // if (AFRAME.utils.device.isGearVR()){  
-                // }
-
             } else if (driver.sixDoFMobile || driver.sixDoFDesktop || _app.config.d6DoF ) {
                 driver.sixDoF = true;
             }
-            // else if (AFRAME.utils.device.isMobile()) {
-            //     avatarEl.setAttribute('position', '0 0 0')
-            // } else {
-            //     avatarEl.setAttribute('position', '0 0 0'); //'0 1.6 0'
-            // }
-
-            // if (!AFRAME.utils.device.isGearVR() && !AFRAME.utils.device.isMobile()) {
-            //     avatarEl.setAttribute('position', '0 1.6 0');
-            // }
 
         }
 
         const sceneExitVR = (e) => {
 
             let driver = vwf.views["vwf/view/aframe"];
-            //vwf_view.kernel.callMethod(vwf.application(), "exitVR");
-            let avatarEl = document.querySelector('#avatarControlParent');
-            let avatarID = 'avatar-' + vwf_view.kernel.moniker();
 
             driver.hmd = false;
 
             if (driver.threeDoFMobile || _app.config.d3DoF ) {
                 driver.threeDoF = false;
-                //avatarEl.setAttribute('position', '0 0 0');
-
                 //vwf_view.kernel.callMethod(avatarID, "updateYPositionForXR", [-1.6]);
 
             } else if (driver.sixDoFMobile || driver.sixDoFDesktop || _app.config.d6DoF ) {
                 driver.sixDoF = false;
             }
-            // else if (AFRAME.utils.device.isMobile()) {
-            //     avatarEl.setAttribute('position', '0 1.6 0');
-            // } else {
-            //     avatarEl.setAttribute('position', '0 0 0');
-            // }
 
         }
 

+ 4 - 4
public/vwf/model/aframe/aframe-master.js

@@ -63503,10 +63503,10 @@ TextGeometry.prototype.computeBoundingSphere = function () {
   if (this.boundingSphere === null) {
     this.boundingSphere = new THREE.Sphere()
   }
-
-  var positions = this.attributes.position.array
-  var itemSize = this.attributes.position.itemSize
-  if (!positions || !itemSize || positions.length < 2) {
+  //LIVECODING.SPACE changes!!! FIX - move to LCS codebase  
+  var positions = this.attributes.position?.array
+  var itemSize = this.attributes.position?.itemSize
+  if (!positions || !itemSize || positions?.length < 2) {
     this.boundingSphere.radius = 0
     this.boundingSphere.center.set(0, 0, 0)
     return

+ 9 - 33
public/vwf/view/aframe.js

@@ -82,15 +82,16 @@ define(["module", "vwf/view"], function (module, view) {
 
             if (this.state.scenes[childID]) {
                 let scene = this.state.scenes[childID];
-                //document.body.appendChild(scene);
+                //TODO: FIX
+                
 
                 let prepairAvatar = new Promise((resolve, reject) => {
+                    document.body.appendChild(scene);
                     let createAvatarPromise = new Promise(r=> r(createAvatarControl(scene)));
                     return resolve(createAvatarPromise) 
                 });
 
                 prepairAvatar.then(res => {
-
                         console.log("CREATE GEARVR HERE!!");
                         if (self.threeDoFMobile || _app.config.d3DoF ) {
                             this.xrType = 'mobileVR';
@@ -185,6 +186,12 @@ define(["module", "vwf/view"], function (module, view) {
             }
 
 
+            // if (node.extendsID == "http://vwf.example.com/aframe/atext.vwf") {
+            //     console.log("Text component initialized");
+            //     node.aframeObj.play();
+
+            // }
+
             // if (node.prototypes.includes("http://vwf.example.com/aframe/aentity.vwf")) {
 
             //     var clientThatSatProperty = self.kernel.client();
@@ -267,37 +274,6 @@ define(["module", "vwf/view"], function (module, view) {
                 receiveModelTransformChanges(nodeId, 'scale', propertyValue);
             }
 
-            // if (node.aframeObj.nodeName == "AUDIO" && propertyName == 'itemSrc') {
-
-            //     //console.log("sat new item");
-            //     let elID = '#' + node.aframeObj.getAttribute('id');
-            //     Object.entries(this.state.nodes).forEach(el => {
-            //         let src = el[1].aframeObj.getAttribute('src');
-            //         if (src){
-            //            // console.log("my: " + src);
-            //             if (src == elID)
-            //             self.kernel.callMethod(el[0], "updateSrc", [elID])
-            //         }
-            //     })
-
-            // }
-
-            // if ( propertyName == "position" ) {
-            //     receiveModelTransformChanges( nodeId, propertyValue );
-            // }
-
-            if (node.aframeObj.nodeName == "A-TEXT" && propertyName == 'font') {
-
-                //TODO: Temporary fix for font resource loading error
-                console.log('Set font from view');
-
-                setTimeout(function(){
-                    self.kernel.callMethod(nodeId, "setFont", [propertyValue])
-                }, 100);
-                
-
-            }
-
             if (node.aframeObj.nodeName == "AUDIO" && propertyName == 'itemSrc') {
 
                 //console.log("sat new item");