@needle-tools/engine 4.11.5-next.753a642 → 4.11.5-next.b4a2f9e
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/dist/{needle-engine.bundle-CAKvhOvZ.min.js → needle-engine.bundle-D2_8tEN0.min.js} +107 -107
- package/dist/{needle-engine.bundle-OrbPGV3t.umd.cjs → needle-engine.bundle-DG38kMjs.umd.cjs} +78 -78
- package/dist/{needle-engine.bundle-DVXwSz-d.js → needle-engine.bundle-DnJ3q6Oa.js} +1844 -1809
- package/dist/needle-engine.d.ts +15 -15
- package/dist/needle-engine.js +2 -2
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/lib/engine/engine_context.d.ts +15 -5
- package/lib/engine/engine_context.js +25 -4
- package/lib/engine/engine_context.js.map +1 -1
- package/lib/engine/engine_loaders.d.ts +0 -6
- package/lib/engine/engine_loaders.js +5 -5
- package/lib/engine/engine_loaders.js.map +1 -1
- package/lib/engine/engine_scenelighting.d.ts +12 -1
- package/lib/engine/engine_scenelighting.js +21 -1
- package/lib/engine/engine_scenelighting.js.map +1 -1
- package/lib/engine/extensions/NEEDLE_lightmaps.js +2 -2
- package/lib/engine/extensions/NEEDLE_lightmaps.js.map +1 -1
- package/lib/engine/extensions/extensions.d.ts +2 -2
- package/lib/engine/extensions/extensions.js +11 -5
- package/lib/engine/extensions/extensions.js.map +1 -1
- package/lib/engine-components/ReflectionProbe.js +16 -10
- package/lib/engine-components/ReflectionProbe.js.map +1 -1
- package/lib/engine-components/Renderer.js +2 -2
- package/lib/engine-components/Renderer.js.map +1 -1
- package/lib/engine-components/webxr/controllers/XRControllerModel.js +1 -1
- package/lib/engine-components/webxr/controllers/XRControllerModel.js.map +1 -1
- package/package.json +1 -1
- package/src/engine/engine_context.ts +36 -6
- package/src/engine/engine_loaders.ts +6 -6
- package/src/engine/engine_scenelighting.ts +30 -8
- package/src/engine/extensions/NEEDLE_lightmaps.ts +2 -2
- package/src/engine/extensions/extensions.ts +11 -5
- package/src/engine-components/ReflectionProbe.ts +18 -10
- package/src/engine-components/Renderer.ts +2 -2
- package/src/engine-components/webxr/controllers/XRControllerModel.ts +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EquirectangularReflectionMapping, LinearSRGBColorSpace, Material, MeshBasicMaterial, Object3D, SRGBColorSpace, Texture, Vector3 } from "three";
|
|
1
|
+
import { CubeReflectionMapping, CubeTexture, EquirectangularReflectionMapping, LinearSRGBColorSpace, Material, MeshBasicMaterial, Object3D, SRGBColorSpace, Texture, Vector3 } from "three";
|
|
2
2
|
|
|
3
3
|
import { isDevEnvironment, showBalloonWarning } from "../engine/debug/index.js";
|
|
4
4
|
import { serializable } from "../engine/engine_serialization.js";
|
|
@@ -63,13 +63,19 @@ export class ReflectionProbe extends Behaviour {
|
|
|
63
63
|
|
|
64
64
|
// @serializable(Texture)
|
|
65
65
|
set texture(tex: Texture) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
66
|
+
|
|
67
|
+
if (this._texture === tex) return;
|
|
70
68
|
this._texture = tex;
|
|
69
|
+
|
|
70
|
+
if (debug) console.debug("[ReflectionProbe] Set reflection probe texture " + (tex?.name || "(removed)"));
|
|
71
|
+
|
|
71
72
|
if (tex) {
|
|
72
|
-
tex
|
|
73
|
+
if (tex instanceof CubeTexture) {
|
|
74
|
+
// cube textures use CubeReflectionMapping by default
|
|
75
|
+
}
|
|
76
|
+
else if (tex.mapping !== EquirectangularReflectionMapping) {
|
|
77
|
+
tex.mapping = EquirectangularReflectionMapping;
|
|
78
|
+
}
|
|
73
79
|
tex.colorSpace = LinearSRGBColorSpace;
|
|
74
80
|
tex.needsUpdate = true;
|
|
75
81
|
}
|
|
@@ -110,9 +116,8 @@ export class ReflectionProbe extends Behaviour {
|
|
|
110
116
|
}
|
|
111
117
|
}
|
|
112
118
|
start(): void {
|
|
113
|
-
if (!this._texture
|
|
119
|
+
if (!this._texture) {
|
|
114
120
|
console.warn(`[ReflectionProbe] Missing texture. Please assign a custom cubemap texture. To use reflection probes assign them to your renderer's "anchor" property.`);
|
|
115
|
-
showBalloonWarning("ReflectionProbe configuration hint: See browser console for details")
|
|
116
121
|
}
|
|
117
122
|
}
|
|
118
123
|
|
|
@@ -206,8 +211,11 @@ export class ReflectionProbe extends Behaviour {
|
|
|
206
211
|
/** this is the material that we copied and that has the reflection probe */
|
|
207
212
|
const copy = cached?.copy;
|
|
208
213
|
|
|
209
|
-
|
|
210
|
-
|
|
214
|
+
if ("envMap" in copy) {
|
|
215
|
+
// make sure the reflection probe is assigned
|
|
216
|
+
copy.envMap = this.texture;
|
|
217
|
+
copy.needsUpdate = true;
|
|
218
|
+
}
|
|
211
219
|
|
|
212
220
|
_rend.sharedMaterials[i] = copy;
|
|
213
221
|
}
|
|
@@ -702,7 +702,6 @@ export class Renderer extends Behaviour implements IRenderer {
|
|
|
702
702
|
// If the material has a envMap and is NOT using a reflection probe we set the envMap to the scene environment
|
|
703
703
|
if (mat && "envMap" in mat && "envMapIntensity" in mat && !ReflectionProbe.isUsingReflectionProbe(mat)) {
|
|
704
704
|
mat.envMap = this.context.scene.environment;
|
|
705
|
-
mat.envMapIntensity = this.context.scene.environmentIntensity;
|
|
706
705
|
mat.envMapRotation = this.context.scene.environmentRotation;
|
|
707
706
|
}
|
|
708
707
|
}
|
|
@@ -713,8 +712,9 @@ export class Renderer extends Behaviour implements IRenderer {
|
|
|
713
712
|
private onBeforeRenderThree = (_renderer, _scene, _camera, _geometry, material, _group) => {
|
|
714
713
|
if (material.envMapIntensity !== undefined) {
|
|
715
714
|
const factor = this.hasLightmap ? Math.PI : 1;
|
|
716
|
-
const environmentIntensity = this.context.
|
|
715
|
+
const environmentIntensity = this.context.scene.environmentIntensity;
|
|
717
716
|
material.envMapIntensity = Math.max(0, environmentIntensity * this.context.sceneLighting.environmentIntensity / factor);
|
|
717
|
+
// console.log(this.context.sceneLighting.environmentIntensity);
|
|
718
718
|
}
|
|
719
719
|
if (this._lightmaps) {
|
|
720
720
|
for (const lm of this._lightmaps) {
|
|
@@ -284,7 +284,7 @@ export class XRControllerModel extends Behaviour {
|
|
|
284
284
|
|
|
285
285
|
const loader = new GLTFLoader();
|
|
286
286
|
addDracoAndKTX2Loaders(loader, context);
|
|
287
|
-
await registerExtensions(loader, context, this.sourceId ?? "");
|
|
287
|
+
await registerExtensions(loader, context, this.sourceId ?? "", this.sourceId ?? "");
|
|
288
288
|
const componentsExtension = registerComponentExtension(loader);
|
|
289
289
|
|
|
290
290
|
let filename = "";
|