@needle-tools/engine 4.13.1 → 4.14.0-beta
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 +9 -0
- package/components.needle.json +1 -1
- package/dist/generateMeshBVH.worker-DiCnZlf3.js +21 -0
- package/dist/gltf-progressive-Bm_6aEi4.js +1528 -0
- package/dist/gltf-progressive-BttGBXw6.umd.cjs +10 -0
- package/dist/gltf-progressive-T5WKTux5.min.js +10 -0
- package/dist/loader.worker-BqODMeeW.js +23 -0
- package/dist/{materialx-B9ddsHcF.min.js → materialx-CJyQZtjt.min.js} +1 -1
- package/dist/{materialx-fkoFuRh3.js → materialx-DMs1E08Z.js} +2 -2
- package/dist/{materialx-BF23AVE8.umd.cjs → materialx-DaKKOoVk.umd.cjs} +1 -1
- package/dist/needle-engine.bundle-BW2VusZV.min.js +1646 -0
- package/dist/{needle-engine.bundle-tjI5Fq2c.umd.cjs → needle-engine.bundle-Cb5bKEqa.umd.cjs} +152 -159
- package/dist/{needle-engine.bundle-DauZUYl7.js → needle-engine.bundle-D9VPvp5o.js} +7798 -7497
- package/dist/needle-engine.d.ts +779 -42
- package/dist/needle-engine.js +416 -415
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/{postprocessing-BVNrgYZK.min.js → postprocessing-CctM1XIO.min.js} +1 -1
- package/dist/{postprocessing-DdM-tz1j.js → postprocessing-DGm6qJ-I.js} +2 -2
- package/dist/{postprocessing-CI2TjWpu.umd.cjs → postprocessing-Dbl2PJpd.umd.cjs} +1 -1
- package/dist/{three-BW2s1Yl-.umd.cjs → three-BjYim-vL.umd.cjs} +4 -4
- package/dist/{three-VvRoMeIN.js → three-Bvk2VKbF.js} +4210 -4210
- package/dist/{three-I__hSXzr.min.js → three-IG2qPafA.min.js} +33 -33
- package/dist/{three-examples-Bpfu6ke_.umd.cjs → three-examples-BMmNgNCN.umd.cjs} +1 -1
- package/dist/{three-examples-BhfOE7NG.js → three-examples-CMYCd5nH.js} +1 -1
- package/dist/{three-examples-D8zAE_7t.min.js → three-examples-CQl1fFZp.min.js} +1 -1
- package/dist/{three-mesh-ui-C3QbemOV.min.js → three-mesh-ui-5HVE2RV-.min.js} +1 -1
- package/dist/{three-mesh-ui-CcMp-FQm.js → three-mesh-ui-BlakAItG.js} +1 -1
- package/dist/{three-mesh-ui-BU55xDxJ.umd.cjs → three-mesh-ui-D828VbQp.umd.cjs} +1 -1
- package/dist/{vendor-DW7zqjuT.min.js → vendor-BxK0WKmT.min.js} +1 -1
- package/dist/{vendor-COVQl0b8.umd.cjs → vendor-CIDkyBaO.umd.cjs} +1 -1
- package/dist/{vendor-BiyIZ61v.js → vendor-ixwD-vv2.js} +1 -1
- package/lib/engine/api.d.ts +1 -0
- package/lib/engine/api.js +1 -0
- package/lib/engine/api.js.map +1 -1
- package/lib/engine/engine_context.js +12 -2
- package/lib/engine/engine_context.js.map +1 -1
- package/lib/engine/engine_lightdata.js +8 -6
- package/lib/engine/engine_lightdata.js.map +1 -1
- package/lib/engine/engine_materialpropertyblock.d.ts +259 -0
- package/lib/engine/engine_materialpropertyblock.js +682 -0
- package/lib/engine/engine_materialpropertyblock.js.map +1 -0
- package/lib/engine/engine_utils.d.ts +1 -0
- package/lib/engine/engine_utils.js +1 -0
- package/lib/engine/engine_utils.js.map +1 -1
- package/lib/engine/engine_utils_screenshot.d.ts +171 -14
- package/lib/engine/engine_utils_screenshot.js +65 -0
- package/lib/engine/engine_utils_screenshot.js.map +1 -1
- package/lib/engine/engine_utils_screenshot.xr.d.ts +1 -1
- package/lib/engine/engine_utils_screenshot.xr.js +1 -1
- package/lib/engine/extensions/NEEDLE_techniques_webgl.js +3 -0
- package/lib/engine/extensions/NEEDLE_techniques_webgl.js.map +1 -1
- package/lib/engine/xr/NeedleXRSession.d.ts +5 -0
- package/lib/engine/xr/NeedleXRSession.js +5 -0
- package/lib/engine/xr/NeedleXRSession.js.map +1 -1
- package/lib/engine-components/Camera.js.map +1 -1
- package/lib/engine-components/DropListener.js.map +1 -1
- package/lib/engine-components/Duplicatable.js.map +1 -1
- package/lib/engine-components/GroundProjection.js.map +1 -1
- package/lib/engine-components/NeedleMenu.js.map +1 -1
- package/lib/engine-components/NestedGltf.js.map +1 -1
- package/lib/engine-components/ReflectionProbe.d.ts +32 -4
- package/lib/engine-components/ReflectionProbe.js +58 -88
- package/lib/engine-components/ReflectionProbe.js.map +1 -1
- package/lib/engine-components/Renderer.d.ts +2 -0
- package/lib/engine-components/Renderer.js +30 -6
- package/lib/engine-components/Renderer.js.map +1 -1
- package/lib/engine-components/RendererLightmap.d.ts +13 -9
- package/lib/engine-components/RendererLightmap.js +67 -81
- package/lib/engine-components/RendererLightmap.js.map +1 -1
- package/lib/engine-components/SeeThrough.d.ts +0 -2
- package/lib/engine-components/SeeThrough.js +114 -88
- package/lib/engine-components/SeeThrough.js.map +1 -1
- package/lib/engine-components/SmoothFollow.js.map +1 -1
- package/lib/engine-components/VideoPlayer.js +6 -0
- package/lib/engine-components/VideoPlayer.js.map +1 -1
- package/lib/engine-components/ui/Button.js.map +1 -1
- package/lib/engine-components/ui/Raycaster.js.map +1 -1
- package/lib/engine-components/utils/OpenURL.d.ts +1 -0
- package/lib/engine-components/utils/OpenURL.js +1 -0
- package/lib/engine-components/utils/OpenURL.js.map +1 -1
- package/lib/engine-components/web/CursorFollow.d.ts +1 -0
- package/lib/engine-components/web/CursorFollow.js +1 -0
- package/lib/engine-components/web/CursorFollow.js.map +1 -1
- package/lib/engine-components/web/ScrollFollow.d.ts +1 -0
- package/lib/engine-components/web/ScrollFollow.js +1 -0
- package/lib/engine-components/web/ScrollFollow.js.map +1 -1
- package/lib/engine-components/web/ViewBox.d.ts +2 -2
- package/lib/engine-components/web/ViewBox.js +2 -2
- package/lib/engine-components/web/ViewBox.js.map +1 -1
- package/lib/engine-components/webxr/WebARCameraBackground.d.ts +9 -0
- package/lib/engine-components/webxr/WebARCameraBackground.js +9 -0
- package/lib/engine-components/webxr/WebARCameraBackground.js.map +1 -1
- package/lib/engine-components/webxr/WebXR.d.ts +1 -0
- package/lib/engine-components/webxr/WebXR.js +1 -0
- package/lib/engine-components/webxr/WebXR.js.map +1 -1
- package/lib/engine-components/webxr/WebXRPlaneTracking.js.map +1 -1
- package/lib/engine-components/webxr/controllers/XRControllerFollow.js.map +1 -1
- package/lib/engine-components/webxr/controllers/XRControllerMovement.js.map +1 -1
- package/package.json +5 -5
- package/plugins/vite/build-pipeline.js +16 -2
- package/src/engine/api.ts +1 -0
- package/src/engine/engine_context.ts +17 -3
- package/src/engine/engine_lightdata.ts +8 -6
- package/src/engine/engine_materialpropertyblock.ts +866 -0
- package/src/engine/engine_utils.ts +1 -0
- package/src/engine/engine_utils_screenshot.ts +241 -17
- package/src/engine/engine_utils_screenshot.xr.ts +1 -1
- package/src/engine/extensions/NEEDLE_techniques_webgl.ts +3 -0
- package/src/engine/xr/NeedleXRSession.ts +5 -0
- package/src/engine-components/Camera.ts +2 -2
- package/src/engine-components/ContactShadows.ts +1 -1
- package/src/engine-components/DropListener.ts +1 -1
- package/src/engine-components/Duplicatable.ts +1 -1
- package/src/engine-components/GroundProjection.ts +3 -0
- package/src/engine-components/NeedleMenu.ts +3 -0
- package/src/engine-components/NestedGltf.ts +1 -1
- package/src/engine-components/ReflectionProbe.ts +64 -105
- package/src/engine-components/Renderer.ts +34 -6
- package/src/engine-components/RendererLightmap.ts +75 -87
- package/src/engine-components/SeeThrough.ts +124 -109
- package/src/engine-components/SmoothFollow.ts +2 -2
- package/src/engine-components/VideoPlayer.ts +6 -0
- package/src/engine-components/ui/Button.ts +1 -1
- package/src/engine-components/ui/Raycaster.ts +1 -1
- package/src/engine-components/utils/OpenURL.ts +1 -0
- package/src/engine-components/web/CursorFollow.ts +1 -0
- package/src/engine-components/web/ScrollFollow.ts +1 -0
- package/src/engine-components/web/ViewBox.ts +9 -2
- package/src/engine-components/webxr/WebARCameraBackground.ts +12 -3
- package/src/engine-components/webxr/WebXR.ts +1 -0
- package/src/engine-components/webxr/WebXRPlaneTracking.ts +3 -3
- package/src/engine-components/webxr/controllers/XRControllerFollow.ts +1 -1
- package/src/engine-components/webxr/controllers/XRControllerMovement.ts +4 -4
- package/dist/generateMeshBVH.worker-iyfPIK6R.js +0 -21
- package/dist/gltf-progressive-BURrJW0U.umd.cjs +0 -8
- package/dist/gltf-progressive-DHLDFNvQ.min.js +0 -8
- package/dist/gltf-progressive-eiJCrjLb.js +0 -1400
- package/dist/loader.worker-C1GG9A7C.js +0 -23
- package/dist/needle-engine.bundle-BNIUpreS.min.js +0 -1653
- package/src/include/three/DragControls.js +0 -232
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroundProjection.js","sourceRoot":"","sources":["../../src/engine-components/GroundProjection.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,cAAc,IAAI,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAElG,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,iCAAiC,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAC9J,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"GroundProjection.js","sourceRoot":"","sources":["../../src/engine-components/GroundProjection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NeedleMenu.js","sourceRoot":"","sources":["../../src/engine-components/NeedleMenu.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"NeedleMenu.js","sourceRoot":"","sources":["../../src/engine-components/NeedleMenu.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAK3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgCI;AACJ,MAAM,OAAO,UAAW,SAAQ,SAAS;IAErC;;OAEG;IAEH,QAAQ,GAAqB,QAAQ,CAAC;IAEtC;;OAEG;IAEH,cAAc,GAAY,KAAK,CAAC;IAEhC;;;OAGG;IAEH,eAAe,CAAW;IAE1B;;;OAGG;IAEH,sBAAsB,CAAW;IAEjC;;;OAGG;IAEH,gBAAgB,CAAW;IAE3B;;;;OAIG;IAEH,kBAAkB,CAAW;IAE7B;;;OAGG;IACH,QAAQ;QACJ,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,YAAY;QACR,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,sBAAsB,KAAK,IAAI;YACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5D,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,EAAE;YAClC,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,EAAE;gBACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;aAC5C;SACJ;IACL,CAAC;CAEJ;AAhEG;IADC,YAAY,EAAE;4CACuB;AAMtC;IADC,YAAY,EAAE;kDACiB;AAOhC;IADC,YAAY,EAAE;mDACW;AAO1B;IADC,YAAY,EAAE;0DACkB;AAOjC;IADC,YAAY,EAAE;oDACY;AAQ3B;IADC,YAAY,EAAE;sDACc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NestedGltf.js","sourceRoot":"","sources":["../../src/engine-components/NestedGltf.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,cAAc,EAAyB,MAAM,kCAAkC,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,OAAO,UAAW,SAAQ,SAAS;IAErC,sEAAsE;IAEtE,QAAQ,CAAkB;IAE1B;;;OAGG;IAEH,MAAM,GAA+E,IAAI,SAAS,EAAE,CAAC;IAErG;;OAEG;IAEH,iBAAiB,
|
|
1
|
+
{"version":3,"file":"NestedGltf.js","sourceRoot":"","sources":["../../src/engine-components/NestedGltf.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Material, Object3D, Texture, Vector3 } from "three";
|
|
2
2
|
import { Context } from "../engine/engine_setup.js";
|
|
3
|
-
import type { IRenderer } from "../engine/engine_types.js";
|
|
4
3
|
import { Behaviour } from "./Component.js";
|
|
4
|
+
import { EventList } from "./EventList.js";
|
|
5
5
|
export declare const debug: string | number | boolean;
|
|
6
6
|
/**
|
|
7
7
|
* The [ReflectionProbe](https://engine.needle.tools/docs/api/ReflectionProbe) provides environment reflection data to materials within its defined area.
|
|
@@ -30,19 +30,47 @@ export declare const debug: string | number | boolean;
|
|
|
30
30
|
export declare class ReflectionProbe extends Behaviour {
|
|
31
31
|
private static _probes;
|
|
32
32
|
static isUsingReflectionProbe(material: Material): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Event invoked when a reflection probe is enabled. Used internally by Renderer components to update probes when they become active. Not recommended to call this directly in most cases.
|
|
35
|
+
*/
|
|
36
|
+
static readonly onEnabled: EventList<ReflectionProbe>;
|
|
37
|
+
static readonly onDisabled: EventList<ReflectionProbe>;
|
|
38
|
+
/**
|
|
39
|
+
* Gets the active reflection probe for the given object and context. If `isAnchor` is true, it will only return a probe if the object is the anchor of that probe. Otherwise, it checks if the object is within the probe's influence area.
|
|
40
|
+
*
|
|
41
|
+
* Note: This method is used internally by the Renderer component to determine which reflection probe to apply. It is not recommended to call this method directly in most cases. Instead, assign probes to renderers using the "anchor" property or rely on automatic assignment when supported.
|
|
42
|
+
* Note: Volume-based automatic assignment is not fully supported yet, so explicit assignment is recommended for now.
|
|
43
|
+
*
|
|
44
|
+
* @param object The object to find a reflection probe for
|
|
45
|
+
* @param context The context to search within
|
|
46
|
+
* @param isAnchor If true, only return a probe if the object is the anchor of that probe
|
|
47
|
+
* @param anchor Optional anchor object to match against probes
|
|
48
|
+
*/
|
|
33
49
|
static get(object: Object3D | null | undefined, context: Context, isAnchor: boolean, anchor?: Object3D): ReflectionProbe | null;
|
|
34
50
|
private _texture;
|
|
35
51
|
set texture(tex: Texture);
|
|
36
52
|
get texture(): Texture;
|
|
53
|
+
intensity: number;
|
|
54
|
+
/**
|
|
55
|
+
* Defines the center and size of the reflection probe's influence area.
|
|
56
|
+
*/
|
|
37
57
|
center?: Vector3;
|
|
58
|
+
/**
|
|
59
|
+
* Defines the size of the reflection probe's influence area. Objects within this box will be affected by the probe's reflections.
|
|
60
|
+
*/
|
|
38
61
|
size?: Vector3;
|
|
62
|
+
/**
|
|
63
|
+
* Workaround for lightmap. Compensates for the fact that lightmaps are pre-multiplied by intensity, while reflection probes are not. This means that if you use both lightmaps and reflection probes, you may need to adjust this value to get the correct balance between them. The default value of `Math.PI` is a good starting point for most cases, but you may need to tweak it based on your specific lighting setup and artistic needs.
|
|
64
|
+
*/
|
|
65
|
+
__lightmapIntensityScale: boolean;
|
|
39
66
|
private _boxHelper?;
|
|
40
67
|
private isInBox;
|
|
41
68
|
constructor();
|
|
42
69
|
awake(): void;
|
|
70
|
+
onEnable(): void;
|
|
71
|
+
onDisable(): void;
|
|
43
72
|
start(): void;
|
|
44
73
|
onDestroy(): void;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
onUnset(_rend: IRenderer): void;
|
|
74
|
+
apply(object: Object3D): void;
|
|
75
|
+
unapply(obj: Object3D): void;
|
|
48
76
|
}
|
|
@@ -4,15 +4,16 @@ 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 { CubeTexture, EquirectangularReflectionMapping, LinearSRGBColorSpace,
|
|
7
|
+
import { CubeTexture, EquirectangularReflectionMapping, LinearSRGBColorSpace, Texture, Vector3 } from "three";
|
|
8
8
|
import { serializable } from "../engine/engine_serialization.js";
|
|
9
9
|
import { getParam } from "../engine/engine_utils.js";
|
|
10
10
|
import { BoxHelperComponent } from "./BoxHelperComponent.js";
|
|
11
11
|
import { Behaviour } from "./Component.js";
|
|
12
|
+
import { MaterialPropertyBlock } from "../engine/engine_materialpropertyblock.js";
|
|
13
|
+
import { EventList } from "./EventList.js";
|
|
12
14
|
export const debug = getParam("debugreflectionprobe");
|
|
13
15
|
const disable = getParam("noreflectionprobe");
|
|
14
16
|
const $reflectionProbeKey = Symbol("reflectionProbeKey");
|
|
15
|
-
const $originalMaterial = Symbol("original material");
|
|
16
17
|
/**
|
|
17
18
|
* The [ReflectionProbe](https://engine.needle.tools/docs/api/ReflectionProbe) provides environment reflection data to materials within its defined area.
|
|
18
19
|
* Use for chrome-like materials that need accurate environment reflections.
|
|
@@ -40,8 +41,24 @@ const $originalMaterial = Symbol("original material");
|
|
|
40
41
|
export class ReflectionProbe extends Behaviour {
|
|
41
42
|
static _probes = new Map();
|
|
42
43
|
static isUsingReflectionProbe(material) {
|
|
43
|
-
return !!
|
|
44
|
+
return !!material[$reflectionProbeKey];
|
|
44
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Event invoked when a reflection probe is enabled. Used internally by Renderer components to update probes when they become active. Not recommended to call this directly in most cases.
|
|
48
|
+
*/
|
|
49
|
+
static onEnabled = new EventList();
|
|
50
|
+
static onDisabled = new EventList();
|
|
51
|
+
/**
|
|
52
|
+
* Gets the active reflection probe for the given object and context. If `isAnchor` is true, it will only return a probe if the object is the anchor of that probe. Otherwise, it checks if the object is within the probe's influence area.
|
|
53
|
+
*
|
|
54
|
+
* Note: This method is used internally by the Renderer component to determine which reflection probe to apply. It is not recommended to call this method directly in most cases. Instead, assign probes to renderers using the "anchor" property or rely on automatic assignment when supported.
|
|
55
|
+
* Note: Volume-based automatic assignment is not fully supported yet, so explicit assignment is recommended for now.
|
|
56
|
+
*
|
|
57
|
+
* @param object The object to find a reflection probe for
|
|
58
|
+
* @param context The context to search within
|
|
59
|
+
* @param isAnchor If true, only return a probe if the object is the anchor of that probe
|
|
60
|
+
* @param anchor Optional anchor object to match against probes
|
|
61
|
+
*/
|
|
45
62
|
static get(object, context, isAnchor, anchor) {
|
|
46
63
|
if (!object || object.isObject3D !== true)
|
|
47
64
|
return null;
|
|
@@ -54,7 +71,6 @@ export class ReflectionProbe extends Behaviour {
|
|
|
54
71
|
probe.__internalAwake();
|
|
55
72
|
if (probe.activeAndEnabled) {
|
|
56
73
|
if (anchor) {
|
|
57
|
-
// test if anchor is reflection probe object
|
|
58
74
|
if (probe.gameObject === anchor) {
|
|
59
75
|
return probe;
|
|
60
76
|
}
|
|
@@ -72,7 +88,6 @@ export class ReflectionProbe extends Behaviour {
|
|
|
72
88
|
return null;
|
|
73
89
|
}
|
|
74
90
|
_texture;
|
|
75
|
-
// @serializable(Texture)
|
|
76
91
|
set texture(tex) {
|
|
77
92
|
if (this._texture === tex)
|
|
78
93
|
return;
|
|
@@ -81,7 +96,6 @@ export class ReflectionProbe extends Behaviour {
|
|
|
81
96
|
console.debug("[ReflectionProbe] Set reflection probe texture " + (tex?.name || "(removed)"));
|
|
82
97
|
if (tex) {
|
|
83
98
|
if (tex instanceof CubeTexture) {
|
|
84
|
-
// cube textures use CubeReflectionMapping by default
|
|
85
99
|
}
|
|
86
100
|
else if (tex.mapping !== EquirectangularReflectionMapping) {
|
|
87
101
|
tex.mapping = EquirectangularReflectionMapping;
|
|
@@ -93,8 +107,19 @@ export class ReflectionProbe extends Behaviour {
|
|
|
93
107
|
get texture() {
|
|
94
108
|
return this._texture;
|
|
95
109
|
}
|
|
110
|
+
intensity = 1;
|
|
111
|
+
/**
|
|
112
|
+
* Defines the center and size of the reflection probe's influence area.
|
|
113
|
+
*/
|
|
96
114
|
center;
|
|
115
|
+
/**
|
|
116
|
+
* Defines the size of the reflection probe's influence area. Objects within this box will be affected by the probe's reflections.
|
|
117
|
+
*/
|
|
97
118
|
size;
|
|
119
|
+
/**
|
|
120
|
+
* Workaround for lightmap. Compensates for the fact that lightmaps are pre-multiplied by intensity, while reflection probes are not. This means that if you use both lightmaps and reflection probes, you may need to adjust this value to get the correct balance between them. The default value of `Math.PI` is a good starting point for most cases, but you may need to tweak it based on your specific lighting setup and artistic needs.
|
|
121
|
+
*/
|
|
122
|
+
__lightmapIntensityScale = true;
|
|
98
123
|
_boxHelper;
|
|
99
124
|
isInBox(obj) {
|
|
100
125
|
return this._boxHelper?.isInBox(obj);
|
|
@@ -117,6 +142,12 @@ export class ReflectionProbe extends Behaviour {
|
|
|
117
142
|
this._texture.needsUpdate = true;
|
|
118
143
|
}
|
|
119
144
|
}
|
|
145
|
+
onEnable() {
|
|
146
|
+
ReflectionProbe.onEnabled?.invoke(this);
|
|
147
|
+
}
|
|
148
|
+
onDisable() {
|
|
149
|
+
ReflectionProbe.onDisabled?.invoke(this);
|
|
150
|
+
}
|
|
120
151
|
start() {
|
|
121
152
|
if (!this._texture) {
|
|
122
153
|
console.warn(`[ReflectionProbe] Missing texture. Please assign a custom cubemap texture. To use reflection probes assign them to your renderer's "anchor" property.`);
|
|
@@ -131,100 +162,39 @@ export class ReflectionProbe extends Behaviour {
|
|
|
131
162
|
}
|
|
132
163
|
}
|
|
133
164
|
}
|
|
134
|
-
|
|
135
|
-
// and some need reflection probe and some don't
|
|
136
|
-
// we need to make sure we don't override the material but use a copy
|
|
137
|
-
static _rendererMaterialsCache = new Map();
|
|
138
|
-
onSet(_rend) {
|
|
165
|
+
apply(object) {
|
|
139
166
|
if (disable)
|
|
140
167
|
return;
|
|
141
168
|
if (!this.enabled)
|
|
142
169
|
return;
|
|
143
|
-
if (_rend.sharedMaterials?.length <= 0)
|
|
144
|
-
return;
|
|
145
170
|
if (!this.texture)
|
|
146
171
|
return;
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
// otherwise some renderers outside of the probe will be affected or vice versa
|
|
155
|
-
for (let i = 0; i < _rend.sharedMaterials.length; i++) {
|
|
156
|
-
const material = _rend.sharedMaterials[i];
|
|
157
|
-
if (!material) {
|
|
158
|
-
continue;
|
|
159
|
-
}
|
|
160
|
-
if (material["envMap"] === undefined) {
|
|
161
|
-
continue;
|
|
162
|
-
}
|
|
163
|
-
if (material instanceof MeshBasicMaterial) {
|
|
164
|
-
continue;
|
|
165
|
-
}
|
|
166
|
-
let cached = rendererCache[i];
|
|
167
|
-
// make sure we have the currently assigned material cached (and an up to date clone of that)
|
|
168
|
-
// Compare against the stored original version, not the clone's version (which gets modified by needsUpdate)
|
|
169
|
-
// This prevents cloning materials every frame when onUnset restores the original material
|
|
170
|
-
const isCachedInstance = material === cached?.copy;
|
|
171
|
-
const hasChanged = !cached || cached.material.uuid !== material.uuid || cached.originalVersion !== material.version;
|
|
172
|
-
if (!isCachedInstance && hasChanged) {
|
|
173
|
-
if (debug) {
|
|
174
|
-
let reason = "";
|
|
175
|
-
if (!cached)
|
|
176
|
-
reason = "not cached";
|
|
177
|
-
else if (cached.material !== material)
|
|
178
|
-
reason = "reference changed; cached instance?: " + isCachedInstance;
|
|
179
|
-
else if (cached.originalVersion !== material.version)
|
|
180
|
-
reason = "version changed";
|
|
181
|
-
console.warn("Cloning material", material.name, material.version, "Reason:", reason, "\n", material.uuid, "\n", cached?.copy.uuid, "\n", _rend.name);
|
|
182
|
-
}
|
|
183
|
-
const clone = material.clone();
|
|
184
|
-
clone.version = material.version;
|
|
185
|
-
if (cached) {
|
|
186
|
-
cached.copy = clone;
|
|
187
|
-
cached.material = material;
|
|
188
|
-
cached.originalVersion = material.version;
|
|
189
|
-
}
|
|
190
|
-
else {
|
|
191
|
-
cached = {
|
|
192
|
-
material: material,
|
|
193
|
-
copy: clone,
|
|
194
|
-
originalVersion: material.version
|
|
195
|
-
};
|
|
196
|
-
rendererCache.push(cached);
|
|
197
|
-
}
|
|
198
|
-
clone[$reflectionProbeKey] = this;
|
|
199
|
-
clone[$originalMaterial] = material;
|
|
200
|
-
if (debug)
|
|
201
|
-
console.log("Set reflection", _rend.name, _rend.guid);
|
|
202
|
-
}
|
|
203
|
-
// See NE-4771 and NE-4856
|
|
204
|
-
if (cached && cached.copy) {
|
|
205
|
-
cached.copy.onBeforeCompile = material.onBeforeCompile;
|
|
206
|
-
}
|
|
207
|
-
/** this is the material that we copied and that has the reflection probe */
|
|
208
|
-
const copy = cached?.copy;
|
|
209
|
-
if ("envMap" in copy) {
|
|
210
|
-
if (copy.envMap !== this.texture) { // Only update if changed
|
|
211
|
-
copy.envMap = this.texture;
|
|
212
|
-
copy.needsUpdate = true;
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
_rend.sharedMaterials[i] = copy;
|
|
172
|
+
const propertyBlock = MaterialPropertyBlock.get(object);
|
|
173
|
+
propertyBlock.setOverride("envMap", this.texture);
|
|
174
|
+
propertyBlock.setOverride("envMapRotation", this.gameObject.rotation);
|
|
175
|
+
let intensity = this.intensity;
|
|
176
|
+
if (this.__lightmapIntensityScale && propertyBlock.getOverride("lightMap")) {
|
|
177
|
+
// @TODO: Remove this here and in Renderer https://linear.app/needle/issue/NE-6922
|
|
178
|
+
intensity /= Math.PI;
|
|
216
179
|
}
|
|
180
|
+
propertyBlock.setOverride("envMapIntensity", intensity);
|
|
217
181
|
}
|
|
218
|
-
|
|
219
|
-
const
|
|
220
|
-
if (
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
182
|
+
unapply(obj) {
|
|
183
|
+
const block = MaterialPropertyBlock.get(obj);
|
|
184
|
+
if (block) {
|
|
185
|
+
const current = block.getOverride("envMap")?.value;
|
|
186
|
+
if (current === this.texture) {
|
|
187
|
+
block.removeOveride("envMap");
|
|
224
188
|
}
|
|
225
189
|
}
|
|
226
190
|
}
|
|
227
191
|
}
|
|
192
|
+
__decorate([
|
|
193
|
+
serializable(Texture)
|
|
194
|
+
], ReflectionProbe.prototype, "texture", null);
|
|
195
|
+
__decorate([
|
|
196
|
+
serializable()
|
|
197
|
+
], ReflectionProbe.prototype, "intensity", void 0);
|
|
228
198
|
__decorate([
|
|
229
199
|
serializable(Vector3)
|
|
230
200
|
], ReflectionProbe.prototype, "center", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReflectionProbe.js","sourceRoot":"","sources":["../../src/engine-components/ReflectionProbe.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ReflectionProbe.js","sourceRoot":"","sources":["../../src/engine-components/ReflectionProbe.ts"],"names":[],"mappings":"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"}
|
|
@@ -157,6 +157,8 @@ export declare class Renderer extends Behaviour implements IRenderer {
|
|
|
157
157
|
onEnable(): void;
|
|
158
158
|
onDisable(): void;
|
|
159
159
|
onDestroy(): void;
|
|
160
|
+
private readonly onReflectionProbeEnabled;
|
|
161
|
+
private onReflectionProbeDisabled;
|
|
160
162
|
onBeforeRender(): void;
|
|
161
163
|
private onBeforeRenderThree;
|
|
162
164
|
onAfterRender(): void;
|
|
@@ -579,10 +579,13 @@ export class Renderer extends Behaviour {
|
|
|
579
579
|
this.applyStencil();
|
|
580
580
|
}
|
|
581
581
|
this.updateReflectionProbe();
|
|
582
|
-
|
|
582
|
+
ReflectionProbe.onEnabled.addEventListener(this.onReflectionProbeEnabled);
|
|
583
|
+
ReflectionProbe.onDisabled.addEventListener(this.onReflectionProbeDisabled);
|
|
583
584
|
}
|
|
584
585
|
onDisable() {
|
|
585
586
|
this.setVisibility(false);
|
|
587
|
+
ReflectionProbe.onEnabled.removeEventListener(this.onReflectionProbeEnabled);
|
|
588
|
+
ReflectionProbe.onDisabled.removeEventListener(this.onReflectionProbeDisabled);
|
|
586
589
|
if (this._handles && this._handles.length > 0) {
|
|
587
590
|
this.setInstancingEnabled(false);
|
|
588
591
|
}
|
|
@@ -598,12 +601,21 @@ export class Renderer extends Behaviour {
|
|
|
598
601
|
this.context.removeBeforeRenderListener(this.gameObject, this.onBeforeRenderThree);
|
|
599
602
|
}
|
|
600
603
|
}
|
|
604
|
+
onReflectionProbeEnabled = () => {
|
|
605
|
+
this.updateReflectionProbe();
|
|
606
|
+
};
|
|
607
|
+
onReflectionProbeDisabled = (probe) => {
|
|
608
|
+
if (this._reflectionProbe === probe) {
|
|
609
|
+
this._reflectionProbe.unapply(this.gameObject);
|
|
610
|
+
this._reflectionProbe = null;
|
|
611
|
+
}
|
|
612
|
+
};
|
|
601
613
|
onBeforeRender() {
|
|
602
614
|
if (!this.gameObject) {
|
|
603
615
|
return;
|
|
604
616
|
}
|
|
605
|
-
if (this._probeAnchorLastFrame !== this.probeAnchor) {
|
|
606
|
-
this._reflectionProbe?.
|
|
617
|
+
if (this._probeAnchorLastFrame !== this.probeAnchor || this._reflectionProbe?.activeAndEnabled === false) {
|
|
618
|
+
this._reflectionProbe?.unapply(this.gameObject);
|
|
607
619
|
this.updateReflectionProbe();
|
|
608
620
|
}
|
|
609
621
|
if (debugRenderer == this.name && this.gameObject instanceof Mesh) {
|
|
@@ -653,7 +665,19 @@ export class Renderer extends Behaviour {
|
|
|
653
665
|
}
|
|
654
666
|
}
|
|
655
667
|
if (this.reflectionProbeUsage !== ReflectionProbeUsage.Off && this._reflectionProbe) {
|
|
656
|
-
|
|
668
|
+
// @TODO: when reflection probes are applied via bounding box we currently NEVER update it again
|
|
669
|
+
// if(this.probeAnchor === this._reflectionProbe.gameObject)
|
|
670
|
+
this._reflectionProbe.apply(this.gameObject);
|
|
671
|
+
// else {
|
|
672
|
+
// const probe = this._reflectionProbe;
|
|
673
|
+
// this._updateReflectionProbe();
|
|
674
|
+
// console.log(this.name, "Reflection probe updated on before render. Probe anchor changed:", this.probeAnchor !== this._probeAnchorLastFrame, "Probe active:", probe.activeAndEnabled, "New probe anchor:", this._reflectionProbe?.gameObject.name);
|
|
675
|
+
// if(!this._reflectionProbe) probe?.unapply(this.gameObject);
|
|
676
|
+
// else this._reflectionProbe?.apply(this.gameObject);
|
|
677
|
+
// }
|
|
678
|
+
}
|
|
679
|
+
else if (this.reflectionProbeUsage === ReflectionProbeUsage.Off && this._reflectionProbe) {
|
|
680
|
+
this._reflectionProbe.unapply(this.gameObject);
|
|
657
681
|
}
|
|
658
682
|
// since three 163 we need to set the envMap to the scene envMap if it is not set
|
|
659
683
|
// otherwise the envmapIntensity has no effect: https://github.com/mrdoob/three.js/pull/27903
|
|
@@ -691,8 +715,8 @@ export class Renderer extends Behaviour {
|
|
|
691
715
|
setCustomVisibility(handle.object, true);
|
|
692
716
|
}
|
|
693
717
|
}
|
|
694
|
-
if (this.
|
|
695
|
-
this._reflectionProbe.
|
|
718
|
+
if (this._reflectionProbe?.activeAndEnabled === false) {
|
|
719
|
+
this._reflectionProbe.unapply(this.gameObject);
|
|
696
720
|
}
|
|
697
721
|
if (this.static && this.gameObject.matrixAutoUpdate) {
|
|
698
722
|
this.gameObject.matrixAutoUpdate = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../src/engine-components/Renderer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../src/engine-components/Renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Texture, Vector4 } from "three";
|
|
2
2
|
import { type Renderer } from "./Renderer.js";
|
|
3
3
|
/**
|
|
4
4
|
* This component is automatically added by the {@link Renderer} component if the object has lightmap uvs AND we have a lightmap.
|
|
@@ -12,22 +12,26 @@ export declare class RendererLightmap {
|
|
|
12
12
|
private lightmapIndex;
|
|
13
13
|
private lightmapScaleOffset;
|
|
14
14
|
private readonly renderer;
|
|
15
|
-
private
|
|
15
|
+
private _isApplied;
|
|
16
16
|
private get context();
|
|
17
17
|
private get gameObject();
|
|
18
18
|
private lightmapTexture;
|
|
19
|
-
private lightmapScaleOffsetUniform;
|
|
20
|
-
private lightmapUniform;
|
|
21
19
|
constructor(renderer: Renderer);
|
|
22
20
|
init(lightmapIndex: number, lightmapScaleOffset: Vector4, lightmapTexture: Texture): void;
|
|
23
|
-
updateLightmapUniforms(
|
|
21
|
+
updateLightmapUniforms(_material: any): void;
|
|
24
22
|
/**
|
|
25
|
-
* Apply the lightmap to the object
|
|
23
|
+
* Apply the lightmap to the object using MaterialPropertyBlock instead of cloning materials.
|
|
24
|
+
* The lightmap texture and its per-object UV transform are set as overrides via PropertyBlock.
|
|
25
|
+
* Three.js reads material.lightMap to determine shader defines and upload uniforms,
|
|
26
|
+
* and uses texture.offset/repeat to compute lightMapTransform in the vertex shader.
|
|
26
27
|
*/
|
|
27
28
|
applyLightmap(): void;
|
|
29
|
+
/** Update the lightMap override on all property blocks (e.g. after LOD swap) */
|
|
30
|
+
private updatePropertyBlockTexture;
|
|
31
|
+
/**
|
|
32
|
+
* Remove the lightmap from the object
|
|
33
|
+
*/
|
|
34
|
+
onUnset(): void;
|
|
28
35
|
private ensureLightmapUvs;
|
|
29
|
-
private ensureLightmapMaterial;
|
|
30
|
-
private assignLightmapTexture;
|
|
31
|
-
private onBeforeCompile;
|
|
32
36
|
private setLightmapDebugMaterial;
|
|
33
37
|
}
|