|
@@ -54,37 +54,52 @@ define(["module", "vwf/view"], function (module, view) {
|
|
|
|
|
|
if (this.state.scenes[childID]) {
|
|
|
let scene = this.state.scenes[childID];
|
|
|
- createAvatarControl(scene);
|
|
|
- createAvatar.call(this, childID);
|
|
|
|
|
|
- // this.state.appInitialized = true;
|
|
|
|
|
|
- if (this.gearvr == true) {
|
|
|
- console.log("CREATE GEARVR HERE!!");
|
|
|
- if (AFRAME.utils.device.isGearVR()) {
|
|
|
- let nodeName = 'gearvr-' + self.kernel.moniker();
|
|
|
- createGearVRControls();
|
|
|
- createGearVRController.call(this, childID, nodeName);
|
|
|
- }
|
|
|
- }
|
|
|
+ let prepairAvatar = new Promise((resolve, reject) => {
|
|
|
+
|
|
|
+ function cb() {
|
|
|
+ resolve("ok");
|
|
|
+ }
|
|
|
+ createAvatarControl(scene, cb);
|
|
|
+ });
|
|
|
+
|
|
|
|
|
|
- if (this.wmrright == true) {
|
|
|
- console.log("CREATE WMR RIGHT HERE!!");
|
|
|
- if (AFRAME.utils.device.checkHasPositionalTracking()) {
|
|
|
- let nodeName = 'wmrvr-right-' + self.kernel.moniker();
|
|
|
- createWMRVRControls('right');
|
|
|
- createWMRVR.call(this, childID, nodeName);
|
|
|
+ prepairAvatar.then(res=>{
|
|
|
+ // console.log(res);
|
|
|
+ createAvatar.call(self, childID);
|
|
|
+
|
|
|
+ if (this.gearvr == true) {
|
|
|
+ console.log("CREATE GEARVR HERE!!");
|
|
|
+ if (AFRAME.utils.device.isGearVR()) {
|
|
|
+ let nodeName = 'gearvr-' + self.kernel.moniker();
|
|
|
+ createGearVRControls();
|
|
|
+ createGearVRController.call(self, childID, nodeName);
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- if (this.wmrleft == true) {
|
|
|
- console.log("CREATE WMR LEFT HERE!!");
|
|
|
- if (AFRAME.utils.device.checkHasPositionalTracking()) {
|
|
|
- let nodeName = 'wmrvr-left-' + self.kernel.moniker();
|
|
|
- createWMRVRControls('left');
|
|
|
- createWMRVR.call(this, childID, nodeName);
|
|
|
+
|
|
|
+ if (this.wmrright == true) {
|
|
|
+ console.log("CREATE WMR RIGHT HERE!!");
|
|
|
+ if (AFRAME.utils.device.checkHasPositionalTracking()) {
|
|
|
+ let nodeName = 'wmrvr-right-' + self.kernel.moniker();
|
|
|
+ createWMRVRControls('right');
|
|
|
+ createWMRVR.call(this, childID, nodeName);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (this.wmrleft == true) {
|
|
|
+ console.log("CREATE WMR LEFT HERE!!");
|
|
|
+ if (AFRAME.utils.device.checkHasPositionalTracking()) {
|
|
|
+ let nodeName = 'wmrvr-left-' + self.kernel.moniker();
|
|
|
+ createWMRVRControls('left');
|
|
|
+ createWMRVR.call(this, childID, nodeName);
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
+
|
|
|
+ })
|
|
|
+ // this.state.appInitialized = true;
|
|
|
+
|
|
|
|
|
|
document.body.appendChild(scene); //append is not working in Edge browser
|
|
|
|
|
@@ -555,14 +570,14 @@ define(["module", "vwf/view"], function (module, view) {
|
|
|
|
|
|
}
|
|
|
|
|
|
- function getWorldRotation(el) {
|
|
|
+ function getWorldRotation(el, order) {
|
|
|
|
|
|
|
|
|
var worldQuat = new THREE.Quaternion();
|
|
|
el.object3D.getWorldQuaternion(worldQuat);
|
|
|
|
|
|
//console.log(worldQuat);
|
|
|
- let angle = (new THREE.Euler()).setFromQuaternion(worldQuat, 'YXZ');
|
|
|
+ let angle = (new THREE.Euler()).setFromQuaternion(worldQuat, order);
|
|
|
let rotation = (new THREE.Vector3(THREE.Math.radToDeg(angle.x),
|
|
|
THREE.Math.radToDeg(angle.y), THREE.Math.radToDeg(angle.z)));
|
|
|
|
|
@@ -606,7 +621,7 @@ define(["module", "vwf/view"], function (module, view) {
|
|
|
let position = new THREE.Vector3();
|
|
|
el.object3D.getWorldPosition(position);
|
|
|
|
|
|
- let rotation = getWorldRotation(el);
|
|
|
+ let rotation = getWorldRotation(el, 'YXZ');
|
|
|
|
|
|
// console.log(rotation);
|
|
|
//let rotation = el.getAttribute('rotation');
|
|
@@ -647,7 +662,7 @@ define(["module", "vwf/view"], function (module, view) {
|
|
|
let position = new THREE.Vector3();
|
|
|
el.object3D.getWorldPosition(position);
|
|
|
|
|
|
- let rotation = getWorldRotation(el);
|
|
|
+ let rotation = getWorldRotation(el, 'XYZ');
|
|
|
|
|
|
//let rotation = el.getAttribute('rotation');
|
|
|
|
|
@@ -674,7 +689,7 @@ define(["module", "vwf/view"], function (module, view) {
|
|
|
}
|
|
|
|
|
|
|
|
|
- function createAvatarControl(aScene) {
|
|
|
+ function createAvatarControl(aScene, cb) {
|
|
|
|
|
|
let avatarName = 'avatar-' + self.kernel.moniker();
|
|
|
|
|
@@ -723,6 +738,8 @@ define(["module", "vwf/view"], function (module, view) {
|
|
|
|
|
|
controlEl.setAttribute('camera', 'active', true);
|
|
|
|
|
|
+ cb();
|
|
|
+
|
|
|
// let gearVRControlsEl = document.createElement('a-entity');
|
|
|
// gearVRControlsEl.setAttribute('id', 'gearvr-'+avatarName);
|
|
|
// gearVRControlsEl.setAttribute('gearvr-controls', {});
|