@@ -98,32 +98,32 @@ class SceneObjects{
98
98
const newDummy = new Dummy ( dummies . length ) ;
99
99
100
100
//Rotation towards wall
101
- if ( sceneManager . trackingMode == "wall-tracking" ) {
101
+ if ( sceneManager . trackingMode == "wall-tracking" )
102
+ {
102
103
newDummy . model . rotateY ( 180 ) ;
103
- newDummy . mesh . position . set ( 0 , 1 , 1 )
104
+ newDummy . mesh . position . set ( 0 , 1 , 1 ) ;
104
105
newDummy . updatePosition ( ) ;
105
106
}
106
107
107
- //Offset
108
- for ( let i = 0 ; i < dummies . length ; i ++ )
109
- {
110
- if ( newDummy . mesh . position . distanceTo ( dummies [ i ] . mesh . position ) < 1.0 )
108
+ //Offset
109
+ for ( let i = 0 ; i < dummies . length ; i ++ )
111
110
{
112
- newDummy . mesh . position . x ++ ;
113
- i = 0 ;
111
+ if ( newDummy . mesh . position . distanceTo ( dummies [ i ] . mesh . position ) < 1.0 )
112
+ {
113
+ newDummy . mesh . position . x ++ ;
114
+ i = 0 ;
115
+ }
114
116
}
115
- }
116
- console . log ( newDummy )
117
- newDummy . updatePosition ( ) ;
117
+ newDummy . updatePosition ( ) ;
118
118
119
- //Add to scene
120
- newDummy . addToScene ( sceneManager . scene ) ;
119
+ //Add to scene
120
+ newDummy . addToScene ( sceneManager . scene ) ;
121
121
122
- //Management
123
- dummies . push ( newDummy ) ;
124
- this . dummiesMeshes . push ( newDummy . mesh ) ;
122
+ //Management
123
+ dummies . push ( newDummy ) ;
124
+ this . dummiesMeshes . push ( newDummy . mesh ) ;
125
125
126
- this . populateStorage ( ) ;
126
+ this . populateStorage ( ) ;
127
127
}
128
128
129
129
this . removeDummies = function ( )
@@ -443,8 +443,8 @@ class SceneObjects{
443
443
datas . objects . dummies . forEach ( d => {
444
444
this . addDummy ( ) ;
445
445
const dummy = dummies [ dummies . length - 1 ] ;
446
- dummy . mesh . translateX ( d . p_x ) ;
447
- dummy . mesh . translateZ ( d . p_y ) ;
446
+ dummy . mesh . translateX ( d . p_x - dummy . xPos ) ;
447
+ dummy . mesh . translateZ ( d . p_y - dummy . yPos ) ;
448
448
dummy . updatePosition ( ) ;
449
449
} ) ;
450
450
}
@@ -578,10 +578,26 @@ class SceneObjects{
578
578
sceneManager . drawProjection ( n ) ;
579
579
} ) ;
580
580
}
581
- SceneObjects . loadFont ( isBuilder , ( ) => SceneManager . loadFont ( isBuilder , ( ) => sceneManager . initAugmentaScene ( ) ) ) ;
582
581
583
- loadModel ( isBuilder , 'male' ) ;
584
- loadModel ( isBuilder , 'female' ) ;
582
+ async function loadScene ( isBuilder ) {
583
+ // Wait until models are loaded
584
+ await Promise . all ( [
585
+ loadModel ( isBuilder , 'male' ) ,
586
+ loadModel ( isBuilder , 'female' )
587
+ ] ) ;
588
+
589
+ await new Promise ( ( resolve , reject ) => {
590
+ SceneObjects . loadFont ( isBuilder , ( ) => {
591
+ SceneManager . loadFont ( isBuilder , ( ) => {
592
+ sceneManager . initAugmentaScene ( ) ;
593
+ resolve ( ) ;
594
+ } ) ;
595
+ } ) ;
596
+ } ) ;
597
+ }
598
+
599
+ loadScene ( isBuilder ) ;
600
+
585
601
}
586
602
}
587
603
0 commit comments