@needle-tools/engine 2.33.0-pre → 2.35.0-pre

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 (266) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/needle-engine.d.ts +3045 -2855
  3. package/dist/needle-engine.js +457 -407
  4. package/dist/needle-engine.js.map +4 -4
  5. package/dist/needle-engine.min.js +117 -67
  6. package/dist/needle-engine.min.js.map +4 -4
  7. package/lib/engine/api.d.ts +3 -0
  8. package/lib/engine/api.js +4 -0
  9. package/lib/engine/api.js.map +1 -0
  10. package/lib/engine/engine.d.ts +4 -3
  11. package/lib/engine/engine_addressables.d.ts +5 -4
  12. package/lib/engine/engine_addressables.js +8 -7
  13. package/lib/engine/engine_addressables.js.map +1 -1
  14. package/lib/engine/engine_components.d.ts +16 -0
  15. package/lib/engine/engine_components.js +223 -0
  16. package/lib/engine/engine_components.js.map +1 -0
  17. package/lib/engine/engine_create_objects.d.ts +11 -0
  18. package/lib/engine/engine_create_objects.js +20 -0
  19. package/lib/engine/engine_create_objects.js.map +1 -0
  20. package/lib/engine/engine_element.js +2 -2
  21. package/lib/engine/engine_element.js.map +1 -1
  22. package/lib/engine/engine_gameobject.d.ts +33 -0
  23. package/lib/engine/engine_gameobject.js +449 -0
  24. package/lib/engine/engine_gameobject.js.map +1 -0
  25. package/lib/engine/engine_gltf.d.ts +13 -2
  26. package/lib/engine/engine_gltf.js +7 -1
  27. package/lib/engine/engine_gltf.js.map +1 -1
  28. package/lib/engine/engine_gltf_builtin_components.d.ts +3 -3
  29. package/lib/engine/engine_gltf_builtin_components.js +2 -3
  30. package/lib/engine/engine_gltf_builtin_components.js.map +1 -1
  31. package/lib/engine/engine_instancing.d.ts +5 -0
  32. package/lib/engine/engine_instancing.js +22 -0
  33. package/lib/engine/engine_instancing.js.map +1 -0
  34. package/lib/engine/engine_lightdata.d.ts +1 -1
  35. package/lib/engine/engine_lightdata.js.map +1 -1
  36. package/lib/engine/engine_mainloop_utils.d.ts +2 -2
  37. package/lib/engine/engine_mainloop_utils.js +7 -6
  38. package/lib/engine/engine_mainloop_utils.js.map +1 -1
  39. package/lib/engine/engine_networking.d.ts +2 -11
  40. package/lib/engine/engine_networking.js +1 -7
  41. package/lib/engine/engine_networking.js.map +1 -1
  42. package/lib/engine/engine_networking_files.d.ts +1 -1
  43. package/lib/engine/engine_networking_files.js +8 -7
  44. package/lib/engine/engine_networking_files.js.map +1 -1
  45. package/lib/engine/engine_networking_files_default_components.d.ts +2 -2
  46. package/lib/engine/engine_networking_files_default_components.js +38 -43
  47. package/lib/engine/engine_networking_files_default_components.js.map +1 -1
  48. package/lib/engine/engine_networking_instantiate.d.ts +8 -6
  49. package/lib/engine/engine_networking_instantiate.js +12 -9
  50. package/lib/engine/engine_networking_instantiate.js.map +1 -1
  51. package/lib/engine/engine_networking_types.d.ts +14 -0
  52. package/lib/engine/engine_networking_types.js +8 -0
  53. package/lib/engine/engine_networking_types.js.map +1 -0
  54. package/lib/engine/engine_physics.d.ts +1 -23
  55. package/lib/engine/engine_physics.js +18 -56
  56. package/lib/engine/engine_physics.js.map +1 -1
  57. package/lib/engine/engine_rendererdata.d.ts +1 -1
  58. package/lib/engine/engine_rendererdata.js.map +1 -1
  59. package/lib/engine/engine_scenetools.d.ts +2 -2
  60. package/lib/engine/engine_scenetools.js +22 -5
  61. package/lib/engine/engine_scenetools.js.map +1 -1
  62. package/lib/engine/engine_serialization_builtin_serializer.d.ts +1 -1
  63. package/lib/engine/engine_serialization_core.d.ts +1 -1
  64. package/lib/engine/engine_serialization_decorator.d.ts +1 -1
  65. package/lib/engine/engine_setup.d.ts +14 -15
  66. package/lib/engine/engine_setup.js +34 -23
  67. package/lib/engine/engine_setup.js.map +1 -1
  68. package/lib/engine/engine_three_utils.js +0 -6
  69. package/lib/engine/engine_three_utils.js.map +1 -1
  70. package/lib/engine/engine_types.d.ts +103 -0
  71. package/lib/engine/engine_types.js +49 -0
  72. package/lib/engine/engine_types.js.map +1 -0
  73. package/lib/engine/engine_utils.d.ts +1 -1
  74. package/lib/engine/engine_utils.js.map +1 -1
  75. package/lib/engine/extensions/NEEDLE_components.js +2 -2
  76. package/lib/engine/extensions/NEEDLE_components.js.map +1 -1
  77. package/lib/engine/extensions/NEEDLE_deferred_texture.d.ts +1 -1
  78. package/lib/engine/extensions/NEEDLE_lighting_settings.d.ts +1 -1
  79. package/lib/engine/extensions/NEEDLE_lightmaps.d.ts +1 -1
  80. package/lib/engine/extensions/NEEDLE_render_objects.d.ts +2 -2
  81. package/lib/engine/extensions/NEEDLE_techniques_webgl.d.ts +1 -1
  82. package/lib/engine/extensions/NEEDLE_techniques_webgl.js +3 -2
  83. package/lib/engine/extensions/NEEDLE_techniques_webgl.js.map +1 -1
  84. package/lib/engine/extensions/extensions.d.ts +1 -1
  85. package/lib/engine-components/Animation.js +1 -1
  86. package/lib/engine-components/Animation.js.map +1 -1
  87. package/lib/engine-components/Animator.js.map +1 -1
  88. package/lib/engine-components/AvatarLoader.js +6 -5
  89. package/lib/engine-components/AvatarLoader.js.map +1 -1
  90. package/lib/engine-components/Camera.d.ts +2 -2
  91. package/lib/engine-components/Camera.js +6 -12
  92. package/lib/engine-components/Camera.js.map +1 -1
  93. package/lib/engine-components/CameraUtils.d.ts +3 -0
  94. package/lib/engine-components/CameraUtils.js +15 -0
  95. package/lib/engine-components/CameraUtils.js.map +1 -0
  96. package/lib/engine-components/Collider.d.ts +1 -0
  97. package/lib/engine-components/Collider.js +4 -0
  98. package/lib/engine-components/Collider.js.map +1 -1
  99. package/lib/engine-components/Component.d.ts +16 -50
  100. package/lib/engine-components/Component.js +67 -465
  101. package/lib/engine-components/Component.js.map +1 -1
  102. package/lib/engine-components/DragControls.js +1 -1
  103. package/lib/engine-components/DragControls.js.map +1 -1
  104. package/lib/engine-components/Duplicatable.js +2 -1
  105. package/lib/engine-components/Duplicatable.js.map +1 -1
  106. package/lib/engine-components/LODGroup.js.map +1 -1
  107. package/lib/engine-components/Light.d.ts +2 -1
  108. package/lib/engine-components/Light.js +2 -2
  109. package/lib/engine-components/Light.js.map +1 -1
  110. package/lib/engine-components/NestedGltf.js +2 -1
  111. package/lib/engine-components/NestedGltf.js.map +1 -1
  112. package/lib/engine-components/OrbitControls.js +4 -2
  113. package/lib/engine-components/OrbitControls.js.map +1 -1
  114. package/lib/engine-components/Renderer.d.ts +3 -5
  115. package/lib/engine-components/Renderer.js +3 -20
  116. package/lib/engine-components/Renderer.js.map +1 -1
  117. package/lib/engine-components/{Rigidbody.d.ts → RigidBody.d.ts} +2 -1
  118. package/lib/engine-components/{Rigidbody.js → RigidBody.js} +1 -1
  119. package/lib/engine-components/{Rigidbody.js.map → RigidBody.js.map} +1 -1
  120. package/lib/engine-components/ScreenCapture.d.ts +0 -10
  121. package/lib/engine-components/ScreenCapture.js +8 -75
  122. package/lib/engine-components/ScreenCapture.js.map +1 -1
  123. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  124. package/lib/engine-components/SyncedCamera.js +3 -2
  125. package/lib/engine-components/SyncedCamera.js.map +1 -1
  126. package/lib/engine-components/SyncedTransform.js +1 -1
  127. package/lib/engine-components/SyncedTransform.js.map +1 -1
  128. package/lib/engine-components/TestRunner.js.map +1 -1
  129. package/lib/engine-components/VideoPlayer.d.ts +14 -3
  130. package/lib/engine-components/VideoPlayer.js +390 -47
  131. package/lib/engine-components/VideoPlayer.js.map +1 -1
  132. package/lib/engine-components/Voip.js +2 -1
  133. package/lib/engine-components/Voip.js.map +1 -1
  134. package/lib/engine-components/WebARSessionRoot.js +1 -1
  135. package/lib/engine-components/WebARSessionRoot.js.map +1 -1
  136. package/lib/engine-components/WebXR.js.map +1 -1
  137. package/lib/engine-components/WebXRAvatar.js +1 -1
  138. package/lib/engine-components/WebXRAvatar.js.map +1 -1
  139. package/lib/engine-components/WebXRController.d.ts +1 -0
  140. package/lib/engine-components/WebXRController.js +40 -9
  141. package/lib/engine-components/WebXRController.js.map +1 -1
  142. package/lib/engine-components/WebXRGrabRendering.d.ts +1 -1
  143. package/lib/engine-components/WebXRGrabRendering.js +1 -1
  144. package/lib/engine-components/WebXRGrabRendering.js.map +1 -1
  145. package/lib/engine-components/WebXRSync.js +1 -1
  146. package/lib/engine-components/WebXRSync.js.map +1 -1
  147. package/lib/engine-components/avatar/Avatar_Brain_LookAt.js.map +1 -1
  148. package/lib/engine-components/codegen/components.d.ts +1 -2
  149. package/lib/engine-components/codegen/components.js +1 -2
  150. package/lib/engine-components/codegen/components.js.map +1 -1
  151. package/lib/engine-components/js-extensions/ExtensionUtils.d.ts +4 -0
  152. package/lib/engine-components/js-extensions/ExtensionUtils.js +56 -0
  153. package/lib/engine-components/js-extensions/ExtensionUtils.js.map +1 -0
  154. package/lib/engine-components/js-extensions/Object3D.js +16 -41
  155. package/lib/engine-components/js-extensions/Object3D.js.map +1 -1
  156. package/lib/engine-components/js-extensions/Vector.d.ts +2 -0
  157. package/lib/engine-components/js-extensions/Vector.js +16 -0
  158. package/lib/engine-components/js-extensions/Vector.js.map +1 -0
  159. package/lib/engine-components/timeline/PlayableDirector.d.ts +2 -1
  160. package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
  161. package/lib/engine-components/ui/BaseUIComponent.d.ts +1 -0
  162. package/lib/engine-components/ui/BaseUIComponent.js +11 -5
  163. package/lib/engine-components/ui/BaseUIComponent.js.map +1 -1
  164. package/lib/engine-components/ui/Canvas.d.ts +3 -0
  165. package/lib/engine-components/ui/Canvas.js +12 -1
  166. package/lib/engine-components/ui/Canvas.js.map +1 -1
  167. package/lib/engine-components/ui/CanvasScaler.d.ts +0 -0
  168. package/lib/engine-components/ui/CanvasScaler.js +17 -0
  169. package/lib/engine-components/ui/CanvasScaler.js.map +1 -0
  170. package/lib/engine-components/ui/EventSystem.d.ts +4 -1
  171. package/lib/engine-components/ui/EventSystem.js +28 -39
  172. package/lib/engine-components/ui/EventSystem.js.map +1 -1
  173. package/lib/engine-components/ui/Graphic.js +2 -1
  174. package/lib/engine-components/ui/Graphic.js.map +1 -1
  175. package/lib/engine-components/ui/Keyboard.js +2 -1
  176. package/lib/engine-components/ui/Keyboard.js.map +1 -1
  177. package/lib/engine-components/ui/RaycastUtils.d.ts +11 -0
  178. package/lib/engine-components/ui/RaycastUtils.js +62 -0
  179. package/lib/engine-components/ui/RaycastUtils.js.map +1 -0
  180. package/lib/engine-components/ui/Raycaster.js.map +1 -1
  181. package/lib/engine-components/ui/Text.js +8 -3
  182. package/lib/engine-components/ui/Text.js.map +1 -1
  183. package/lib/engine-components/ui/Utils.js +3 -2
  184. package/lib/engine-components/ui/Utils.js.map +1 -1
  185. package/lib/needle-engine.d.ts +3 -1
  186. package/lib/needle-engine.js +4 -2
  187. package/lib/needle-engine.js.map +1 -1
  188. package/package.json +13 -2
  189. package/src/engine/api.ts +3 -0
  190. package/src/engine/codegen/register_types.js +4 -6
  191. package/src/engine/engine_addressables.ts +12 -10
  192. package/src/engine/{engine_components.js → engine_components.ts} +37 -47
  193. package/src/engine/engine_create_objects.ts +27 -0
  194. package/src/engine/engine_element.ts +2 -2
  195. package/src/engine/engine_gameobject.ts +506 -0
  196. package/src/engine/engine_gltf.ts +21 -2
  197. package/src/engine/engine_gltf_builtin_components.ts +8 -7
  198. package/src/engine/engine_instancing.ts +25 -0
  199. package/src/engine/engine_lightdata.ts +1 -1
  200. package/src/engine/engine_mainloop_utils.ts +13 -11
  201. package/src/engine/engine_networking.ts +3 -14
  202. package/src/engine/engine_networking_files.ts +14 -11
  203. package/src/engine/engine_networking_files_default_components.ts +53 -52
  204. package/src/engine/engine_networking_instantiate.ts +24 -14
  205. package/src/engine/engine_networking_types.ts +19 -0
  206. package/src/engine/engine_physics.ts +21 -75
  207. package/src/engine/engine_rendererdata.ts +1 -1
  208. package/src/engine/engine_scenetools.ts +30 -6
  209. package/src/engine/engine_serialization_core.ts +1 -1
  210. package/src/engine/engine_serialization_decorator.ts +1 -1
  211. package/src/engine/engine_setup.ts +51 -37
  212. package/src/engine/engine_three_utils.ts +0 -8
  213. package/src/engine/engine_types.ts +180 -0
  214. package/src/engine/engine_utils.ts +1 -3
  215. package/src/engine/extensions/NEEDLE_components.ts +2 -2
  216. package/src/engine/extensions/NEEDLE_deferred_texture.ts +1 -1
  217. package/src/engine/extensions/NEEDLE_lighting_settings.ts +1 -1
  218. package/src/engine/extensions/NEEDLE_lightmaps.ts +1 -1
  219. package/src/engine/extensions/NEEDLE_render_objects.ts +4 -4
  220. package/src/engine/extensions/NEEDLE_techniques_webgl.ts +5 -4
  221. package/src/engine/extensions/extensions.ts +1 -1
  222. package/src/engine-components/Animation.ts +1 -1
  223. package/src/engine-components/Animator.ts +3 -3
  224. package/src/engine-components/AvatarLoader.ts +6 -5
  225. package/src/engine-components/Camera.ts +10 -13
  226. package/src/engine-components/CameraUtils.ts +15 -0
  227. package/src/engine-components/Collider.ts +5 -0
  228. package/src/engine-components/Component.ts +83 -535
  229. package/src/engine-components/DragControls.ts +1 -1
  230. package/src/engine-components/Duplicatable.ts +4 -3
  231. package/src/engine-components/LODGroup.ts +1 -1
  232. package/src/engine-components/Light.ts +3 -2
  233. package/src/engine-components/NestedGltf.ts +2 -1
  234. package/src/engine-components/OrbitControls.ts +5 -5
  235. package/src/engine-components/Renderer.ts +7 -21
  236. package/src/engine-components/RigidBody.ts +2 -1
  237. package/src/engine-components/ScreenCapture.ts +11 -77
  238. package/src/engine-components/SpectatorCamera.ts +7 -5
  239. package/src/engine-components/SyncedCamera.ts +3 -2
  240. package/src/engine-components/SyncedTransform.ts +2 -2
  241. package/src/engine-components/TestRunner.ts +1 -2
  242. package/src/engine-components/VideoPlayer.ts +401 -48
  243. package/src/engine-components/Voip.ts +2 -1
  244. package/src/engine-components/WebARSessionRoot.ts +1 -1
  245. package/src/engine-components/WebXR.ts +2 -2
  246. package/src/engine-components/WebXRAvatar.ts +1 -1
  247. package/src/engine-components/WebXRController.ts +40 -10
  248. package/src/engine-components/WebXRGrabRendering.ts +1 -1
  249. package/src/engine-components/WebXRSync.ts +1 -1
  250. package/src/engine-components/avatar/Avatar_Brain_LookAt.ts +2 -1
  251. package/src/engine-components/codegen/components.ts +1 -2
  252. package/src/engine-components/js-extensions/ExtensionUtils.ts +66 -0
  253. package/src/engine-components/js-extensions/Object3D.ts +22 -48
  254. package/src/engine-components/js-extensions/Vector.ts +17 -0
  255. package/src/engine-components/timeline/PlayableDirector.ts +2 -1
  256. package/src/engine-components/ui/BaseUIComponent.ts +17 -6
  257. package/src/engine-components/ui/Canvas.ts +14 -2
  258. package/src/engine-components/ui/CanvasScaler.ts +21 -0
  259. package/src/engine-components/ui/EventSystem.ts +30 -35
  260. package/src/engine-components/ui/Graphic.ts +2 -1
  261. package/src/engine-components/ui/Keyboard.ts +2 -1
  262. package/src/engine-components/ui/RaycastUtils.ts +64 -0
  263. package/src/engine-components/ui/Raycaster.ts +2 -0
  264. package/src/engine-components/ui/Text.ts +8 -4
  265. package/src/engine-components/ui/Utils.ts +3 -2
  266. package/src/needle-engine.ts +7 -2
@@ -1 +1 @@
1
- {"version":3,"file":"SyncedTransform.js","sourceRoot":"","sources":["../../../engine-components/SyncedTransform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SyncedTransform.js","sourceRoot":"","sources":["../../../engine-components/SyncedTransform.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TestRunner.js","sourceRoot":"","sources":["../../../engine-components/TestRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TestRunner.js","sourceRoot":"","sources":["../../../engine-components/TestRunner.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  import { Behaviour } from "./Component";
2
2
  import * as THREE from "three";
3
- import { Object3D } from "three";
3
+ export declare enum AspectMode {
4
+ None = 0,
5
+ AdjustHeight = 1,
6
+ AdjustWidth = 2
7
+ }
4
8
  export declare enum VideoSource {
5
9
  VideoClip = 0,
6
10
  Url = 1
@@ -21,6 +25,7 @@ export declare class VideoPlayer extends Behaviour {
21
25
  renderer: THREE.Object3D | null;
22
26
  playOnAwake: boolean;
23
27
  playOnEnable?: boolean;
28
+ aspectMode: AspectMode;
24
29
  private renderMode?;
25
30
  private targetMaterialProperty?;
26
31
  private targetMaterialRenderer?;
@@ -37,13 +42,14 @@ export declare class VideoPlayer extends Behaviour {
37
42
  get isPlaying(): boolean;
38
43
  get crossOrigin(): string | null;
39
44
  set crossOrigin(val: string | null);
45
+ get videoTexture(): THREE.VideoTexture | null;
40
46
  private _crossOrigin;
41
47
  private audioOutputMode;
42
48
  private source;
43
49
  private clip?;
44
50
  private url?;
45
51
  private videoElement;
46
- private videoTexture;
52
+ private _videoTexture;
47
53
  private videoMaterial;
48
54
  private _isPlaying;
49
55
  private wasPlaying;
@@ -59,10 +65,15 @@ export declare class VideoPlayer extends Behaviour {
59
65
  stop(): void;
60
66
  pause(): void;
61
67
  create(playAutomatically: boolean): void;
68
+ updateAspect(): void;
69
+ private _overlay;
70
+ get screenspace(): boolean;
71
+ set screenspace(val: boolean);
62
72
  private _targetObjects;
63
- getTargetObjects(): Array<Object3D>;
64
73
  private createVideoElement;
65
74
  private handleBeginPlaying;
66
75
  private updateVideoElementSettings;
67
76
  private updateVideoElementStyles;
77
+ private _updateAspectRoutineId;
78
+ private updateAspectImpl;
68
79
  }
@@ -4,14 +4,22 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { Behaviour } from "./Component";
7
+ import { Behaviour, GameObject } from "./Component";
8
8
  import * as THREE from "three";
9
9
  import { serializeable } from "../engine/engine_serialization_decorator";
10
- import { Object3D, Texture } from "three";
10
+ import { Object3D, ShaderMaterial, Texture, Vector2, Vector4 } from "three";
11
11
  import { awaitInput } from "../engine/engine_input_utils";
12
12
  import { getParam } from "../engine/engine_utils";
13
13
  import { Renderer } from "./Renderer";
14
+ import { getWorldScale } from "../engine/engine_three_utils";
15
+ import { ObjectUtils, PrimitiveType } from "../engine/engine_create_objects";
14
16
  const debug = getParam("debugvideo");
17
+ export var AspectMode;
18
+ (function (AspectMode) {
19
+ AspectMode[AspectMode["None"] = 0] = "None";
20
+ AspectMode[AspectMode["AdjustHeight"] = 1] = "AdjustHeight";
21
+ AspectMode[AspectMode["AdjustWidth"] = 2] = "AdjustWidth";
22
+ })(AspectMode || (AspectMode = {}));
15
23
  export var VideoSource;
16
24
  (function (VideoSource) {
17
25
  /// <summary>
@@ -41,6 +49,7 @@ export class VideoPlayer extends Behaviour {
41
49
  renderer = null;
42
50
  playOnAwake = true;
43
51
  playOnEnable;
52
+ aspectMode = AspectMode.None;
44
53
  renderMode;
45
54
  targetMaterialProperty;
46
55
  targetMaterialRenderer;
@@ -94,13 +103,16 @@ export class VideoPlayer extends Behaviour {
94
103
  this.videoElement.removeAttribute("crossorigin");
95
104
  }
96
105
  }
106
+ get videoTexture() {
107
+ return this._videoTexture;
108
+ }
97
109
  _crossOrigin = "anonymous";
98
110
  audioOutputMode = VideoAudioOutputMode.AudioSource;
99
111
  source;
100
112
  clip = null;
101
113
  url = null;
102
114
  videoElement = null;
103
- videoTexture = null;
115
+ _videoTexture = null;
104
116
  videoMaterial = null;
105
117
  _isPlaying = false;
106
118
  wasPlaying = false;
@@ -114,6 +126,7 @@ export class VideoPlayer extends Behaviour {
114
126
  this.videoElement.srcObject = video;
115
127
  if (this._isPlaying)
116
128
  this.videoElement.play();
129
+ this.updateAspect();
117
130
  }
118
131
  }
119
132
  setClipURL(url) {
@@ -128,8 +141,10 @@ export class VideoPlayer extends Behaviour {
128
141
  this.create(true);
129
142
  else {
130
143
  this.videoElement.src = url;
131
- if (this._isPlaying)
132
- this.videoElement.play();
144
+ if (this._isPlaying) {
145
+ this.stop();
146
+ this.play();
147
+ }
133
148
  }
134
149
  }
135
150
  awake() {
@@ -151,6 +166,11 @@ export class VideoPlayer extends Behaviour {
151
166
  if (this.playOnEnable === true) {
152
167
  this.handleBeginPlaying(true);
153
168
  }
169
+ if (this.screenspace) {
170
+ this._overlay?.start();
171
+ }
172
+ else
173
+ this._overlay?.stop();
154
174
  }
155
175
  onDisable() {
156
176
  this.pause();
@@ -160,9 +180,9 @@ export class VideoPlayer extends Behaviour {
160
180
  this.videoElement.parentElement?.removeChild(this.videoElement);
161
181
  this.videoElement = null;
162
182
  }
163
- if (this.videoTexture) {
164
- this.videoTexture.dispose();
165
- this.videoTexture = null;
183
+ if (this._videoTexture) {
184
+ this._videoTexture.dispose();
185
+ this._videoTexture = null;
166
186
  }
167
187
  }
168
188
  _receivedInput = false;
@@ -173,6 +193,13 @@ export class VideoPlayer extends Behaviour {
173
193
  this.updateVideoElementSettings();
174
194
  });
175
195
  this._targetObjects = [];
196
+ if (getParam("videoscreenspace")) {
197
+ window.addEventListener("keydown", evt => {
198
+ if (evt.key === "f") {
199
+ this.screenspace = !this.screenspace;
200
+ }
201
+ });
202
+ }
176
203
  }
177
204
  play() {
178
205
  if (!this.videoElement)
@@ -219,20 +246,43 @@ export class VideoPlayer extends Behaviour {
219
246
  // hide it because otherwise it would overlay the website with default css
220
247
  this.updateVideoElementStyles();
221
248
  }
222
- if (typeof src === "string")
249
+ if (typeof src === "string") {
223
250
  this.videoElement.src = src;
251
+ const str = this.videoElement["captureStream"]?.call(this.videoElement);
252
+ this.clip = str;
253
+ }
224
254
  else
225
255
  this.videoElement.srcObject = src;
226
- if (!this.videoTexture)
227
- this.videoTexture = new THREE.VideoTexture(this.videoElement);
228
- this.videoTexture.flipY = false;
229
- this.videoTexture.encoding = THREE.sRGBEncoding;
256
+ if (!this._videoTexture)
257
+ this._videoTexture = new THREE.VideoTexture(this.videoElement);
258
+ this._videoTexture.flipY = false;
259
+ this._videoTexture.encoding = THREE.sRGBEncoding;
230
260
  this.handleBeginPlaying(playAutomatically);
261
+ console.log(this);
231
262
  }
232
- _targetObjects;
233
- getTargetObjects() {
234
- return Array.from(this._targetObjects);
263
+ updateAspect() {
264
+ if (this.aspectMode === AspectMode.None)
265
+ return;
266
+ this.startCoroutine(this.updateAspectImpl());
267
+ }
268
+ _overlay = null;
269
+ get screenspace() {
270
+ return this._overlay?.enabled ?? false;
235
271
  }
272
+ set screenspace(val) {
273
+ if (val) {
274
+ if (!this._videoTexture)
275
+ return;
276
+ if (!this._overlay)
277
+ this._overlay = new VideoOverlay(this.context);
278
+ this._overlay.add(this._videoTexture);
279
+ }
280
+ else
281
+ this._overlay?.remove(this._videoTexture);
282
+ if (this._overlay)
283
+ this._overlay.enabled = val;
284
+ }
285
+ _targetObjects;
236
286
  createVideoElement() {
237
287
  const video = document.createElement("video");
238
288
  if (this._crossOrigin)
@@ -251,13 +301,15 @@ export class VideoPlayer extends Behaviour {
251
301
  switch (this.renderMode) {
252
302
  case VideoRenderMode.MaterialOverride:
253
303
  target = this.targetMaterialRenderer?.gameObject;
304
+ if (!target)
305
+ target = GameObject.getComponent(this.gameObject, Renderer)?.gameObject;
254
306
  break;
255
307
  case VideoRenderMode.RenderTexture:
256
308
  console.error("VideoPlayer renderTexture not implemented yet. Please use material override instead");
257
309
  return;
258
310
  }
259
311
  if (!target) {
260
- console.error("Missing target for video material renderer", this);
312
+ console.error("Missing target for video material renderer", this.name, VideoRenderMode[this.renderMode], this);
261
313
  return;
262
314
  }
263
315
  const mat = target["material"];
@@ -268,12 +320,12 @@ export class VideoPlayer extends Behaviour {
268
320
  target["material"] = this.videoMaterial;
269
321
  }
270
322
  if (!this.targetMaterialProperty) {
271
- this.videoMaterial.map = this.videoTexture;
323
+ this.videoMaterial.map = this._videoTexture;
272
324
  }
273
325
  else {
274
326
  switch (this.targetMaterialProperty) {
275
327
  default:
276
- this.videoMaterial.map = this.videoTexture;
328
+ this.videoMaterial.map = this._videoTexture;
277
329
  break;
278
330
  // doesnt render:
279
331
  // case "emissiveTexture":
@@ -314,6 +366,59 @@ export class VideoPlayer extends Behaviour {
314
366
  this.videoElement.style.userSelect = "none";
315
367
  this.videoElement.style.visibility = "hidden";
316
368
  this.videoElement.style.display = "none";
369
+ this.updateAspect();
370
+ }
371
+ _updateAspectRoutineId = -1;
372
+ *updateAspectImpl() {
373
+ const id = ++this._updateAspectRoutineId;
374
+ const lastAspect = undefined;
375
+ const stream = this.clip;
376
+ while (id === this._updateAspectRoutineId && this.aspectMode !== AspectMode.None && this.clip && stream === this.clip && this._isPlaying) {
377
+ if (!stream || typeof stream === "string") {
378
+ return;
379
+ }
380
+ let aspect = undefined;
381
+ for (const track of stream.getVideoTracks()) {
382
+ const settings = track.getSettings();
383
+ if (settings && settings.width && settings.height) {
384
+ aspect = settings.width / settings.height;
385
+ break;
386
+ }
387
+ // on firefox capture canvas stream works but looks like
388
+ // the canvas stream track doesnt contain settings?!!?
389
+ else {
390
+ aspect = this.context.renderer.domElement.clientWidth / this.context.renderer.domElement.clientHeight;
391
+ }
392
+ }
393
+ if (aspect === undefined) {
394
+ for (let i = 0; i < 10; i++)
395
+ yield;
396
+ if (!this.isPlaying)
397
+ break;
398
+ continue;
399
+ }
400
+ if (lastAspect === aspect) {
401
+ yield;
402
+ continue;
403
+ }
404
+ for (const obj of this._targetObjects) {
405
+ let worldAspect = 1;
406
+ if (obj.parent) {
407
+ const parentScale = getWorldScale(obj.parent);
408
+ worldAspect = parentScale.x / parentScale.y;
409
+ }
410
+ switch (this.aspectMode) {
411
+ case AspectMode.AdjustHeight:
412
+ obj.scale.y = 1 / aspect * obj.scale.x * worldAspect;
413
+ break;
414
+ case AspectMode.AdjustWidth:
415
+ obj.scale.x = aspect * obj.scale.y * worldAspect;
416
+ break;
417
+ }
418
+ }
419
+ for (let i = 0; i < 3; i++)
420
+ yield;
421
+ }
317
422
  }
318
423
  }
319
424
  __decorate([
@@ -325,6 +430,9 @@ __decorate([
325
430
  __decorate([
326
431
  serializeable()
327
432
  ], VideoPlayer.prototype, "playOnEnable", void 0);
433
+ __decorate([
434
+ serializeable()
435
+ ], VideoPlayer.prototype, "aspectMode", void 0);
328
436
  __decorate([
329
437
  serializeable()
330
438
  ], VideoPlayer.prototype, "renderMode", void 0);
@@ -346,32 +454,267 @@ __decorate([
346
454
  __decorate([
347
455
  serializeable()
348
456
  ], VideoPlayer.prototype, "isLooping", null);
349
- // class VideoTexture extends Texture {
350
- // get isVideoTexture() { return true; }
351
- // constructor( video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ) {
352
- // super( video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy );
353
- // this.minFilter = minFilter !== undefined ? minFilter : LinearFilter;
354
- // this.magFilter = magFilter !== undefined ? magFilter : LinearFilter;
355
- // this.generateMipmaps = false;
356
- // const scope = this;
357
- // function updateVideo() {
358
- // scope.needsUpdate = true;
359
- // video.requestVideoFrameCallback( updateVideo );
360
- // }
361
- // if ( 'requestVideoFrameCallback' in video ) {
362
- // video.requestVideoFrameCallback( updateVideo );
363
- // }
364
- // }
365
- // // clone() {
366
- // // return new this.constructor( this.image ).copy( this );
367
- // // }
368
- // update() {
369
- // const video = this.image;
370
- // const hasVideoFrameCallback = 'requestVideoFrameCallback' in video;
371
- // if ( hasVideoFrameCallback === false && video.readyState >= video.HAVE_CURRENT_DATA ) {
372
- // this.needsUpdate = true;
373
- // }
374
- // }
375
- // }
376
- // export { VideoTexture };
457
+ class VideoOverlay {
458
+ context;
459
+ constructor(context) {
460
+ this.context = context;
461
+ this._input = new VideoOverlayInput(this);
462
+ }
463
+ get enabled() {
464
+ return this._isInScreenspaceMode;
465
+ }
466
+ set enabled(val) {
467
+ if (val)
468
+ this.start();
469
+ else
470
+ this.stop();
471
+ }
472
+ add(video) {
473
+ if (this._videos.indexOf(video) === -1) {
474
+ this._videos.push(video);
475
+ }
476
+ }
477
+ remove(video) {
478
+ if (!video)
479
+ return;
480
+ const index = this._videos.indexOf(video);
481
+ if (index >= 0) {
482
+ this._videos.splice(index, 1);
483
+ }
484
+ }
485
+ start() {
486
+ if (this._isInScreenspaceMode)
487
+ return;
488
+ if (this._videos.length < 0)
489
+ return;
490
+ const texture = this._videos[this._videos.length - 1];
491
+ if (!texture)
492
+ return;
493
+ this._isInScreenspaceMode = true;
494
+ if (!this._screenspaceModeQuad) {
495
+ this._screenspaceModeQuad = ObjectUtils.createPrimitive(PrimitiveType.Quad, {
496
+ material: new ScreenspaceTexture(texture)
497
+ });
498
+ if (!this._screenspaceModeQuad)
499
+ return;
500
+ this._screenspaceModeQuad.geometry.scale(2, 2, 2);
501
+ }
502
+ const quad = this._screenspaceModeQuad;
503
+ this.context.scene.add(quad);
504
+ this.updateScreenspaceMaterialUniforms();
505
+ const mat = quad.material;
506
+ mat?.reset();
507
+ this._input?.enable(mat);
508
+ }
509
+ stop() {
510
+ this._isInScreenspaceMode = false;
511
+ if (this._screenspaceModeQuad) {
512
+ this._input?.disable();
513
+ this._screenspaceModeQuad.removeFromParent();
514
+ }
515
+ }
516
+ updateScreenspaceMaterialUniforms() {
517
+ const mat = this._screenspaceModeQuad?.material;
518
+ if (!mat)
519
+ return;
520
+ // mat.videoAspect = this.videoTexture?.image?.width / this.videoTexture?.image?.height;
521
+ mat.screenAspect = this.context.domElement.clientWidth / this.context.domElement.clientHeight;
522
+ }
523
+ _videos = [];
524
+ _screenspaceModeQuad;
525
+ _isInScreenspaceMode = false;
526
+ _input;
527
+ }
528
+ class VideoOverlayInput {
529
+ _onResizeScreenFn;
530
+ _onKeyUpFn;
531
+ _onMouseWheelFn;
532
+ context;
533
+ overlay;
534
+ constructor(overlay) {
535
+ this.overlay = overlay;
536
+ this.context = overlay.context;
537
+ }
538
+ _material;
539
+ enable(mat) {
540
+ this._material = mat;
541
+ window.addEventListener("resize", this._onResizeScreenFn = () => {
542
+ this.overlay.updateScreenspaceMaterialUniforms();
543
+ });
544
+ window.addEventListener("keyup", this._onKeyUpFn = (args) => {
545
+ if (args.key === "Escape")
546
+ this.overlay.stop();
547
+ });
548
+ window.addEventListener("wheel", this._onMouseWheelFn = (args) => {
549
+ if (this.overlay.enabled) {
550
+ mat.zoom += args.deltaY * .0005;
551
+ args.preventDefault();
552
+ }
553
+ }, { passive: false });
554
+ const delta = new Vector2();
555
+ window.addEventListener("mousemove", (args) => {
556
+ if (this.overlay.enabled && this.context.input.getPointerPressed(0)) {
557
+ const normalizedMovement = new Vector2(args.movementX, args.movementY);
558
+ normalizedMovement.x /= this.context.domElement.clientWidth;
559
+ normalizedMovement.y /= this.context.domElement.clientHeight;
560
+ delta.set(normalizedMovement.x, normalizedMovement.y);
561
+ delta.multiplyScalar(mat.zoom / -this.context.time.deltaTime * .01);
562
+ mat.offset = mat.offset.add(delta);
563
+ }
564
+ });
565
+ window.addEventListener("pointermove", (args) => {
566
+ if (this.overlay.enabled && this.context.input.getPointerPressed(0)) {
567
+ const count = this.context.input.getTouchesPressedCount();
568
+ if (count === 1) {
569
+ delta.set(args.movementX, args.movementY);
570
+ delta.multiplyScalar(mat.zoom * -this.context.time.deltaTime * .05);
571
+ mat.offset = mat.offset.add(delta);
572
+ }
573
+ }
574
+ });
575
+ let lastTouchStartTime = 0;
576
+ window.addEventListener("touchstart", e => {
577
+ if (e.touches.length < 2) {
578
+ if (this.context.time.time - lastTouchStartTime < .3) {
579
+ this.overlay.stop();
580
+ }
581
+ lastTouchStartTime = this.context.time.time;
582
+ return;
583
+ }
584
+ this._isPinching = true;
585
+ this._lastPinch = 0;
586
+ });
587
+ window.addEventListener("touchmove", e => {
588
+ if (!this._isPinching || !this._material)
589
+ return;
590
+ const touch1 = e.touches[0];
591
+ const touch2 = e.touches[1];
592
+ const dx = touch1.clientX - touch2.clientX;
593
+ const dy = touch1.clientY - touch2.clientY;
594
+ const distance = Math.sqrt(dx * dx + dy * dy);
595
+ if (this._lastPinch !== 0) {
596
+ const delta = distance - this._lastPinch;
597
+ this._material.zoom -= delta * .004;
598
+ }
599
+ this._lastPinch = distance;
600
+ });
601
+ window.addEventListener("touchend", () => {
602
+ this._isPinching = false;
603
+ });
604
+ }
605
+ _isPinching = false;
606
+ _lastPinch = 0;
607
+ disable() {
608
+ if (this._onResizeScreenFn) {
609
+ window.removeEventListener("resize", this._onResizeScreenFn);
610
+ this._onResizeScreenFn = undefined;
611
+ }
612
+ if (this._onKeyUpFn) {
613
+ window.removeEventListener("keyup", this._onKeyUpFn);
614
+ this._onKeyUpFn = undefined;
615
+ }
616
+ if (this._onMouseWheelFn) {
617
+ window.removeEventListener("wheel", this._onMouseWheelFn);
618
+ this._onMouseWheelFn = undefined;
619
+ }
620
+ }
621
+ }
622
+ class ScreenspaceTexture extends ShaderMaterial {
623
+ set screenAspect(val) {
624
+ this.uniforms["screenAspect"].value = val;
625
+ this.needsUpdate = true;
626
+ }
627
+ set offset(vec) {
628
+ const val = this.uniforms["offsetScale"].value;
629
+ val.x = vec.x;
630
+ val.y = vec.y;
631
+ // console.log(val);
632
+ this.uniforms["offsetScale"].value = val;
633
+ this.needsUpdate = true;
634
+ }
635
+ _offset = new Vector2();
636
+ get offset() {
637
+ const val = this.uniforms["offsetScale"].value;
638
+ this._offset.set(val.x, val.y);
639
+ return this._offset;
640
+ }
641
+ set zoom(val) {
642
+ const zoom = this.uniforms["offsetScale"].value;
643
+ if (val < .001)
644
+ val = .001;
645
+ zoom.z = val;
646
+ // zoom.z = this.maxZoom - val;
647
+ // zoom.z /= this.maxZoom;
648
+ this.needsUpdate = true;
649
+ }
650
+ get zoom() {
651
+ return this.uniforms["offsetScale"].value.z; // * this.maxZoom;
652
+ }
653
+ reset() {
654
+ this.offset = this.offset.set(0, 0);
655
+ this.zoom = 1;
656
+ this.needsUpdate = true;
657
+ }
658
+ // maxZoom : number = 10
659
+ constructor(tex) {
660
+ super();
661
+ this.uniforms = {
662
+ map: { value: tex },
663
+ screenAspect: { value: 1 },
664
+ offsetScale: { value: new Vector4(0, 0, 1, 1) }
665
+ };
666
+ this.vertexShader = `
667
+ uniform sampler2D map;
668
+ uniform float screenAspect;
669
+ uniform vec4 offsetScale;
670
+ varying vec2 vUv;
671
+
672
+ void main() {
673
+
674
+ gl_Position = vec4( position , 1.0 );
675
+ vUv = uv;
676
+ vUv.y = 1. - vUv.y;
677
+
678
+ // fit into screen
679
+ ivec2 res = textureSize(map, 0);
680
+ float videoAspect = float(res.x) / float(res.y);
681
+ float aspect = videoAspect / screenAspect;
682
+ if(aspect >= 1.0)
683
+ {
684
+ vUv.y = vUv.y * aspect;
685
+ float offset = (1. - aspect) * .5;
686
+ vUv.y = vUv.y + offset;
687
+ }
688
+ else
689
+ {
690
+ vUv.x = vUv.x / aspect;
691
+ float offset = (1. - 1. / aspect) * .5;
692
+ vUv.x = vUv.x + offset;
693
+ }
694
+
695
+ vUv.x -= .5;
696
+ vUv.y -= .5;
697
+
698
+ vUv.x *= offsetScale.z;
699
+ vUv.y *= offsetScale.z;
700
+ vUv.x += offsetScale.x;
701
+ vUv.y += offsetScale.y;
702
+
703
+ vUv.x += .5;
704
+ vUv.y += .5;
705
+ }
706
+
707
+ `;
708
+ this.fragmentShader = `
709
+ uniform sampler2D map;
710
+ varying vec2 vUv;
711
+ void main() {
712
+ if(vUv.x < 0. || vUv.x > 1. || vUv.y < 0. || vUv.y > 1.)
713
+ gl_FragColor = vec4(0., 0., 0., 1.);
714
+ else
715
+ gl_FragColor = texture2D(map, vUv);
716
+ }
717
+ `;
718
+ }
719
+ }
377
720
  //# sourceMappingURL=VideoPlayer.js.map