@needle-tools/engine 4.8.8-next.9f3f7b5 → 4.8.8-next.aa09526
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-DXoJZx7H.umd.cjs → needle-engine.bundle-C5WmZ20c.umd.cjs} +52 -52
- package/dist/{needle-engine.bundle-cvcRzUlh.min.js → needle-engine.bundle-DDQrIop6.min.js} +3 -3
- package/dist/{needle-engine.bundle-zcDWD5tM.js → needle-engine.bundle-xO7DnXAE.js} +17 -35
- 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_camera.d.ts +0 -3
- package/lib/engine/engine_camera.js.map +1 -1
- package/lib/engine/engine_context.d.ts +2 -8
- package/lib/engine/engine_context.js +3 -21
- package/lib/engine/engine_context.js.map +1 -1
- package/lib/engine-components/ContactShadows.d.ts +2 -12
- package/lib/engine-components/ContactShadows.js +4 -24
- package/lib/engine-components/ContactShadows.js.map +1 -1
- package/package.json +1 -1
- package/src/engine/engine_camera.ts +1 -3
- package/src/engine/engine_context.ts +4 -22
- package/src/engine-components/ContactShadows.ts +6 -27
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
/// <reference types="webxr" />
|
|
2
|
-
import { Object3D, Vector3Like } from "three";
|
|
3
2
|
import { Context } from "../engine/engine_context.js";
|
|
4
3
|
import { Vec3 } from "../engine/engine_types.js";
|
|
5
4
|
import { Behaviour } from "./Component.js";
|
|
6
|
-
type FitParameters = {
|
|
7
|
-
object?: Object3D | Object3D[];
|
|
8
|
-
positionOffset?: Partial<Vector3Like>;
|
|
9
|
-
scaleFactor?: Partial<Vector3Like>;
|
|
10
|
-
};
|
|
11
5
|
/**
|
|
12
6
|
* ContactShadows is a component that allows to display contact shadows in the scene.
|
|
13
7
|
* @category Rendering
|
|
@@ -21,10 +15,9 @@ export declare class ContactShadows extends Behaviour {
|
|
|
21
15
|
* @param context The context to create the contact shadows in.
|
|
22
16
|
* @returns The instance of the contact shadows.
|
|
23
17
|
*/
|
|
24
|
-
static auto(context?: Context
|
|
18
|
+
static auto(context?: Context): ContactShadows;
|
|
25
19
|
/**
|
|
26
20
|
* When enabled the contact shadows component will be created to fit the whole scene.
|
|
27
|
-
* @default false
|
|
28
21
|
*/
|
|
29
22
|
autoFit: boolean;
|
|
30
23
|
/**
|
|
@@ -54,13 +47,11 @@ export declare class ContactShadows extends Behaviour {
|
|
|
54
47
|
backfaceShadows: boolean;
|
|
55
48
|
/**
|
|
56
49
|
* The minimum size of the shadows box
|
|
57
|
-
* @default undefined
|
|
58
50
|
*/
|
|
59
51
|
minSize?: Partial<Vec3>;
|
|
60
52
|
/**
|
|
61
53
|
* When enabled the shadows will not be updated automatically. Use `needsUpdate()` to update the shadows manually.
|
|
62
54
|
* This is useful when you want to update the shadows only when the scene changes.
|
|
63
|
-
* @default false
|
|
64
55
|
*/
|
|
65
56
|
manualUpdate: boolean;
|
|
66
57
|
/**
|
|
@@ -88,7 +79,7 @@ export declare class ContactShadows extends Behaviour {
|
|
|
88
79
|
/**
|
|
89
80
|
* Call to fit the shadows to the scene.
|
|
90
81
|
*/
|
|
91
|
-
fitShadows(
|
|
82
|
+
fitShadows(): void;
|
|
92
83
|
/** @internal */
|
|
93
84
|
awake(): void;
|
|
94
85
|
/** @internal */
|
|
@@ -101,4 +92,3 @@ export declare class ContactShadows extends Behaviour {
|
|
|
101
92
|
private blurShadow;
|
|
102
93
|
private applyMinSize;
|
|
103
94
|
}
|
|
104
|
-
export {};
|
|
@@ -49,7 +49,7 @@ export class ContactShadows extends Behaviour {
|
|
|
49
49
|
* @param context The context to create the contact shadows in.
|
|
50
50
|
* @returns The instance of the contact shadows.
|
|
51
51
|
*/
|
|
52
|
-
static auto(context
|
|
52
|
+
static auto(context) {
|
|
53
53
|
if (!context)
|
|
54
54
|
context = Context.Current;
|
|
55
55
|
if (!context) {
|
|
@@ -65,12 +65,11 @@ export class ContactShadows extends Behaviour {
|
|
|
65
65
|
this._instances.set(context, instance);
|
|
66
66
|
}
|
|
67
67
|
context.scene.add(instance.gameObject);
|
|
68
|
-
instance.fitShadows(
|
|
68
|
+
instance.fitShadows();
|
|
69
69
|
return instance;
|
|
70
70
|
}
|
|
71
71
|
/**
|
|
72
72
|
* When enabled the contact shadows component will be created to fit the whole scene.
|
|
73
|
-
* @default false
|
|
74
73
|
*/
|
|
75
74
|
autoFit = false;
|
|
76
75
|
/**
|
|
@@ -100,13 +99,11 @@ export class ContactShadows extends Behaviour {
|
|
|
100
99
|
backfaceShadows = true;
|
|
101
100
|
/**
|
|
102
101
|
* The minimum size of the shadows box
|
|
103
|
-
* @default undefined
|
|
104
102
|
*/
|
|
105
103
|
minSize;
|
|
106
104
|
/**
|
|
107
105
|
* When enabled the shadows will not be updated automatically. Use `needsUpdate()` to update the shadows manually.
|
|
108
106
|
* This is useful when you want to update the shadows only when the scene changes.
|
|
109
|
-
* @default false
|
|
110
107
|
*/
|
|
111
108
|
manualUpdate = false;
|
|
112
109
|
/**
|
|
@@ -138,12 +135,11 @@ export class ContactShadows extends Behaviour {
|
|
|
138
135
|
/**
|
|
139
136
|
* Call to fit the shadows to the scene.
|
|
140
137
|
*/
|
|
141
|
-
fitShadows(
|
|
138
|
+
fitShadows() {
|
|
142
139
|
if (debug)
|
|
143
140
|
console.warn("Fitting shadows to scene");
|
|
144
141
|
setAutoFitEnabled(this.shadowsRoot, false);
|
|
145
|
-
const
|
|
146
|
-
const box = getBoundingBox(objectToFit, [this.shadowsRoot]);
|
|
142
|
+
const box = getBoundingBox(this.context.scene.children, [this.shadowsRoot]);
|
|
147
143
|
// expand box in all directions (except below ground)
|
|
148
144
|
// 0.75 expands by 75% in each direction
|
|
149
145
|
// The "32" is pretty much heuristically determined – adjusting the value until we don't get a visible border anymore.
|
|
@@ -166,22 +162,6 @@ export class ContactShadows extends Behaviour {
|
|
|
166
162
|
// We can't move GroundProjection down because of immersive-ar mesh/plane tracking where occlusion would otherwise hide GroundProjection
|
|
167
163
|
this.shadowsRoot.position.set((min.x + box.max.x) / 2, min.y - offset, (min.z + box.max.z) / 2);
|
|
168
164
|
this.shadowsRoot.scale.set(box.max.x - min.x, box.max.y - min.y, box.max.z - min.z);
|
|
169
|
-
if (params.positionOffset) {
|
|
170
|
-
if (params.positionOffset.x !== undefined)
|
|
171
|
-
this.shadowsRoot.position.x += params.positionOffset.x;
|
|
172
|
-
if (params.positionOffset.y !== undefined)
|
|
173
|
-
this.shadowsRoot.position.y += params.positionOffset.y;
|
|
174
|
-
if (params.positionOffset.z !== undefined)
|
|
175
|
-
this.shadowsRoot.position.z += params.positionOffset.z;
|
|
176
|
-
}
|
|
177
|
-
if (params.scaleFactor) {
|
|
178
|
-
if (params.scaleFactor.x !== undefined)
|
|
179
|
-
this.shadowsRoot.scale.x *= params.scaleFactor.x;
|
|
180
|
-
if (params.scaleFactor.y !== undefined)
|
|
181
|
-
this.shadowsRoot.scale.y *= params.scaleFactor.y;
|
|
182
|
-
if (params.scaleFactor.z !== undefined)
|
|
183
|
-
this.shadowsRoot.scale.z *= params.scaleFactor.z;
|
|
184
|
-
}
|
|
185
165
|
this.applyMinSize();
|
|
186
166
|
this.shadowsRoot.matrixWorldNeedsUpdate = true;
|
|
187
167
|
if (debug)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContactShadows.js","sourceRoot":"","sources":["../../src/engine-components/ContactShadows.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ContactShadows.js","sourceRoot":"","sources":["../../src/engine-components/ContactShadows.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@needle-tools/engine",
|
|
3
|
-
"version": "4.8.8-next.
|
|
3
|
+
"version": "4.8.8-next.aa09526",
|
|
4
4
|
"description": "Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in.",
|
|
5
5
|
"main": "dist/needle-engine.min.js",
|
|
6
6
|
"exports": {
|
|
@@ -42,9 +42,7 @@ export function setAutoFitEnabled(obj: Object3D, enabled: boolean): void {
|
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
damping: number
|
|
47
|
-
}
|
|
45
|
+
|
|
48
46
|
export type FocusRect = DOMRect | Element | { x: number, y: number, width: number, height: number };
|
|
49
47
|
|
|
50
48
|
let rendererRect: DOMRect | undefined = undefined;
|
|
@@ -18,7 +18,7 @@ import { Addressables } from './engine_addressables.js';
|
|
|
18
18
|
import { AnimationsRegistry } from './engine_animation.js';
|
|
19
19
|
import { Application } from './engine_application.js';
|
|
20
20
|
import { AssetDatabase } from './engine_assetdatabase.js';
|
|
21
|
-
import { FocusRect,
|
|
21
|
+
import { FocusRect, updateCameraFocusRect } from './engine_camera.js';
|
|
22
22
|
import { VERSION } from './engine_constants.js';
|
|
23
23
|
import { ContextEvent, ContextRegistry } from './engine_context_registry.js';
|
|
24
24
|
import { WaitForPromise } from './engine_coroutine.js';
|
|
@@ -1378,26 +1378,11 @@ export class Context implements IContext {
|
|
|
1378
1378
|
* Set a rect or dom element. The camera center will be moved to the center of the rect.
|
|
1379
1379
|
* This is useful if you have Needle Engine embedded in a HTML layout and while you want the webgl background to fill e.g. the whole screen you want to move the camera center to free space.
|
|
1380
1380
|
* For that you can simply pass in the rect or HMTL div that you want the camera to center on.
|
|
1381
|
-
* @param rect The focus rect or null to disable
|
|
1382
|
-
* @param settings Optional settings for the focus rect. These will override the `focusRectSettings` property
|
|
1383
1381
|
*/
|
|
1384
|
-
public setCameraFocusRect(rect: FocusRect | null
|
|
1382
|
+
public setCameraFocusRect(rect: FocusRect | null) {
|
|
1385
1383
|
this._focusRect = rect;
|
|
1386
|
-
if (settings) {
|
|
1387
|
-
Object.assign(this.focusRectSettings, settings);
|
|
1388
|
-
}
|
|
1389
1384
|
}
|
|
1390
1385
|
get focusRect() { return this._focusRect; }
|
|
1391
|
-
/** Settings when a focus rect is set. Use `setCameraFocusRect(...)` to do so.
|
|
1392
|
-
* This can be used to offset the renderer center e.g. to a specific DOM element.
|
|
1393
|
-
*/
|
|
1394
|
-
readonly focusRectSettings: FocusRectSettings = {
|
|
1395
|
-
/** Controls how fast the rect is centered. Smaller values mean the rect is centered faster.
|
|
1396
|
-
* A minimum value of 0 means the rect is centered instantly.
|
|
1397
|
-
* @default .05
|
|
1398
|
-
*/
|
|
1399
|
-
damping: .05
|
|
1400
|
-
};
|
|
1401
1386
|
private _focusRect: FocusRect | null = null;
|
|
1402
1387
|
|
|
1403
1388
|
|
|
@@ -1529,11 +1514,8 @@ export class Context implements IContext {
|
|
|
1529
1514
|
if (this.isVisibleToUser || this.runInBackground) {
|
|
1530
1515
|
|
|
1531
1516
|
if (this._focusRect) {
|
|
1532
|
-
if (this.mainCamera instanceof PerspectiveCamera)
|
|
1533
|
-
|
|
1534
|
-
const dt = settings.damping > 0 ? this.time.deltaTime / settings.damping : 1;
|
|
1535
|
-
updateCameraFocusRect(this._focusRect, dt, this.mainCamera, this.renderer);
|
|
1536
|
-
}
|
|
1517
|
+
if (this.mainCamera instanceof PerspectiveCamera)
|
|
1518
|
+
updateCameraFocusRect(this._focusRect, this.time.deltaTime / .05, this.mainCamera, this.renderer);
|
|
1537
1519
|
}
|
|
1538
1520
|
|
|
1539
1521
|
this._currentFrameEvent = FrameEvent.OnBeforeRender;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BackSide, CustomBlending, DoubleSide, FrontSide, Group, Material, Matrix4, MaxEquation, Mesh, MeshBasicMaterial, MeshDepthMaterial, MeshStandardMaterial, MinEquation, Object3D, OrthographicCamera, PlaneGeometry, RenderItem, ShaderMaterial, Vector3,
|
|
1
|
+
import { BackSide, CustomBlending, DoubleSide, FrontSide, Group, Material, Matrix4, MaxEquation, Mesh, MeshBasicMaterial, MeshDepthMaterial, MeshStandardMaterial, MinEquation, Object3D, OrthographicCamera, PlaneGeometry, RenderItem, ShaderMaterial, Vector3, WebGLRenderTarget } from "three";
|
|
2
2
|
import { HorizontalBlurShader } from 'three/examples/jsm/shaders/HorizontalBlurShader.js';
|
|
3
3
|
import { VerticalBlurShader } from 'three/examples/jsm/shaders/VerticalBlurShader.js';
|
|
4
4
|
|
|
@@ -27,14 +27,7 @@ onStart(ctx => {
|
|
|
27
27
|
shadows.darkness = intensity;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
})
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
type FitParameters = {
|
|
34
|
-
object?: Object3D | Object3D[];
|
|
35
|
-
positionOffset?: Partial<Vector3Like>;
|
|
36
|
-
scaleFactor?: Partial<Vector3Like>;
|
|
37
|
-
}
|
|
30
|
+
})
|
|
38
31
|
|
|
39
32
|
// Adapted from https://github.com/mrdoob/three.js/blob/master/examples/webgl_shadow_contact.html.
|
|
40
33
|
|
|
@@ -57,7 +50,7 @@ export class ContactShadows extends Behaviour {
|
|
|
57
50
|
* @param context The context to create the contact shadows in.
|
|
58
51
|
* @returns The instance of the contact shadows.
|
|
59
52
|
*/
|
|
60
|
-
static auto(context?: Context
|
|
53
|
+
static auto(context?: Context): ContactShadows {
|
|
61
54
|
if (!context) context = Context.Current;
|
|
62
55
|
if (!context) {
|
|
63
56
|
throw new Error("No context provided and no current context set.");
|
|
@@ -72,13 +65,12 @@ export class ContactShadows extends Behaviour {
|
|
|
72
65
|
this._instances.set(context, instance);
|
|
73
66
|
}
|
|
74
67
|
context.scene.add(instance.gameObject);
|
|
75
|
-
instance.fitShadows(
|
|
68
|
+
instance.fitShadows();
|
|
76
69
|
return instance;
|
|
77
70
|
}
|
|
78
71
|
|
|
79
72
|
/**
|
|
80
73
|
* When enabled the contact shadows component will be created to fit the whole scene.
|
|
81
|
-
* @default false
|
|
82
74
|
*/
|
|
83
75
|
@serializable()
|
|
84
76
|
autoFit: boolean = false;
|
|
@@ -115,14 +107,12 @@ export class ContactShadows extends Behaviour {
|
|
|
115
107
|
|
|
116
108
|
/**
|
|
117
109
|
* The minimum size of the shadows box
|
|
118
|
-
* @default undefined
|
|
119
110
|
*/
|
|
120
111
|
minSize?: Partial<Vec3>;
|
|
121
112
|
|
|
122
113
|
/**
|
|
123
114
|
* When enabled the shadows will not be updated automatically. Use `needsUpdate()` to update the shadows manually.
|
|
124
115
|
* This is useful when you want to update the shadows only when the scene changes.
|
|
125
|
-
* @default false
|
|
126
116
|
*/
|
|
127
117
|
manualUpdate: boolean = false;
|
|
128
118
|
/**
|
|
@@ -160,11 +150,10 @@ export class ContactShadows extends Behaviour {
|
|
|
160
150
|
/**
|
|
161
151
|
* Call to fit the shadows to the scene.
|
|
162
152
|
*/
|
|
163
|
-
fitShadows(
|
|
153
|
+
fitShadows() {
|
|
164
154
|
if (debug) console.warn("Fitting shadows to scene");
|
|
165
155
|
setAutoFitEnabled(this.shadowsRoot, false);
|
|
166
|
-
const
|
|
167
|
-
const box = getBoundingBox(objectToFit, [this.shadowsRoot]);
|
|
156
|
+
const box = getBoundingBox(this.context.scene.children, [this.shadowsRoot]);
|
|
168
157
|
// expand box in all directions (except below ground)
|
|
169
158
|
// 0.75 expands by 75% in each direction
|
|
170
159
|
// The "32" is pretty much heuristically determined – adjusting the value until we don't get a visible border anymore.
|
|
@@ -186,16 +175,6 @@ export class ContactShadows extends Behaviour {
|
|
|
186
175
|
// We can't move GroundProjection down because of immersive-ar mesh/plane tracking where occlusion would otherwise hide GroundProjection
|
|
187
176
|
this.shadowsRoot.position.set((min.x + box.max.x) / 2, min.y - offset, (min.z + box.max.z) / 2);
|
|
188
177
|
this.shadowsRoot.scale.set(box.max.x - min.x, box.max.y - min.y, box.max.z - min.z);
|
|
189
|
-
if (params.positionOffset) {
|
|
190
|
-
if (params.positionOffset.x !== undefined) this.shadowsRoot.position.x += params.positionOffset.x;
|
|
191
|
-
if (params.positionOffset.y !== undefined) this.shadowsRoot.position.y += params.positionOffset.y;
|
|
192
|
-
if (params.positionOffset.z !== undefined) this.shadowsRoot.position.z += params.positionOffset.z;
|
|
193
|
-
}
|
|
194
|
-
if (params.scaleFactor) {
|
|
195
|
-
if (params.scaleFactor.x !== undefined) this.shadowsRoot.scale.x *= params.scaleFactor.x;
|
|
196
|
-
if (params.scaleFactor.y !== undefined) this.shadowsRoot.scale.y *= params.scaleFactor.y;
|
|
197
|
-
if (params.scaleFactor.z !== undefined) this.shadowsRoot.scale.z *= params.scaleFactor.z;
|
|
198
|
-
}
|
|
199
178
|
this.applyMinSize();
|
|
200
179
|
this.shadowsRoot.matrixWorldNeedsUpdate = true;
|
|
201
180
|
if (debug) console.log("Fitted shadows to scene", this.shadowsRoot.scale.clone());
|