@needle-tools/engine 2.66.1-pre → 2.67.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.
- package/CHANGELOG.md +20 -0
- package/dist/needle-engine.js +34306 -26230
- package/dist/needle-engine.umd.cjs +743 -298
- package/lib/engine/api.d.ts +4 -0
- package/lib/engine/api.js +10 -0
- package/lib/engine/api.js.map +1 -1
- package/lib/engine/codegen/register_types.js +23 -7
- package/lib/engine/codegen/register_types.js.map +1 -1
- package/lib/engine/debug/debug_overlay.js +7 -1
- package/lib/engine/debug/debug_overlay.js.map +1 -1
- package/lib/engine/engine_addressables.js +2 -2
- package/lib/engine/engine_addressables.js.map +1 -1
- package/lib/engine/engine_assetdatabase.d.ts +17 -51
- package/lib/engine/engine_assetdatabase.js +252 -126
- package/lib/engine/engine_assetdatabase.js.map +1 -1
- package/lib/engine/engine_components.js +13 -1
- package/lib/engine/engine_components.js.map +1 -1
- package/lib/engine/engine_components_internal.d.ts +8 -0
- package/lib/engine/engine_components_internal.js +29 -0
- package/lib/engine/engine_components_internal.js.map +1 -0
- package/lib/engine/engine_constants.d.ts +1 -0
- package/lib/engine/engine_constants.js +1 -0
- package/lib/engine/engine_constants.js.map +1 -1
- package/lib/engine/engine_context_registry.d.ts +2 -0
- package/lib/engine/engine_context_registry.js +6 -0
- package/lib/engine/engine_context_registry.js.map +1 -1
- package/lib/engine/engine_editor-sync.d.ts +9 -0
- package/lib/engine/engine_editor-sync.js +8 -0
- package/lib/engine/engine_editor-sync.js.map +1 -0
- package/lib/engine/engine_element_loading.js +1 -1
- package/lib/engine/engine_element_loading.js.map +1 -1
- package/lib/engine/engine_gameobject.js +15 -20
- package/lib/engine/engine_gameobject.js.map +1 -1
- package/lib/engine/engine_gltf_builtin_components.d.ts +2 -3
- package/lib/engine/engine_gltf_builtin_components.js +23 -6
- package/lib/engine/engine_gltf_builtin_components.js.map +1 -1
- package/lib/engine/engine_networking_auto.d.ts +1 -0
- package/lib/engine/engine_networking_auto.js +42 -9
- package/lib/engine/engine_networking_auto.js.map +1 -1
- package/lib/engine/engine_patcher.d.ts +8 -0
- package/lib/engine/engine_patcher.js +98 -0
- package/lib/engine/engine_patcher.js.map +1 -0
- package/lib/engine/engine_physics.d.ts +5 -1
- package/lib/engine/engine_physics.js +11 -1
- package/lib/engine/engine_physics.js.map +1 -1
- package/lib/engine/engine_scenetools.js +0 -1
- package/lib/engine/engine_scenetools.js.map +1 -1
- package/lib/engine/engine_serialization_core.js +4 -0
- package/lib/engine/engine_serialization_core.js.map +1 -1
- package/lib/engine/engine_setup.d.ts +1 -1
- package/lib/engine/engine_setup.js +9 -5
- package/lib/engine/engine_setup.js.map +1 -1
- package/lib/engine/engine_texture.d.ts +6 -1
- package/lib/engine/engine_texture.js +39 -1
- package/lib/engine/engine_texture.js.map +1 -1
- package/lib/engine/engine_types.d.ts +4 -0
- package/lib/engine/engine_types.js.map +1 -1
- package/lib/engine/engine_utils.js +3 -2
- package/lib/engine/engine_utils.js.map +1 -1
- package/lib/engine/extensions/NEEDLE_progressive.d.ts +0 -1
- package/lib/engine/extensions/NEEDLE_progressive.js +24 -26
- package/lib/engine/extensions/NEEDLE_progressive.js.map +1 -1
- package/lib/engine/extensions/extensions.d.ts +4 -1
- package/lib/engine/extensions/extensions.js +16 -0
- package/lib/engine/extensions/extensions.js.map +1 -1
- package/lib/engine/extensions/usage_tracker.d.ts +12 -0
- package/lib/engine/extensions/usage_tracker.js +59 -0
- package/lib/engine/extensions/usage_tracker.js.map +1 -0
- package/lib/engine-components/AnimatorController.js +4 -0
- package/lib/engine-components/AnimatorController.js.map +1 -1
- package/lib/engine-components/AudioSource.js +2 -1
- package/lib/engine-components/AudioSource.js.map +1 -1
- package/lib/engine-components/Camera.d.ts +6 -0
- package/lib/engine-components/Camera.js +70 -31
- package/lib/engine-components/Camera.js.map +1 -1
- package/lib/engine-components/Component.d.ts +52 -0
- package/lib/engine-components/Component.js +55 -14
- package/lib/engine-components/Component.js.map +1 -1
- package/lib/engine-components/Networking.js +19 -0
- package/lib/engine-components/Networking.js.map +1 -1
- package/lib/engine-components/OrbitControls.d.ts +2 -0
- package/lib/engine-components/OrbitControls.js +9 -0
- package/lib/engine-components/OrbitControls.js.map +1 -1
- package/lib/engine-components/ParticleSystem.js +11 -1
- package/lib/engine-components/ParticleSystem.js.map +1 -1
- package/lib/engine-components/ReflectionProbe.js +18 -6
- package/lib/engine-components/ReflectionProbe.js.map +1 -1
- package/lib/engine-components/Renderer.d.ts +1 -1
- package/lib/engine-components/Renderer.js +24 -6
- package/lib/engine-components/Renderer.js.map +1 -1
- package/lib/engine-components/Skybox.js +2 -0
- package/lib/engine-components/Skybox.js.map +1 -1
- package/lib/engine-components/SmoothFollow.js +1 -2
- package/lib/engine-components/SmoothFollow.js.map +1 -1
- package/lib/engine-components/WebARCameraBackground.d.ts +19 -0
- package/lib/engine-components/WebARCameraBackground.js +185 -0
- package/lib/engine-components/WebARCameraBackground.js.map +1 -0
- package/lib/engine-components/WebXR.d.ts +4 -0
- package/lib/engine-components/WebXR.js +11 -8
- package/lib/engine-components/WebXR.js.map +1 -1
- package/lib/engine-components/WebXRAvatar.js +1 -0
- package/lib/engine-components/WebXRAvatar.js.map +1 -1
- package/lib/engine-components/codegen/components.d.ts +14 -6
- package/lib/engine-components/codegen/components.js +14 -6
- package/lib/engine-components/codegen/components.js.map +1 -1
- package/lib/engine-components/js-extensions/Object3D.js +4 -1
- package/lib/engine-components/js-extensions/Object3D.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/Antialiasing.d.ts +13 -0
- package/lib/engine-components/postprocessing/Effects/Antialiasing.js +46 -0
- package/lib/engine-components/postprocessing/Effects/Antialiasing.js.map +1 -0
- package/lib/engine-components/postprocessing/Effects/Bloom.d.ts +12 -0
- package/lib/engine-components/postprocessing/Effects/Bloom.js +76 -0
- package/lib/engine-components/postprocessing/Effects/Bloom.js.map +1 -0
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.d.ts +8 -0
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js +39 -0
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js.map +1 -0
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.d.ts +12 -0
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js +96 -0
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js.map +1 -0
- package/lib/engine-components/postprocessing/Effects/DepthOfField.d.ts +21 -0
- package/lib/engine-components/postprocessing/Effects/DepthOfField.js +87 -0
- package/lib/engine-components/postprocessing/Effects/DepthOfField.js.map +1 -0
- package/lib/engine-components/postprocessing/Effects/Pixelation.d.ts +7 -0
- package/lib/engine-components/postprocessing/Effects/Pixelation.js +30 -0
- package/lib/engine-components/postprocessing/Effects/Pixelation.js.map +1 -0
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.d.ts +11 -0
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.js +70 -0
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.js.map +1 -0
- package/lib/engine-components/postprocessing/Effects/Tonemapping.d.ts +16 -0
- package/lib/engine-components/postprocessing/Effects/Tonemapping.js +52 -0
- package/lib/engine-components/postprocessing/Effects/Tonemapping.js.map +1 -0
- package/lib/engine-components/postprocessing/Effects/Vignette.d.ts +11 -0
- package/lib/engine-components/postprocessing/Effects/Vignette.js +57 -0
- package/lib/engine-components/postprocessing/Effects/Vignette.js.map +1 -0
- package/lib/engine-components/postprocessing/PostProcessingEffect.d.ts +29 -0
- package/lib/engine-components/postprocessing/PostProcessingEffect.js +89 -0
- package/lib/engine-components/postprocessing/PostProcessingEffect.js.map +1 -0
- package/lib/engine-components/postprocessing/PostProcessingHandler.d.ts +13 -0
- package/lib/engine-components/postprocessing/PostProcessingHandler.js +119 -0
- package/lib/engine-components/postprocessing/PostProcessingHandler.js.map +1 -0
- package/lib/engine-components/postprocessing/Volume.d.ts +23 -0
- package/lib/engine-components/postprocessing/Volume.js +176 -0
- package/lib/engine-components/postprocessing/Volume.js.map +1 -0
- package/lib/engine-components/postprocessing/VolumeParameter.d.ts +21 -0
- package/lib/engine-components/postprocessing/VolumeParameter.js +75 -0
- package/lib/engine-components/postprocessing/VolumeParameter.js.map +1 -0
- package/lib/engine-components/postprocessing/VolumeProfile.d.ts +7 -0
- package/lib/engine-components/postprocessing/VolumeProfile.js +42 -0
- package/lib/engine-components/postprocessing/VolumeProfile.js.map +1 -0
- package/lib/engine-components/timeline/TimelineTracks.js +14 -15
- package/lib/engine-components/timeline/TimelineTracks.js.map +1 -1
- package/lib/engine-components/ui/Text.js +28 -170
- package/lib/engine-components/ui/Text.js.map +1 -1
- package/lib/engine-components-experimental/networking/PlayerSync.d.ts +18 -0
- package/lib/engine-components-experimental/networking/PlayerSync.js +61 -7
- package/lib/engine-components-experimental/networking/PlayerSync.js.map +1 -1
- package/lib/include/three/ARButton.d.ts +1 -1
- package/lib/include/three/ARButton.js +11 -19
- package/lib/include/three/ARButton.js.map +1 -1
- package/lib/include/three/VRButton.js +1 -4
- package/lib/include/three/VRButton.js.map +1 -1
- package/package.json +3 -2
- package/plugins/vite/drop-client.js +77 -0
- package/plugins/vite/drop.js +81 -0
- package/plugins/vite/editor-connection.js +121 -0
- package/plugins/vite/index.js +9 -4
- package/src/engine/api.ts +30 -1
- package/src/engine/codegen/register_types.js +25 -9
- package/src/engine/debug/debug_overlay.ts +7 -1
- package/src/engine/engine_addressables.ts +2 -2
- package/src/engine/engine_assetdatabase.ts +291 -184
- package/src/engine/engine_components.ts +20 -1
- package/src/engine/engine_components_internal.ts +30 -0
- package/src/engine/engine_constants.ts +4 -1
- package/src/engine/engine_context_registry.ts +7 -0
- package/src/engine/engine_editor-sync.ts +21 -0
- package/src/engine/engine_element_loading.ts +1 -1
- package/src/engine/engine_gameobject.ts +16 -21
- package/src/engine/engine_gltf_builtin_components.ts +30 -15
- package/src/engine/engine_networking_auto.ts +48 -11
- package/src/engine/engine_patcher.ts +113 -0
- package/src/engine/engine_physics.ts +15 -2
- package/src/engine/engine_scenetools.ts +0 -1
- package/src/engine/engine_serialization_core.ts +6 -0
- package/src/engine/engine_setup.ts +11 -5
- package/src/engine/engine_texture.ts +54 -5
- package/src/engine/engine_types.ts +6 -1
- package/src/engine/engine_utils.ts +6 -5
- package/src/engine/extensions/NEEDLE_progressive.ts +32 -32
- package/src/engine/extensions/extensions.ts +22 -1
- package/src/engine/extensions/usage_tracker.ts +91 -0
- package/src/engine-components/AnimatorController.ts +2 -0
- package/src/engine-components/AudioSource.ts +1 -1
- package/src/engine-components/Camera.ts +77 -37
- package/src/engine-components/Component.ts +74 -30
- package/src/engine-components/Networking.ts +9 -1
- package/src/engine-components/OrbitControls.ts +11 -2
- package/src/engine-components/ParticleSystem.ts +9 -1
- package/src/engine-components/ReflectionProbe.ts +17 -7
- package/src/engine-components/Renderer.ts +22 -5
- package/src/engine-components/Skybox.ts +2 -0
- package/src/engine-components/SmoothFollow.ts +4 -4
- package/src/engine-components/WebARCameraBackground.ts +215 -0
- package/src/engine-components/WebXR.ts +12 -8
- package/src/engine-components/WebXRAvatar.ts +1 -0
- package/src/engine-components/codegen/components.ts +14 -6
- package/src/engine-components/js-extensions/Object3D.ts +6 -1
- package/src/engine-components/postprocessing/Effects/Antialiasing.ts +52 -0
- package/src/engine-components/postprocessing/Effects/Bloom.ts +75 -0
- package/src/engine-components/postprocessing/Effects/ChromaticAberration.ts +36 -0
- package/src/engine-components/postprocessing/Effects/ColorAdjustments.ts +114 -0
- package/src/engine-components/postprocessing/Effects/DepthOfField.ts +90 -0
- package/src/engine-components/postprocessing/Effects/Pixelation.ts +28 -0
- package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.ts +71 -0
- package/src/engine-components/postprocessing/Effects/Tonemapping.ts +55 -0
- package/src/engine-components/postprocessing/Effects/Vignette.ts +55 -0
- package/src/engine-components/postprocessing/PostProcessingEffect.ts +112 -0
- package/src/engine-components/postprocessing/PostProcessingHandler.ts +148 -0
- package/src/engine-components/postprocessing/Volume.ts +194 -0
- package/src/engine-components/postprocessing/VolumeParameter.ts +85 -0
- package/src/engine-components/postprocessing/VolumeProfile.ts +40 -0
- package/src/engine-components/timeline/TimelineTracks.ts +16 -17
- package/src/engine-components/ui/Text.ts +37 -174
- package/src/engine-components-experimental/networking/PlayerSync.ts +68 -7
- package/src/include/three/ARButton.js +13 -24
- package/src/include/three/VRButton.js +1 -7
- package/lib/engine-components/Volume.d.ts +0 -34
- package/lib/engine-components/Volume.js +0 -140
- package/lib/engine-components/Volume.js.map +0 -1
- package/src/engine-components/Volume.ts +0 -141
|
@@ -1,12 +1,22 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { serializable } from "../engine/engine_serialization";
|
|
1
8
|
import { isLocalNetwork } from "../engine/engine_networking_utils";
|
|
2
9
|
import { getParam } from "../engine/engine_utils";
|
|
3
10
|
import { Behaviour } from "./Component";
|
|
11
|
+
const debug = getParam("debugnet");
|
|
4
12
|
export class Networking extends Behaviour {
|
|
5
13
|
url = null;
|
|
6
14
|
urlParameterName = null;
|
|
7
15
|
// used when local host is detected
|
|
8
16
|
localhost = null;
|
|
9
17
|
awake() {
|
|
18
|
+
if (debug)
|
|
19
|
+
console.log(this);
|
|
10
20
|
this.context.connection.registerProvider(this);
|
|
11
21
|
}
|
|
12
22
|
getWebsocketUrl() {
|
|
@@ -47,4 +57,13 @@ export class Networking extends Behaviour {
|
|
|
47
57
|
return isLocalNetwork(hostname);
|
|
48
58
|
}
|
|
49
59
|
}
|
|
60
|
+
__decorate([
|
|
61
|
+
serializable()
|
|
62
|
+
], Networking.prototype, "url", void 0);
|
|
63
|
+
__decorate([
|
|
64
|
+
serializable()
|
|
65
|
+
], Networking.prototype, "urlParameterName", void 0);
|
|
66
|
+
__decorate([
|
|
67
|
+
serializable()
|
|
68
|
+
], Networking.prototype, "localhost", void 0);
|
|
50
69
|
//# sourceMappingURL=Networking.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Networking.js","sourceRoot":"","sources":["../../../src/engine-components/Networking.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Networking.js","sourceRoot":"","sources":["../../../src/engine-components/Networking.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;AAEnC,MAAM,OAAO,UAAW,SAAQ,SAAS;IAGrC,GAAG,GAAkB,IAAI,CAAC;IAE1B,gBAAgB,GAAkB,IAAI,CAAC;IAEvC,mCAAmC;IAEnC,SAAS,GAAkB,IAAI,CAAC;IAEhC,KAAK;QACD,IAAI,KAAK;YACL,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,eAAe;QAEX,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE9E,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACvB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC5C,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;gBAChC,SAAS,GAAG,GAAG,CAAC;aACnB;SACJ;QAED,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAE5B,wCAAwC;QACxC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,6DAA6D,EAAE,IAAI,CAAC,CAAC;QAC9F,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,EAAE,MAAM;YAAE,OAAO,IAAI,CAAC;QAChC,0FAA0F;QAC1F,MAAM,YAAY,GAAG,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;QACpD,IAAI,YAAY;YAAE,OAAO,SAAS,CAAC;QACnC,8BAA8B;QAC9B,OAAO,QAAQ,GAAG,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAGM,MAAM,CAAC,MAAM,CAAC,GAAW,EAAE,iBAAiC;QAE/D,IAAI,MAAM,GAAG,GAAG,CAAC;QAEjB,MAAM,eAAe,GAAG,UAAU,CAAC,cAAc,EAAE,IAAI,iBAAiB,CAAC;QACzE,IAAI,eAAe,EAAE;YACjB,MAAM,GAAG,iBAAiB,CAAC;SAC9B;QAED,IAAI,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE;YACtB,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC/D,MAAM,GAAG,IAAI,GAAG,GAAG,CAAC;SACvB;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ;QAC5D,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;CACJ;AA3DG;IADC,YAAY,EAAE;uCACW;AAE1B;IADC,YAAY,EAAE;oDACwB;AAIvC;IADC,YAAY,EAAE;6CACiB"}
|
|
@@ -36,12 +36,14 @@ export declare class OrbitControls extends Behaviour implements ICameraControlle
|
|
|
36
36
|
private _eventSystem?;
|
|
37
37
|
private _afterHandleInputFn?;
|
|
38
38
|
private _camera;
|
|
39
|
+
private _syncedTransform?;
|
|
39
40
|
targetElement: HTMLElement | null;
|
|
40
41
|
awake(): void;
|
|
41
42
|
start(): void;
|
|
42
43
|
onDestroy(): void;
|
|
43
44
|
onEnable(): void;
|
|
44
45
|
onDisable(): void;
|
|
46
|
+
private onControlsChangeStarted;
|
|
45
47
|
private _shouldDisable;
|
|
46
48
|
private afterHandleInput;
|
|
47
49
|
private startRaycastDelayed;
|
|
@@ -15,6 +15,7 @@ import { Box3, Vector2, Vector3 } from "three";
|
|
|
15
15
|
import { OrbitControls as ThreeOrbitControls } from "three/examples/jsm/controls/OrbitControls";
|
|
16
16
|
import { EventSystem, EventSystemEvents } from "./ui/EventSystem";
|
|
17
17
|
import { setCameraController } from "../engine/engine_camera";
|
|
18
|
+
import { SyncedTransform } from "./SyncedTransform";
|
|
18
19
|
const freeCam = getParam("freecam");
|
|
19
20
|
const disabledKeys = { LEFT: "", UP: "", RIGHT: "", BOTTOM: "" };
|
|
20
21
|
let defaultKeys = undefined;
|
|
@@ -60,6 +61,7 @@ export class OrbitControls extends Behaviour {
|
|
|
60
61
|
_eventSystem;
|
|
61
62
|
_afterHandleInputFn;
|
|
62
63
|
_camera = null;
|
|
64
|
+
_syncedTransform;
|
|
63
65
|
targetElement = null;
|
|
64
66
|
awake() {
|
|
65
67
|
this._lookTargetPosition = new Vector3();
|
|
@@ -117,6 +119,7 @@ export class OrbitControls extends Behaviour {
|
|
|
117
119
|
this._controls.autoRotate = this.autoRotate;
|
|
118
120
|
this._controls.autoRotateSpeed = this.autoRotateSpeed;
|
|
119
121
|
this._controls.enableZoom = this.enableZoom;
|
|
122
|
+
this._controls.addEventListener("start", this.onControlsChangeStarted.bind(this));
|
|
120
123
|
if (cam?.type === "PerspectiveCamera") {
|
|
121
124
|
if (freeCam) {
|
|
122
125
|
// dont set limits
|
|
@@ -142,6 +145,7 @@ export class OrbitControls extends Behaviour {
|
|
|
142
145
|
this._controls.listenToKeyEvents(window.document.body);
|
|
143
146
|
}
|
|
144
147
|
}
|
|
148
|
+
this._syncedTransform = GameObject.getComponent(this.gameObject, SyncedTransform) ?? undefined;
|
|
145
149
|
}
|
|
146
150
|
onDisable() {
|
|
147
151
|
if (this._camera?.cam) {
|
|
@@ -153,6 +157,11 @@ export class OrbitControls extends Behaviour {
|
|
|
153
157
|
// this._controls.reset();
|
|
154
158
|
}
|
|
155
159
|
}
|
|
160
|
+
onControlsChangeStarted() {
|
|
161
|
+
if (this._syncedTransform) {
|
|
162
|
+
this._syncedTransform.requestOwnership();
|
|
163
|
+
}
|
|
164
|
+
}
|
|
156
165
|
_shouldDisable = false;
|
|
157
166
|
afterHandleInput() {
|
|
158
167
|
if (this._controls && this._eventSystem) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrbitControls.js","sourceRoot":"","sources":["../../../src/engine-components/OrbitControls.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OrbitControls.js","sourceRoot":"","sources":["../../../src/engine-components/OrbitControls.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,8 @@ import { createFlatTexture } from "../engine/engine_shaders";
|
|
|
20
20
|
import { Mathf } from "../engine/engine_math";
|
|
21
21
|
import { ParticleSubEmitter } from "./ParticleSystemSubEmitter";
|
|
22
22
|
import { NEEDLE_progressive } from "../engine/extensions/NEEDLE_progressive";
|
|
23
|
-
import { Gizmos
|
|
23
|
+
import { Gizmos } from "../engine/engine_gizmos";
|
|
24
|
+
import { isDevEnvironment } from "../engine/debug";
|
|
24
25
|
const debug = getParam("debugparticles");
|
|
25
26
|
const suppressProgressiveLoading = getParam("noprogressive");
|
|
26
27
|
const debugProgressiveLoading = getParam("debugprogressive");
|
|
@@ -717,17 +718,26 @@ export class ParticleSystem extends Behaviour {
|
|
|
717
718
|
this.onSimulate(this.deltaTime);
|
|
718
719
|
}
|
|
719
720
|
preWarm() {
|
|
721
|
+
if (!this.emission?.enabled)
|
|
722
|
+
return;
|
|
723
|
+
const emission = this.emission.rateOverTime.getMax();
|
|
724
|
+
if (emission <= 0)
|
|
725
|
+
return;
|
|
720
726
|
const dt = 1 / 60;
|
|
721
727
|
const duration = this.main.duration;
|
|
722
728
|
const lifetime = this.main.startLifetime.getMax();
|
|
723
729
|
const maxDurationToPrewarm = 1000;
|
|
724
730
|
const timeToSimulate = Math.min(duration, lifetime, maxDurationToPrewarm);
|
|
725
731
|
const framesToSimulate = Math.ceil(timeToSimulate / dt);
|
|
732
|
+
const startTime = Date.now();
|
|
726
733
|
if (debug)
|
|
727
734
|
console.log(`Particles ${this.name} - Prewarm for ${framesToSimulate} frames (${timeToSimulate} sec). Duration: ${duration}, Lifetime: ${lifetime}`);
|
|
728
735
|
for (let i = 0; i < framesToSimulate; i++) {
|
|
729
736
|
if (this.currentParticles >= this.maxParticles)
|
|
730
737
|
break;
|
|
738
|
+
if (Date.now() - startTime > 2) {
|
|
739
|
+
console.warn(`Particles ${this.name} - Prewarm took too long. Aborting.`);
|
|
740
|
+
}
|
|
731
741
|
this.onUpdate();
|
|
732
742
|
this.onSimulate(dt);
|
|
733
743
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParticleSystem.js","sourceRoot":"","sources":["../../../src/engine-components/ParticleSystem.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ParticleSystem.js","sourceRoot":"","sources":["../../../src/engine-components/ParticleSystem.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { Behaviour } from "./Component";
|
|
8
|
-
import { EquirectangularReflectionMapping, sRGBEncoding, Vector3 } from "three";
|
|
8
|
+
import { EquirectangularReflectionMapping, sRGBEncoding, Texture, Vector3 } from "three";
|
|
9
9
|
import { serializable } from "../engine/engine_serialization";
|
|
10
10
|
import { BoxHelperComponent } from "./BoxHelperComponent";
|
|
11
11
|
import { getParam } from "../engine/engine_utils";
|
|
@@ -46,7 +46,16 @@ export class ReflectionProbe extends Behaviour {
|
|
|
46
46
|
}
|
|
47
47
|
_texture;
|
|
48
48
|
set texture(tex) {
|
|
49
|
+
if (tex && !(tex instanceof Texture)) {
|
|
50
|
+
console.error("ReflectionProbe.texture must be a Texture", tex);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
49
53
|
this._texture = tex;
|
|
54
|
+
if (tex) {
|
|
55
|
+
tex.mapping = EquirectangularReflectionMapping;
|
|
56
|
+
tex.encoding = sRGBEncoding;
|
|
57
|
+
tex.needsUpdate = true;
|
|
58
|
+
}
|
|
50
59
|
}
|
|
51
60
|
get texture() {
|
|
52
61
|
return this._texture;
|
|
@@ -72,8 +81,6 @@ export class ReflectionProbe extends Behaviour {
|
|
|
72
81
|
if (this.texture) {
|
|
73
82
|
this.texture.mapping = EquirectangularReflectionMapping;
|
|
74
83
|
this.texture.encoding = sRGBEncoding;
|
|
75
|
-
// this.texture.rotation = Math.PI;
|
|
76
|
-
// this.texture.flipY = true;
|
|
77
84
|
this.texture.needsUpdate = true;
|
|
78
85
|
}
|
|
79
86
|
}
|
|
@@ -93,6 +100,8 @@ export class ReflectionProbe extends Behaviour {
|
|
|
93
100
|
onSet(_rend) {
|
|
94
101
|
if (disable)
|
|
95
102
|
return;
|
|
103
|
+
if (!this.enabled)
|
|
104
|
+
return;
|
|
96
105
|
if (_rend.sharedMaterials?.length <= 0)
|
|
97
106
|
return;
|
|
98
107
|
if (!this.texture)
|
|
@@ -116,8 +125,11 @@ export class ReflectionProbe extends Behaviour {
|
|
|
116
125
|
}
|
|
117
126
|
let cached = rendererCache[i];
|
|
118
127
|
// make sure we have the currently assigned material cached (and an up to date clone of that)
|
|
119
|
-
if (!cached || cached.material !== material || cached.
|
|
128
|
+
if (!cached || cached.material !== material || cached.copy.version !== material.version) {
|
|
129
|
+
if (debug)
|
|
130
|
+
console.log("Cloning material", material.name, material.version);
|
|
120
131
|
const clone = material.clone();
|
|
132
|
+
clone.version = material.version;
|
|
121
133
|
if (cached) {
|
|
122
134
|
cached.copy = clone;
|
|
123
135
|
cached.material = material;
|
|
@@ -131,13 +143,13 @@ export class ReflectionProbe extends Behaviour {
|
|
|
131
143
|
}
|
|
132
144
|
clone[$reflectionProbeKey] = this;
|
|
133
145
|
clone[$originalMaterial] = material;
|
|
134
|
-
// make sure the reflection probe is assigned
|
|
135
|
-
clone["envMap"] = this.texture;
|
|
136
146
|
if (debug)
|
|
137
147
|
console.log("Set reflection", _rend.name, _rend.guid);
|
|
138
148
|
}
|
|
139
149
|
/** this is the material that we copied and that has the reflection probe */
|
|
140
150
|
const copy = cached?.copy;
|
|
151
|
+
// make sure the reflection probe is assigned
|
|
152
|
+
copy["envMap"] = this.texture;
|
|
141
153
|
_rend.sharedMaterials[i] = copy;
|
|
142
154
|
}
|
|
143
155
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReflectionProbe.js","sourceRoot":"","sources":["../../../src/engine-components/ReflectionProbe.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAe,gCAAgC,EAA+
|
|
1
|
+
{"version":3,"file":"ReflectionProbe.js","sourceRoot":"","sources":["../../../src/engine-components/ReflectionProbe.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAe,gCAAgC,EAA+F,YAAY,EAAE,OAAO,EAAE,OAAO,EAA4C,MAAM,OAAO,CAAC;AAC7O,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAI9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,sBAAsB,CAAC,CAAC;AACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC;AAE9C,MAAM,mBAAmB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACzD,MAAM,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAEtD,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAElC,MAAM,CAAC,OAAO,GAAoC,IAAI,GAAG,EAAE,CAAC;IAE7D,MAAM,CAAC,GAAG,CAAC,MAAmC,EAAE,OAAgB,EAAE,QAAiB,EAAE,MAAiB;QACzG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACvD,IAAI,OAAO;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,MAAM,EAAE;YACR,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;gBACxB,IAAI,CAAC,KAAK,CAAC,UAAU;oBAAE,KAAK,CAAC,eAAe,EAAE,CAAC;gBAC/C,IAAI,KAAK,CAAC,OAAO,EAAE;oBACf,IAAI,MAAM,EAAE;wBACR,4CAA4C;wBAC5C,IAAI,KAAK,CAAC,UAAU,KAAK,MAAM,EAAE;4BAC7B,OAAO,KAAK,CAAC;yBAChB;qBACJ;yBACI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE;wBACvC,IAAI,KAAK;4BAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC1E,OAAO,KAAK,CAAC;qBAChB;iBACJ;aACJ;SACJ;QACD,IAAI,KAAK;YACL,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC;IAChB,CAAC;IAIO,QAAQ,CAAW;IAC3B,IAAI,OAAO,CAAC,GAAY;QACpB,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,YAAY,OAAO,CAAC,EAAE;YAClC,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;YAChE,OAAO;SACV;QACD,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,IAAI,GAAG,EAAE;YACL,GAAG,CAAC,OAAO,GAAG,gCAAgC,CAAC;YAC/C,GAAG,CAAC,QAAQ,GAAG,YAAY,CAAC;YAC5B,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;SAC1B;IACL,CAAC;IACD,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAGD,MAAM,CAAW;IAEjB,IAAI,CAAW;IAEP,UAAU,CAAsB;IAEhC,OAAO,CAAC,GAAa,EAAE,WAAoB;QAC/C,OAAO,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACtD,CAAC;IAED;QACI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC5C,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;SACjD;QACD,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,kBAAkB,CAAuB,CAAC;QAC5F,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,KAAK;YACL,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAE/C,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,gCAAgC,CAAC;YACxD,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;SACnC;IACL,CAAC;IAED,SAAS;QACL,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,MAAM,EAAE;YACR,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,KAAK,IAAI,CAAC,EAAE;gBACZ,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;aAC3B;SACJ;IACL,CAAC;IAGD,oDAAoD;IACpD,gDAAgD;IAChD,qEAAqE;IAE7D,MAAM,CAAC,uBAAuB,GAAkE,IAAI,GAAG,EAAE,CAAC;IAElH,KAAK,CAAC,KAAgB;QAClB,IAAI,OAAO;YAAE,OAAO;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,KAAK,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC;YAAE,OAAO;QAC/C,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE1B,IAAI,aAAa,GAAG,eAAe,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvE,IAAI,CAAC,aAAa,EAAE;YAChB,aAAa,GAAG,EAAE,CAAC;YACnB,eAAe,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;SACrE;QAED,qJAAqJ;QAErJ,0EAA0E;QAC1E,+EAA+E;QAC/E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACxB,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,SAAS;gBAAE,SAAS;YAC/C,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE;gBACrC,SAAS;aACZ;YACD,IAAI,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YAE9B,6FAA6F;YAC7F,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,EAAE;gBACrF,IAAG,KAAK;oBAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC3E,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAC/B,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAEjC,IAAI,MAAM,EAAE;oBACR,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;oBACpB,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;iBAC9B;qBACI;oBACD,MAAM,GAAG;wBACL,QAAQ,EAAE,QAAQ;wBAClB,IAAI,EAAE,KAAK;qBACd,CAAC;oBACF,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBAC9B;gBAED,KAAK,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;gBAClC,KAAK,CAAC,iBAAiB,CAAC,GAAG,QAAQ,CAAC;gBAEpC,IAAI,KAAK;oBACL,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aAC7D;YAED,4EAA4E;YAC5E,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,CAAC;YAE1B,6CAA6C;YAC7C,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;YAE9B,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;SACnC;IACL,CAAC;IAED,OAAO,CAAC,KAAgB;QACpB,MAAM,aAAa,GAAG,eAAe,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzE,IAAI,aAAa,EAAE;YACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3C,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAChC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;aAC9C;SACJ;IACL,CAAC;;AApHD;IADC,YAAY,CAAC,OAAO,CAAC;+CACL;AAEjB;IADC,YAAY,CAAC,OAAO,CAAC;6CACP"}
|
|
@@ -55,7 +55,7 @@ export declare class Renderer extends Behaviour implements IRenderer {
|
|
|
55
55
|
/**@deprecated please use sharedMaterial */
|
|
56
56
|
set material(mat: THREE.Material);
|
|
57
57
|
private _sharedMaterials;
|
|
58
|
-
private _originalMaterials
|
|
58
|
+
private _originalMaterials?;
|
|
59
59
|
private set sharedMaterials(value);
|
|
60
60
|
get sharedMaterials(): SharedMaterialArray;
|
|
61
61
|
static get shouldSuppressInstancing(): string | number | boolean;
|
|
@@ -11,7 +11,7 @@ import { RendererLightmap } from "./RendererLightmap";
|
|
|
11
11
|
import { FrameEvent } from "../engine/engine_setup";
|
|
12
12
|
import { getParam } from "../engine/engine_utils";
|
|
13
13
|
import { serializable } from "../engine/engine_serialization_decorator";
|
|
14
|
-
import { AxesHelper, Object3D, Vector4 } from "three";
|
|
14
|
+
import { AxesHelper, Material, Object3D, Vector4 } from "three";
|
|
15
15
|
import { NEEDLE_render_objects } from "../engine/extensions/NEEDLE_render_objects";
|
|
16
16
|
import { NEEDLE_progressive } from "../engine/extensions/NEEDLE_progressive";
|
|
17
17
|
import { NEED_UPDATE_INSTANCE_KEY } from "../engine/engine_instancing";
|
|
@@ -219,16 +219,36 @@ export class Renderer extends Behaviour {
|
|
|
219
219
|
this.sharedMaterials[0] = mat;
|
|
220
220
|
}
|
|
221
221
|
_sharedMaterials;
|
|
222
|
-
_originalMaterials
|
|
222
|
+
_originalMaterials;
|
|
223
223
|
// this is just available during deserialization
|
|
224
224
|
set sharedMaterials(_val) {
|
|
225
225
|
// TODO: elements in the array might be missing at the moment which leads to problems if an index is serialized
|
|
226
|
-
this._originalMaterials
|
|
226
|
+
if (!this._originalMaterials) {
|
|
227
|
+
this._originalMaterials = _val;
|
|
228
|
+
}
|
|
229
|
+
else if (_val) {
|
|
230
|
+
let didWarn = false;
|
|
231
|
+
for (let i = 0; i < this._sharedMaterials.length; i++) {
|
|
232
|
+
const mat = i < _val.length ? _val[i] : null;
|
|
233
|
+
if (mat && mat instanceof Material) {
|
|
234
|
+
this.sharedMaterials[i] = mat;
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
if (!didWarn) {
|
|
238
|
+
didWarn = true;
|
|
239
|
+
console.warn("Can not assign null as material: " + this.name, mat);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
227
244
|
}
|
|
228
245
|
//@ts-ignore
|
|
229
246
|
get sharedMaterials() {
|
|
230
|
-
if (!this._sharedMaterials || !this._sharedMaterials.is(this))
|
|
247
|
+
if (!this._sharedMaterials || !this._sharedMaterials.is(this)) {
|
|
248
|
+
if (!this._originalMaterials)
|
|
249
|
+
this._originalMaterials = [];
|
|
231
250
|
this._sharedMaterials = new SharedMaterialArray(this, this._originalMaterials);
|
|
251
|
+
}
|
|
232
252
|
return this._sharedMaterials;
|
|
233
253
|
}
|
|
234
254
|
static get shouldSuppressInstancing() {
|
|
@@ -539,8 +559,6 @@ export class Renderer extends Behaviour {
|
|
|
539
559
|
loadProgressiveTextures(material) {
|
|
540
560
|
// progressive load before rendering so we only load textures for visible materials
|
|
541
561
|
if (!suppressProgressiveLoading && material) {
|
|
542
|
-
if (debugProgressiveLoading && material["_didRequestTextureLOD"] === undefined)
|
|
543
|
-
console.warn("Progressive?", this);
|
|
544
562
|
if (material["_didRequestTextureLOD"] === undefined && this.allowProgressiveLoading) {
|
|
545
563
|
material["_didRequestTextureLOD"] = 0;
|
|
546
564
|
if (debugProgressiveLoading) {
|