|
@@ -73,68 +73,74 @@
|
|
|
|
|
|
var loader;
|
|
|
|
|
|
- // Initialize Three.JS
|
|
|
+ Ammo().then( function( AmmoLib ) {
|
|
|
|
|
|
- init();
|
|
|
+ // Initialize Three.JS
|
|
|
|
|
|
- // Initialize Physics Engine
|
|
|
+ init();
|
|
|
|
|
|
- SEA3D.AMMO.init();
|
|
|
+ // Initialize Physics Engine
|
|
|
|
|
|
- //
|
|
|
- // SEA3D Loader
|
|
|
- //
|
|
|
+ Ammo = AmmoLib;
|
|
|
+ SEA3D.AMMO.init();
|
|
|
|
|
|
- loader = new THREE.SEA3D( {
|
|
|
+ //
|
|
|
+ // SEA3D Loader
|
|
|
+ //
|
|
|
|
|
|
- container: scene // Container to add models
|
|
|
+ loader = new THREE.SEA3D( {
|
|
|
|
|
|
- } );
|
|
|
+ container: scene // Container to add models
|
|
|
|
|
|
- loader.onComplete = function () {
|
|
|
+ } );
|
|
|
|
|
|
- new THREE.OrbitControls( camera );
|
|
|
+ loader.onComplete = function () {
|
|
|
|
|
|
- // events
|
|
|
+ new THREE.OrbitControls( camera );
|
|
|
|
|
|
- window.addEventListener( 'contextmenu', function ( e ) {
|
|
|
+ // events
|
|
|
|
|
|
- e.preventDefault();
|
|
|
+ window.addEventListener( 'contextmenu', function ( e ) {
|
|
|
|
|
|
- cloneAsset();
|
|
|
+ e.preventDefault();
|
|
|
|
|
|
- } );
|
|
|
+ cloneAsset();
|
|
|
|
|
|
- // prevent material compilation in render loop
|
|
|
+ } );
|
|
|
|
|
|
- renderer.compile( scene, camera );
|
|
|
+ // prevent material compilation in render loop
|
|
|
|
|
|
- animate();
|
|
|
+ renderer.compile( scene, camera );
|
|
|
|
|
|
- };
|
|
|
+ animate();
|
|
|
|
|
|
- loader.load( './models/sea3d/car.tjs.sea' );
|
|
|
+ };
|
|
|
|
|
|
- var cloneAsset = function () {
|
|
|
+ loader.load( './models/sea3d/car.tjs.sea' );
|
|
|
|
|
|
- var offset = 0;
|
|
|
+ var cloneAsset = function () {
|
|
|
|
|
|
- return function () {
|
|
|
+ var offset = 0;
|
|
|
|
|
|
- var domain = this.loader.clone( { lights: false, runScripts: false, autoPlay: false, enabledPhysics: false } );
|
|
|
+ return function () {
|
|
|
|
|
|
- offset -= 180;
|
|
|
+ var domain = this.loader.clone( { lights: false, runScripts: false, autoPlay: false, enabledPhysics: false } );
|
|
|
|
|
|
- domain.container.position.x += offset;
|
|
|
- domain.applyContainerTransform();
|
|
|
- domain.enabledPhysics( true );
|
|
|
- domain.runScripts();
|
|
|
+ offset -= 180;
|
|
|
|
|
|
- this.scene.add( domain.container );
|
|
|
+ domain.container.position.x += offset;
|
|
|
+ domain.applyContainerTransform();
|
|
|
+ domain.enabledPhysics( true );
|
|
|
+ domain.runScripts();
|
|
|
|
|
|
- };
|
|
|
+ this.scene.add( domain.container );
|
|
|
+
|
|
|
+ };
|
|
|
|
|
|
- }();
|
|
|
+ }();
|
|
|
+
|
|
|
+
|
|
|
+ } );
|
|
|
|
|
|
//
|
|
|
|