elation-engine 0.9.113 → 0.9.115

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/css/systems/render.css +5 -1
  2. package/package.json +1 -1
  3. package/scripts/assets.js +103 -20
  4. package/scripts/assetworker.js +18 -1
  5. package/scripts/external/holoplay.js +1494 -0
  6. package/scripts/external/octree.js +0 -0
  7. package/scripts/external/three/CSS3DRenderer.js +46 -43
  8. package/scripts/external/three/CubemapToEquirectangular.js +1 -1
  9. package/scripts/external/three/three-extras.js +1553 -392
  10. package/scripts/external/three/three-icosa.js +2575 -0
  11. package/scripts/external/three/three-loaders.js +925 -133
  12. package/scripts/external/three/three-postprocessing.js +3 -3
  13. package/scripts/external/three/three-r116dev.js +50930 -0
  14. package/scripts/external/three/three-spotlighttextures.js +50953 -0
  15. package/scripts/external/three/three-vrm.js +2 -2
  16. package/scripts/external/three/three-working.js +35968 -0
  17. package/scripts/external/three/three.js +38532 -24087
  18. package/scripts/external/three-mesh-bvh.js +5370 -0
  19. package/scripts/external/three-old/BVHLoader.js +406 -0
  20. package/scripts/external/three-old/ColladaLoader.js +5519 -0
  21. package/scripts/external/three-old/ColladaLoader2.js +1694 -0
  22. package/scripts/external/three-old/CubemapToEquirectangular.js +188 -0
  23. package/scripts/external/three-old/DDSLoader.js +269 -0
  24. package/scripts/external/three-old/FBXLoader-mine.js +5063 -0
  25. package/scripts/external/three-old/FBXLoader.js +5112 -0
  26. package/scripts/external/three-old/FlyControls.js +295 -0
  27. package/scripts/external/three-old/GLTF2Loader.js +2950 -0
  28. package/scripts/external/three-old/GLTFLoader.js +2213 -0
  29. package/scripts/external/three-old/JSONLoader.js +435 -0
  30. package/scripts/external/three-old/MTLLoader.js +533 -0
  31. package/scripts/external/three-old/OBJLoader-experimental.js +874 -0
  32. package/scripts/external/three-old/OBJLoader-working.js +727 -0
  33. package/scripts/external/three-old/OBJLoader.js +723 -0
  34. package/scripts/external/three-old/OBJMTLLoader.js +440 -0
  35. package/scripts/external/three-old/OrbitControls.js +592 -0
  36. package/scripts/external/three-old/PLYLoader.js +517 -0
  37. package/scripts/external/three-old/TransformControls.js +1100 -0
  38. package/scripts/external/three-old/VRMLLoader.js +1021 -0
  39. package/scripts/external/three-old/glTFLoader-combined.js +2513 -0
  40. package/scripts/external/three-old/nodethree.js +44018 -0
  41. package/scripts/external/three-old/render/BleachBypassShader.js +64 -0
  42. package/scripts/external/three-old/render/BloomPass.js +116 -0
  43. package/scripts/external/three-old/render/CSS3DRenderer.js +310 -0
  44. package/scripts/external/three-old/render/ClearPass.js +44 -0
  45. package/scripts/external/three-old/render/ConvolutionShader.js +101 -0
  46. package/scripts/external/three-old/render/CopyShader.js +46 -0
  47. package/scripts/external/three-old/render/EffectComposer.js +211 -0
  48. package/scripts/external/three-old/render/FXAAShader.js +88 -0
  49. package/scripts/external/three-old/render/FilmPass.js +60 -0
  50. package/scripts/external/three-old/render/FilmShader.js +104 -0
  51. package/scripts/external/three-old/render/ManualMSAARenderPass.js +168 -0
  52. package/scripts/external/three-old/render/MaskPass.js +97 -0
  53. package/scripts/external/three-old/render/OculusRenderPass.js +84 -0
  54. package/scripts/external/three-old/render/OculusRiftEffect.js +240 -0
  55. package/scripts/external/three-old/render/PortalRenderPass.js +166 -0
  56. package/scripts/external/three-old/render/RecordingPass.js +208 -0
  57. package/scripts/external/three-old/render/RenderPass.js +57 -0
  58. package/scripts/external/three-old/render/SSAOShader.js +259 -0
  59. package/scripts/external/three-old/render/SepiaShader.js +54 -0
  60. package/scripts/external/three-old/render/ShaderPass.js +66 -0
  61. package/scripts/external/three-old/render/VREffect.js +482 -0
  62. package/scripts/external/three-old/shimthree.js +23 -0
  63. package/scripts/external/three-old/stats.js +6 -0
  64. package/scripts/external/three-old/three-88dev.js +45004 -0
  65. package/scripts/external/three-old/three-backgroundoptimization.js +44432 -0
  66. package/scripts/external/three-old/three-updates.js +44735 -0
  67. package/scripts/external/three-old/three-working.js +44719 -0
  68. package/scripts/external/three-old/three.js +44431 -0
  69. package/scripts/external/three-old/threex.rendererstats.js +66 -0
  70. package/scripts/external/three-old/tween.js +13 -0
  71. package/scripts/external/webvr-polyfill-new.js +3497 -0
  72. package/scripts/external/webvr-polyfill-newest.js +3491 -0
  73. package/scripts/external/webvr-polyfill-old.js +6337 -0
  74. package/scripts/geometries.js +2 -2
  75. package/scripts/math.js +6 -6
  76. package/scripts/systems/admin.js +1 -1
  77. package/scripts/systems/controls.js +6 -4
  78. package/scripts/systems/physics.js +10 -10
  79. package/scripts/systems/render.js +58 -20
  80. package/scripts/systems/render2.js +38 -0
  81. package/scripts/things/camera.js +6 -1
  82. package/scripts/things/generic-trackedvectors.js +1875 -0
  83. package/scripts/things/generic.js +3 -4
  84. package/scripts/things/label2d.js +1 -1
  85. package/scripts/things/leapmotion.js +6 -6
  86. package/scripts/things/menu.js +1 -1
  87. package/scripts/things/player-bak.js +638 -0
  88. package/scripts/things/player.js +28 -10
  89. package/scripts/things/skysphere.js +1 -1
  90. package/scripts/things/terrain.js +1 -1
  91. package/scripts/things/text.js +1 -1
@@ -24,6 +24,7 @@ elation.require(['engine.things.generic', 'engine.things.camera', 'engine.things
24
24
  flying: { type: 'boolean', default: false, set: function(key, value) { this.properties.flying = value; this.toggle_flying(value); }},
25
25
  dynamicfriction:{ type: 'float', default: 2.0, comment: 'Dynamic friction inherent to this object' },
26
26
  staticfriction: { type: 'float', default: 1.9, comment: 'Static friction inherent to this object' },
27
+ fov: { type: 'float', default: 75, set: this.updateCamera },
27
28
  });
28
29
  this.controlstate = this.engine.systems.controls.addContext('player', {
29
30
  'move_forward': ['keyboard_w', elation.bind(this, this.updateControls)],
@@ -151,7 +152,10 @@ elation.require(['engine.things.generic', 'engine.things.camera', 'engine.things
151
152
 
152
153
  this.flying = value;
153
154
  this.usegravity = !this.flying;
154
- console.log('toggle flying', this.flying);
155
+ if (this.gravityForce) {
156
+ this.gravityForce.update(this.gravityVector.set(0,this.usegravity * -9.8 , 0));
157
+ }
158
+ //console.log('toggle flying', this.flying, this.gravityForce);
155
159
  }
156
160
  this.reset_position = function(ev) {
157
161
  if (!ev || ev.value == 1) {
@@ -185,8 +189,14 @@ elation.require(['engine.things.generic', 'engine.things.camera', 'engine.things
185
189
  this.gravityForce = this.objects.dynamics.addForce("gravity", this.gravityVector);
186
190
  this.moveForce = this.objects.dynamics.addForce("static", {});
187
191
  this.jumpForce = this.objects.dynamics.addForce("static", {});
188
- this.objects.dynamics.restitution = 0.1;
189
- //this.objects.dynamics.setCollider('sphere', {radius: this.properties.fatness, offset: new THREE.Vector3(0, this.fatness, 0)});
192
+ this.objects.dynamics.restitution = 0;
193
+ /*
194
+ this.objects.dynamics.linearDamping = 1.5;
195
+ this.objects.dynamics.angularDamping = .1;
196
+ this.objects.dynamics.material.staticfriction = 1.1;
197
+ this.objects.dynamics.material.dynamicfriction = 1;
198
+ */
199
+ //this.objects.dynamics.setCollider('sphere', {radius: this.properties.fatness, length: this.height, /*offset: new THREE.Vector3(0, this.fatness, 0) */});
190
200
  this.objects.dynamics.addConstraint('axis', { axis: new THREE.Vector3(0,1,0) });
191
201
  // FIXME - should be in createChildren
192
202
  this.createBodyParts();
@@ -201,33 +211,35 @@ elation.require(['engine.things.generic', 'engine.things.camera', 'engine.things
201
211
  }
202
212
  this.createBodyParts = function() {
203
213
  this.torso = this.spawn('generic', this.properties.player_id + '_torso', {
204
- 'position': [0,1,0]
214
+ 'position': [0,0,0]
205
215
  });
206
216
  this.shoulders = this.torso.spawn('generic', this.properties.player_id + '_shoulders', {
207
217
  'position': [0,0.3,-0.2]
208
218
  });
209
219
  this.neck = this.torso.spawn('generic', this.properties.player_id + '_neck', {
210
- 'position': [0,0.6,0]
220
+ 'position': [0,1.45,0]
211
221
  });
212
222
  this.head = this.neck.spawn('generic', this.properties.player_id + '_head', {
213
- 'position': [0,0,0],
223
+ 'position': [0,.3,0],
214
224
  'mass': 1
215
225
  });
216
226
 
217
- this.placeholder_body = new THREE.Mesh(new THREE.CylinderBufferGeometry(this.fatness, this.fatness, this.height), new THREE.MeshPhongMaterial({color: 0xcccccc, transparent: true, opacity: .5}));
227
+ /*
228
+ this.placeholder_body = new THREE.Mesh(new THREE.CylinderGeometry(this.fatness, this.fatness, this.height), new THREE.MeshPhongMaterial({color: 0xcccccc, transparent: true, opacity: .5}));
218
229
  this.placeholder_body.position.y = this.height / 2;
219
230
  this.placeholder_body.layers.set(10);
220
231
  this.objects['3d'].add(this.placeholder_body);
221
232
 
222
233
  this.vrcalibrate = new THREE.Object3D();
223
234
  this.vrposetarget = new THREE.Object3D();
224
- let vrposedebug = new THREE.Mesh(new THREE.CylinderBufferGeometry(0, 1, 2), new THREE.MeshPhongMaterial({color: 0xffcccc, transparent: true, opacity: .5}));
235
+ let vrposedebug = new THREE.Mesh(new THREE.CylinderGeometry(0, 1, 2), new THREE.MeshPhongMaterial({color: 0xffcccc, transparent: true, opacity: .5}));
225
236
  vrposedebug.position.z = -1;
226
237
  vrposedebug.rotation.x = Math.PI/2;
227
238
  this.vrcalibrate.add(this.vrposetarget);
228
239
  //this.vrposetarget.add(vrposedebug);
229
240
  vrposedebug.layers.set(10);
230
241
  this.objects['3d'].add(this.vrcalibrate);
242
+ */
231
243
  /*
232
244
  let renderer = this.engine.systems.render.renderer;
233
245
  if (renderer.vr && renderer.vr.setPoseTarget) {
@@ -689,8 +701,8 @@ elation.require(['engine.things.generic', 'engine.things.camera', 'engine.things
689
701
  this.calibrateVR = function() {
690
702
  //this.vrcalibrate.position.copy(this.vrposetarget.position).multiplyScalar(-1);
691
703
  //this.vrcalibrate.quaternion.copy(this.vrposetarget.quaternion).conjugate();
692
- this.vrcalibrate.matrix.getInverse(this.vrposetarget.matrix);
693
- this.vrcalibrate.matrix.decompose(this.vrcalibrate.position, this.vrcalibrate.rotation, this.vrcalibrate.scale);
704
+ //this.vrcalibrate.matrix.getInverse(this.vrposetarget.matrix);
705
+ //this.vrcalibrate.matrix.decompose(this.vrcalibrate.position, this.vrcalibrate.rotation, this.vrcalibrate.scale);
694
706
  }
695
707
  this.getViewFrustum = (function() {
696
708
  let frustum = new THREE.Frustum(),
@@ -703,5 +715,11 @@ elation.require(['engine.things.generic', 'engine.things.camera', 'engine.things
703
715
  return frustum;
704
716
  }
705
717
  })();
718
+ this.updateCamera = function() {
719
+ if (this.camera) {
720
+ this.camera.fov = this.fov;
721
+ }
722
+ }
723
+
706
724
  }, elation.engine.things.generic);
707
725
  });
@@ -7,7 +7,7 @@ elation.require(['engine.things.generic'], function() {
7
7
  });
8
8
  }
9
9
  this.createObject3D = function() {
10
- var geo = new THREE.SphereBufferGeometry(1000, 64, 32);
10
+ var geo = new THREE.SphereGeometry(1000, 64, 32);
11
11
 
12
12
  // Flip UVs on x axis so that the texture isn't reversed when viewed from inside the sphere
13
13
  for (var i = 0; i < geo.attributes.uv.length; i += 2) {
@@ -20,7 +20,7 @@ elation.require('engine.things.generic', function() {
20
20
  });
21
21
  }
22
22
  this.createObject3D = function() {
23
- var geo = new THREE.PlaneBufferGeometry(this.properties.size, this.properties.size, this.properties.resolution, this.properties.resolution);
23
+ var geo = new THREE.PlaneGeometry(this.properties.size, this.properties.size, this.properties.resolution, this.properties.resolution);
24
24
 
25
25
  var mat = elation.engine.materials.getShaderMaterial('terrain', {
26
26
  color: this.properties.color,
@@ -12,7 +12,7 @@ elation.require(['engine.things.generic'], function() {
12
12
  });
13
13
  }
14
14
  this.createObject3D = function() {
15
- var geo = new THREE.PlaneBufferGeometry(this.properties.width, this.properties.height);
15
+ var geo = new THREE.PlaneGeometry(this.properties.width, this.properties.height);
16
16
  var tex = elation.engine.materials.getTextureLabel(this.properties.text, this.properties.fontsize, this.properties.color, this.properties.font);
17
17
  var mat = new THREE.MeshBasicMaterial({map: tex, transparent: true});
18
18
  return new THREE.Mesh(geo, mat);