@needle-tools/engine 4.17.0-alpha.3 → 4.17.0-alpha.5
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/components.needle.json +1 -1
- package/dist/{needle-engine.bundle-DrZh9f2V.min.js → needle-engine.bundle-DoDSYT05.min.js} +116 -116
- package/dist/{needle-engine.bundle-O6HHU-ll.js → needle-engine.bundle-_8JVJ7-q.js} +4500 -4528
- package/dist/{needle-engine.bundle-glRd_Shc.umd.cjs → needle-engine.bundle-xqtPOyfD.umd.cjs} +127 -127
- package/dist/needle-engine.d.ts +12 -49
- 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_pmrem.js +4 -1
- package/lib/engine/engine_pmrem.js.map +1 -1
- package/lib/engine/engine_three_utils.js.map +1 -1
- package/lib/engine-components/AlignmentConstraint.d.ts +0 -1
- package/lib/engine-components/AlignmentConstraint.js +0 -1
- package/lib/engine-components/AlignmentConstraint.js.map +1 -1
- package/lib/engine-components/BasicIKConstraint.d.ts +0 -1
- package/lib/engine-components/BasicIKConstraint.js +0 -1
- package/lib/engine-components/BasicIKConstraint.js.map +1 -1
- package/lib/engine-components/LookAtConstraint.d.ts +1 -38
- package/lib/engine-components/LookAtConstraint.js +1 -58
- package/lib/engine-components/LookAtConstraint.js.map +1 -1
- package/lib/engine-components/OffsetConstraint.d.ts +0 -1
- package/lib/engine-components/OffsetConstraint.js +0 -1
- package/lib/engine-components/OffsetConstraint.js.map +1 -1
- package/lib/engine-components/OrbitControls.d.ts +11 -7
- package/lib/engine-components/OrbitControls.js +35 -25
- package/lib/engine-components/OrbitControls.js.map +1 -1
- package/lib/engine-components/SmoothFollow.d.ts +0 -1
- package/lib/engine-components/SmoothFollow.js +0 -1
- package/lib/engine-components/SmoothFollow.js.map +1 -1
- package/lib/engine-components/web/CursorFollow.d.ts +0 -1
- package/lib/engine-components/web/CursorFollow.js +0 -1
- package/lib/engine-components/web/CursorFollow.js.map +1 -1
- package/lib/engine-components/web/ViewBox.d.ts +0 -1
- package/lib/engine-components/web/ViewBox.js +0 -1
- package/lib/engine-components/web/ViewBox.js.map +1 -1
- package/package.json +1 -1
- package/plugins/vite/build-pipeline.js +13 -0
- package/plugins/vite/dependencies.js +61 -11
- package/plugins/vite/poster-client.js +1 -1
- package/src/engine/engine_pmrem.ts +4 -1
- package/src/engine/engine_three_utils.ts +0 -1
- package/src/engine-components/AlignmentConstraint.ts +0 -1
- package/src/engine-components/BasicIKConstraint.ts +0 -1
- package/src/engine-components/LookAtConstraint.ts +2 -53
- package/src/engine-components/OffsetConstraint.ts +0 -1
- package/src/engine-components/OrbitControls.ts +30 -23
- package/src/engine-components/SmoothFollow.ts +0 -1
- package/src/engine-components/web/CursorFollow.ts +0 -1
- package/src/engine-components/web/ViewBox.ts +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CursorFollow.js","sourceRoot":"","sources":["../../../src/engine-components/web/CursorFollow.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;AAEtC
|
|
1
|
+
{"version":3,"file":"CursorFollow.js","sourceRoot":"","sources":["../../../src/engine-components/web/CursorFollow.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,7 +71,6 @@ export type ViewBoxMode = "continuous" | "once";
|
|
|
71
71
|
* @see {@link CameraComponent} - The camera component that ViewBox controls
|
|
72
72
|
* @see {@link OrbitControls} - Camera controls that work alongside ViewBox
|
|
73
73
|
* @see {@link DragControls} - Alternative camera controls compatible with ViewBox
|
|
74
|
-
* @see {@link LookAtConstraint} - Another way to control camera targeting
|
|
75
74
|
* @see {@link SceneSwitcher} - Can be combined with ViewBox for scene transitions
|
|
76
75
|
* @see {@link Context.setCameraFocusRect} - The underlying focus rect API used by ViewBox
|
|
77
76
|
* @see {@link Context.focusRectSettings} - Manual control of focus rect settings
|
|
@@ -81,7 +81,6 @@ const disabledGizmoColor = new RGBAColor(.5, .5, .5, .5);
|
|
|
81
81
|
* @see {@link CameraComponent} - The camera component that ViewBox controls
|
|
82
82
|
* @see {@link OrbitControls} - Camera controls that work alongside ViewBox
|
|
83
83
|
* @see {@link DragControls} - Alternative camera controls compatible with ViewBox
|
|
84
|
-
* @see {@link LookAtConstraint} - Another way to control camera targeting
|
|
85
84
|
* @see {@link SceneSwitcher} - Can be combined with ViewBox for scene transitions
|
|
86
85
|
* @see {@link Context.setCameraFocusRect} - The underlying focus rect API used by ViewBox
|
|
87
86
|
* @see {@link Context.focusRectSettings} - Manual control of focus rect settings
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewBox.js","sourceRoot":"","sources":["../../../src/engine-components/web/ViewBox.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ViewBox.js","sourceRoot":"","sources":["../../../src/engine-components/web/ViewBox.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.17.0-alpha.
|
|
3
|
+
"version": "4.17.0-alpha.5",
|
|
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": {
|
|
@@ -210,6 +210,19 @@ export async function needleBuildPipeline(command, config, userSettings) {
|
|
|
210
210
|
const moved = getDirectoryStats(buildPipelineTaskResults.tempDirectory);
|
|
211
211
|
const ctx = { count: 0, bytes: 0 }
|
|
212
212
|
copyFilesSync(buildPipelineTaskResults.tempDirectory, buildPipelineTaskResults.outputDirectory, true, ctx);
|
|
213
|
+
// Clean up source files that were replaced by the build pipeline
|
|
214
|
+
// (e.g. .exr files that now have .pmrem.ktx2 replacements)
|
|
215
|
+
const outputDir = buildPipelineTaskResults.outputDirectory;
|
|
216
|
+
try {
|
|
217
|
+
for (const file of readdirSync(outputDir)) {
|
|
218
|
+
if (file.endsWith('.exr')) {
|
|
219
|
+
const replacement = file.replace(/\.exr$/i, '.pmrem.ktx2');
|
|
220
|
+
if (existsSync(outputDir + '/' + replacement)) {
|
|
221
|
+
rmSync(outputDir + '/' + file);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
} catch { /* silent */ }
|
|
213
226
|
lines.push(`${key("Copying compressed results")}: "${outputPath}" — ${moved.fileCount} file${moved.fileCount !== 1 ? 's' : ''}, ${formatBytes(moved.totalBytes)}`);
|
|
214
227
|
}
|
|
215
228
|
else {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
|
-
import { existsSync } from 'fs';
|
|
2
|
+
import { existsSync, readFileSync } from 'fs';
|
|
3
3
|
import { tryGetNeedleEngineVersion, tryGetPackageVersion } from '../common/version.js';
|
|
4
4
|
import { needleLog } from './logging.js';
|
|
5
5
|
|
|
@@ -44,11 +44,14 @@ export function needleDependencies(command, config, userSettings) {
|
|
|
44
44
|
config: (config, env) => {
|
|
45
45
|
handleOptimizeDeps(config);
|
|
46
46
|
handleManualChunks(config);
|
|
47
|
-
// Ensure all imports of three resolve to the same copy
|
|
47
|
+
// Ensure all imports of three and needle-engine resolve to the same copy
|
|
48
|
+
// This prevents duplicates when packages (e.g. sample scripts) have their own node_modules
|
|
48
49
|
if (!config.resolve) config.resolve = {};
|
|
49
50
|
if (!config.resolve.dedupe) config.resolve.dedupe = [];
|
|
50
|
-
|
|
51
|
-
config.resolve.dedupe.
|
|
51
|
+
for (const pkg of ['three', '@needle-tools/engine']) {
|
|
52
|
+
if (!config.resolve.dedupe.includes(pkg)) {
|
|
53
|
+
config.resolve.dedupe.push(pkg);
|
|
54
|
+
}
|
|
52
55
|
}
|
|
53
56
|
},
|
|
54
57
|
},
|
|
@@ -118,6 +121,18 @@ function handleManualChunks(config) {
|
|
|
118
121
|
|
|
119
122
|
const rollupOutput = config.build[optionsKey].output;
|
|
120
123
|
|
|
124
|
+
// Detect Vite 8+ (Rolldown-based) which needs codeSplitting.groups instead of manualChunks.
|
|
125
|
+
// In Rolldown, manualChunks gets converted to a single codeSplitting group with recursive
|
|
126
|
+
// dependency inclusion, causing chunks like gltf-progressive to absorb three.js.
|
|
127
|
+
let isVite8 = false;
|
|
128
|
+
try {
|
|
129
|
+
const vitePkgPath = path.resolve(process.cwd(), 'node_modules/vite/package.json');
|
|
130
|
+
if (existsSync(vitePkgPath)) {
|
|
131
|
+
isVite8 = parseInt(JSON.parse(readFileSync(vitePkgPath, 'utf8')).version) >= 8;
|
|
132
|
+
}
|
|
133
|
+
} catch { }
|
|
134
|
+
needleLog("needle-dependencies", `Vite 8+ detected: ${isVite8}`);
|
|
135
|
+
|
|
121
136
|
if (Array.isArray(rollupOutput)) {
|
|
122
137
|
// append the manualChunks function to the array
|
|
123
138
|
if (process.env.DEBUG) needleLog("needle-dependencies", "registering manualChunks");
|
|
@@ -128,10 +143,10 @@ function handleManualChunks(config) {
|
|
|
128
143
|
else {
|
|
129
144
|
// If preserveModules is true we can not modify the chunkFileNames
|
|
130
145
|
let allowManualChunks = true;
|
|
131
|
-
if ("manualChunks" in rollupOutput) {
|
|
146
|
+
if ("manualChunks" in rollupOutput || "codeSplitting" in rollupOutput) {
|
|
132
147
|
allowManualChunks = false;
|
|
133
|
-
// if the user has already defined manualChunks
|
|
134
|
-
needleLog("needle-dependencies", "manualChunks already found in vite config - will not overwrite it");
|
|
148
|
+
// if the user has already defined manualChunks/codeSplitting, we don't want to overwrite it
|
|
149
|
+
needleLog("needle-dependencies", "manualChunks/codeSplitting already found in vite config - will not overwrite it");
|
|
135
150
|
}
|
|
136
151
|
else if (rollupOutput.preserveModules === true) {
|
|
137
152
|
allowManualChunks = false;
|
|
@@ -144,7 +159,36 @@ function handleManualChunks(config) {
|
|
|
144
159
|
|
|
145
160
|
if (allowManualChunks) {
|
|
146
161
|
if (process.env.DEBUG) needleLog("needle-dependencies", "registering manualChunks");
|
|
147
|
-
|
|
162
|
+
if (isVite8) {
|
|
163
|
+
// Vite 8+ uses Rolldown which converts manualChunks into a single codeSplitting group
|
|
164
|
+
// with recursive dependency inclusion. This causes gltf-progressive to absorb three.js.
|
|
165
|
+
// Use codeSplitting.groups directly with priorities so three.js gets its own chunk.
|
|
166
|
+
// Priority determines which group claims a module first. With the default
|
|
167
|
+
// includeDependenciesRecursively: true, claimed modules pull their deps into
|
|
168
|
+
// the same chunk — UNLESS those deps were already claimed by a higher-priority
|
|
169
|
+
// group. So three.js core (priority 100) must be higher than three-examples (90)
|
|
170
|
+
// to prevent examples from absorbing the core lib via recursive deps.
|
|
171
|
+
rollupOutput.codeSplitting = {
|
|
172
|
+
groups: [
|
|
173
|
+
{ name: 'three', test: /\/three\/(?:build|src)\//, priority: 100 },
|
|
174
|
+
{ name: 'three-examples', test: /three\/examples/, priority: 90 },
|
|
175
|
+
{ name: 'three-mesh-bvh', test: /three-mesh-bvh/, priority: 60 },
|
|
176
|
+
{ name: 'three-animation-pointer', test: /three-animation-pointer/, priority: 60 },
|
|
177
|
+
{ name: 'postprocessing.ao', test: /node_modules\/n8ao\//, priority: 50 },
|
|
178
|
+
{ name: 'postprocessing', test: /node_modules\/postprocessing\//, priority: 50 },
|
|
179
|
+
{ name: 'rapier3d', test: /@dimforge\/rapier3d/, priority: 50 },
|
|
180
|
+
{ name: 'materialx', test: /@needle-tools\/materialx/, priority: 50 },
|
|
181
|
+
{ name: 'three-mesh-ui', test: /node_modules\/three-mesh-ui/, priority: 50 },
|
|
182
|
+
{ name: 'three-quarks', test: /node_modules\/three\.quarks/, priority: 50 },
|
|
183
|
+
{ name: 'websocket-ts', test: /node_modules\/websocket-ts/, priority: 50 },
|
|
184
|
+
{ name: 'peerjs', test: /node_modules\/peerjs/, priority: 50 },
|
|
185
|
+
{ name: 'gltf-progressive', test: /\/gltf-progressive\//, priority: 40 },
|
|
186
|
+
{ name: 'needle-engine', test: /@needle-tools\/engine/, priority: 30 },
|
|
187
|
+
]
|
|
188
|
+
};
|
|
189
|
+
} else {
|
|
190
|
+
rollupOutput.manualChunks = needleManualChunks;
|
|
191
|
+
}
|
|
148
192
|
}
|
|
149
193
|
|
|
150
194
|
if (rollupOutput.chunkFileNames) {
|
|
@@ -189,9 +233,15 @@ function handleManualChunks(config) {
|
|
|
189
233
|
try {
|
|
190
234
|
const version = tryGetNeedleEngineVersion();
|
|
191
235
|
if (version) {
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
236
|
+
// Rolldown codeSplitting can create multiple chunks with the same name.
|
|
237
|
+
// Only the primary chunk (with actual module content) gets the versioned name.
|
|
238
|
+
// Secondary chunks (small re-export wrappers) get a hash-based name.
|
|
239
|
+
const moduleCount = chunk.moduleIds?.length ?? Object.keys(chunk.modules ?? {}).length;
|
|
240
|
+
if (moduleCount > 1) {
|
|
241
|
+
const name = `assets/needle-engine@${version}.js`;
|
|
242
|
+
preloadScriptPaths.push(`./${name}`);
|
|
243
|
+
return name;
|
|
244
|
+
}
|
|
195
245
|
}
|
|
196
246
|
}
|
|
197
247
|
catch (e) {
|
|
@@ -7,7 +7,7 @@ async function generatePoster() {
|
|
|
7
7
|
// Keep in sync with og:image:width meta tags
|
|
8
8
|
// https://developers.facebook.com/docs/sharing/best-practices/
|
|
9
9
|
const width = 1080;
|
|
10
|
-
const height =
|
|
10
|
+
const height = width * (9 / 16);
|
|
11
11
|
|
|
12
12
|
return new Promise(res => {
|
|
13
13
|
/** @ts-ignore */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createLoaders } from "@needle-tools/gltf-progressive";
|
|
2
|
-
import { CubeUVReflectionMapping, SRGBColorSpace, Texture, TextureLoader, WebGLRenderer } from "three";
|
|
2
|
+
import { CubeUVReflectionMapping, EquirectangularRefractionMapping, SRGBColorSpace, Texture, TextureLoader, WebGLRenderer } from "three";
|
|
3
3
|
import { EXRLoader } from "three/examples/jsm/loaders/EXRLoader";
|
|
4
4
|
import { KTX2Loader } from "three/examples/jsm/loaders/KTX2Loader";
|
|
5
5
|
import { RGBELoader } from "three/examples/jsm/loaders/RGBELoader";
|
|
@@ -67,6 +67,9 @@ async function internalLoadPMREM(url: URL, renderer: WebGLRenderer) {
|
|
|
67
67
|
if (isPMREM_URL) {
|
|
68
68
|
tex.mapping = CubeUVReflectionMapping;
|
|
69
69
|
}
|
|
70
|
+
else {
|
|
71
|
+
tex.mapping = EquirectangularRefractionMapping;
|
|
72
|
+
}
|
|
70
73
|
|
|
71
74
|
if (loader instanceof TextureLoader) {
|
|
72
75
|
tex.colorSpace = SRGBColorSpace;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { AnimationAction, Box3, Box3Helper, Camera, Color, DepthTexture, Euler, GridHelper, Layers, Material, Mesh, MeshStandardMaterial, Object3D, OrthographicCamera, PerspectiveCamera, PlaneGeometry, Quaternion, Scene, ShadowMaterial, Texture, Uniform, Vector2Like, Vector3, WebGLRenderTarget } from "three";
|
|
2
2
|
import { ShaderMaterial, WebGLRenderer } from "three";
|
|
3
3
|
import { GroundedSkybox } from "three/examples/jsm/objects/GroundedSkybox.js";
|
|
4
|
-
import { rendererReference } from "three/src/nodes/TSL.js";
|
|
5
4
|
|
|
6
5
|
import { useForAutoFit } from "./engine_camera.js";
|
|
7
6
|
import { Mathf } from "./engine_math.js"
|
|
@@ -29,7 +29,6 @@ import { Behaviour, GameObject } from "./Component.js";
|
|
|
29
29
|
* @summary Aligns and scales object between two targets
|
|
30
30
|
* @category Constraints
|
|
31
31
|
* @group Components
|
|
32
|
-
* @see {@link LookAtConstraint} for rotation-only constraints
|
|
33
32
|
* @see {@link SmoothFollow} for following with smoothing
|
|
34
33
|
**/
|
|
35
34
|
export class AlignmentConstraint extends Behaviour {
|
|
@@ -31,7 +31,6 @@ import { Behaviour, GameObject } from "./Component.js";
|
|
|
31
31
|
* @summary Two-bone inverse kinematics constraint
|
|
32
32
|
* @category Animation and Sequencing
|
|
33
33
|
* @group Components
|
|
34
|
-
* @see {@link LookAtConstraint} for aim constraints
|
|
35
34
|
* @see {@link AlignmentConstraint} for simpler alignment
|
|
36
35
|
*/
|
|
37
36
|
export class BasicIKConstraint extends Behaviour {
|
|
@@ -1,58 +1,7 @@
|
|
|
1
|
-
import { Object3D, Vector3 } from "three";
|
|
2
|
-
|
|
3
|
-
import { serializable } from "../engine/engine_serialization_decorator.js";
|
|
4
|
-
import type { LookAt } from "./api.js";
|
|
5
1
|
import { Behaviour } from "./Component.js";
|
|
6
|
-
import type { OrbitControls } from "./OrbitControls.js";
|
|
7
2
|
|
|
8
3
|
/**
|
|
9
|
-
*
|
|
10
|
-
* It does not have its own logic to update the look-at position.
|
|
11
|
-
*
|
|
12
|
-
* The constraint uses a list of source objects - the look-at target is
|
|
13
|
-
* calculated from the first source in the `sources` array.
|
|
14
|
-
*
|
|
15
|
-
* **Integration with OrbitControls:**
|
|
16
|
-
* When attached to the same GameObject as OrbitControls, this constraint
|
|
17
|
-
* controls where the camera orbits around and looks at.
|
|
18
|
-
*
|
|
19
|
-
* @summary Look At Constraint for camera targeting
|
|
20
|
-
* @category Camera and Controls
|
|
21
|
-
* @group Components
|
|
22
|
-
* @see {@link OrbitControls} for camera orbit controls
|
|
23
|
-
* @see {@link SmoothFollow} for smooth position/rotation following
|
|
24
|
-
* @see {@link LookAt} for directly making an object look at a target without using a constraint
|
|
4
|
+
* @deprecated LookAtConstraint has been removed. Use a plain Object3D/Transform reference on OrbitControls instead.
|
|
25
5
|
*/
|
|
26
6
|
export class LookAtConstraint extends Behaviour {
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* When true, the constraint is active and affects the target.
|
|
30
|
-
* Set to false to temporarily disable without removing sources.
|
|
31
|
-
*/
|
|
32
|
-
@serializable()
|
|
33
|
-
constraintActive: boolean = true;
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* When true, the look-at position is locked and won't update
|
|
37
|
-
* even if source objects move.
|
|
38
|
-
*/
|
|
39
|
-
@serializable()
|
|
40
|
-
locked: boolean = false;
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Objects to look at. The first object in the array is used
|
|
44
|
-
* as the primary look-at target.
|
|
45
|
-
*/
|
|
46
|
-
@serializable(Object3D)
|
|
47
|
-
sources: Object3D[] = [];
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Sets the world position that the constraint should look at.
|
|
51
|
-
* Updates the first source object's position.
|
|
52
|
-
* @param worldPosition The world-space position to look at
|
|
53
|
-
*/
|
|
54
|
-
setConstraintPosition(worldPosition: Vector3) {
|
|
55
|
-
const source = this.sources[0];
|
|
56
|
-
if (source) source.worldPosition = worldPosition;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
7
|
+
}
|
|
@@ -32,7 +32,6 @@ import { Behaviour, GameObject } from "./Component.js";
|
|
|
32
32
|
* @category Constraints
|
|
33
33
|
* @group Components
|
|
34
34
|
* @see {@link SmoothFollow} for smoothed following
|
|
35
|
-
* @see {@link LookAtConstraint} for aim constraints
|
|
36
35
|
* @see {@link AlignmentConstraint} for alignment between two objects
|
|
37
36
|
*/
|
|
38
37
|
export class OffsetConstraint extends Behaviour {
|
|
@@ -15,7 +15,6 @@ import { DeviceUtilities, getParam } from "../engine/engine_utils.js";
|
|
|
15
15
|
import { NeedleEngineWebComponent } from "../engine/webcomponents/needle-engine.js";
|
|
16
16
|
import { Camera } from "./Camera.js";
|
|
17
17
|
import { Behaviour, GameObject } from "./Component.js";
|
|
18
|
-
import { LookAtConstraint } from "./LookAtConstraint.js";
|
|
19
18
|
import { SyncedTransform } from "./SyncedTransform.js";
|
|
20
19
|
import { type AfterHandleInputEvent, EventSystem, EventSystemEvents } from "./ui/EventSystem.js";
|
|
21
20
|
import { tryGetUIComponent } from "./ui/Utils.js";
|
|
@@ -99,7 +98,6 @@ declare module 'three/examples/jsm/controls/OrbitControls.js' {
|
|
|
99
98
|
* @summary Camera controller using three.js OrbitControls
|
|
100
99
|
* @category Camera and Controls
|
|
101
100
|
* @group Components
|
|
102
|
-
* @see {@link LookAtConstraint} for setting the look-at target
|
|
103
101
|
* @see {@link SmoothFollow} for smooth camera following
|
|
104
102
|
* @see {@link Camera} for camera configuration
|
|
105
103
|
* @link https://threejs.org/docs/#examples/en/controls/OrbitControls
|
|
@@ -228,12 +226,19 @@ export class OrbitControls extends Behaviour implements ICameraController {
|
|
|
228
226
|
*/
|
|
229
227
|
@serializable()
|
|
230
228
|
enablePan: boolean = true;
|
|
231
|
-
/** Assigning
|
|
229
|
+
/** Assigning an Object3D will make the camera look at this target's position.
|
|
230
|
+
* The camera will orbit around this target.
|
|
232
231
|
* @default null
|
|
233
232
|
*/
|
|
234
|
-
@serializable(
|
|
235
|
-
|
|
236
|
-
/**
|
|
233
|
+
@serializable(Object3D)
|
|
234
|
+
lookAtTarget: Object3D | null = null;
|
|
235
|
+
/** When enabled the camera will continuously follow the lookAtTarget's position every frame.
|
|
236
|
+
* When disabled the target is only used for the initial look direction.
|
|
237
|
+
* @default true
|
|
238
|
+
*/
|
|
239
|
+
@serializable()
|
|
240
|
+
lockLookAtTarget: boolean = true;
|
|
241
|
+
/** The weight for the lookAtTarget interpolation
|
|
237
242
|
* @default 1
|
|
238
243
|
*/
|
|
239
244
|
@serializable()
|
|
@@ -392,11 +397,13 @@ export class OrbitControls extends Behaviour implements ICameraController {
|
|
|
392
397
|
private _camera: Camera | null = null;
|
|
393
398
|
private _syncedTransform?: SyncedTransform;
|
|
394
399
|
private _didSetTarget = 0;
|
|
400
|
+
private _didApplyLookAtTarget = false;
|
|
395
401
|
|
|
396
402
|
/** @internal */
|
|
397
403
|
awake(): void {
|
|
398
404
|
if (debug) console.debug("OrbitControls", this);
|
|
399
405
|
this._didSetTarget = 0;
|
|
406
|
+
this._didApplyLookAtTarget = false;
|
|
400
407
|
this._startedListeningToKeyEvents = false;
|
|
401
408
|
if ((this.context.domElement as NeedleEngineWebComponent).cameraControls === false) {
|
|
402
409
|
this.enabled = false;
|
|
@@ -421,6 +428,7 @@ export class OrbitControls extends Behaviour implements ICameraController {
|
|
|
421
428
|
/** @internal */
|
|
422
429
|
onEnable() {
|
|
423
430
|
this._didSetTarget = 0;
|
|
431
|
+
this._didApplyLookAtTarget = false;
|
|
424
432
|
this._enableTime = this.context.time.time;
|
|
425
433
|
const cameraComponent = GameObject.getComponent(this.gameObject, Camera);
|
|
426
434
|
this._camera = cameraComponent;
|
|
@@ -565,6 +573,7 @@ export class OrbitControls extends Behaviour implements ICameraController {
|
|
|
565
573
|
};
|
|
566
574
|
|
|
567
575
|
private updateTargetNow(options?: IRaycastOptions) {
|
|
576
|
+
if(debug) console.warn("OrbitControls: updateTargetNow is using raycasting to update the target immediately. This can be expensive and should be used with caution.", options);
|
|
568
577
|
const ray = new Ray(this._cameraObject?.worldPosition, this._cameraObject?.worldForward.multiplyScalar(-1));
|
|
569
578
|
const hits = this.context.physics.raycastFromRay(ray, options);
|
|
570
579
|
const hit = hits.length > 0 ? hits[0] : undefined;
|
|
@@ -807,8 +816,14 @@ export class OrbitControls extends Behaviour implements ICameraController {
|
|
|
807
816
|
|
|
808
817
|
// this._controls.zoomToCursor = this.zoomToCursor;
|
|
809
818
|
if (!this.context.isInXR) {
|
|
810
|
-
if (!freeCam && this.
|
|
811
|
-
|
|
819
|
+
if (!freeCam && this.lookAtTarget && !this._lookTargetLerpActive) {
|
|
820
|
+
if (this.lockLookAtTarget) {
|
|
821
|
+
this.setLookTargetFromConstraint(this.lookAtConstraint01);
|
|
822
|
+
}
|
|
823
|
+
else if (!this._didApplyLookAtTarget) {
|
|
824
|
+
this._didApplyLookAtTarget = true;
|
|
825
|
+
this.setLookTargetFromConstraint(1);
|
|
826
|
+
}
|
|
812
827
|
}
|
|
813
828
|
this._controls.update(this.context.time.deltaTime);
|
|
814
829
|
|
|
@@ -1011,30 +1026,22 @@ export class OrbitControls extends Behaviour implements ICameraController {
|
|
|
1011
1026
|
this._lookTargetLerpActive = false;
|
|
1012
1027
|
}
|
|
1013
1028
|
|
|
1014
|
-
/** Sets the look at target from
|
|
1015
|
-
* @param index The index of the source to use
|
|
1029
|
+
/** Sets the look at target from the assigned lookAtTarget Object3D
|
|
1016
1030
|
* @param t The interpolation factor between the current look at target and the new target
|
|
1017
1031
|
*/
|
|
1018
|
-
private setLookTargetFromConstraint(
|
|
1032
|
+
private setLookTargetFromConstraint(t: number = 1): boolean {
|
|
1019
1033
|
if (!this._controls) return false;
|
|
1020
|
-
if (this.
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
if (target) {
|
|
1025
|
-
target.getWorldPosition(this._lookTargetEndPosition);
|
|
1026
|
-
this.lerpLookTarget(this._controls.target, this._lookTargetEndPosition, t);
|
|
1027
|
-
return true;
|
|
1028
|
-
}
|
|
1029
|
-
}
|
|
1030
|
-
return false;
|
|
1034
|
+
if (!this.lookAtTarget) return false;
|
|
1035
|
+
this.lookAtTarget.getWorldPosition(this._lookTargetEndPosition);
|
|
1036
|
+
this.lerpLookTarget(this._controls.target, this._lookTargetEndPosition, t);
|
|
1037
|
+
return true;
|
|
1031
1038
|
}
|
|
1032
1039
|
|
|
1033
1040
|
private lerpLookTarget(start: Vector3, position: Vector3, t: number) {
|
|
1034
1041
|
if (!this._controls) return;
|
|
1035
1042
|
if (t >= 1) this._controls.target.copy(position);
|
|
1036
1043
|
else this._controls.target.lerpVectors(start, position, t);
|
|
1037
|
-
if (this.
|
|
1044
|
+
if (this.lookAtTarget && this.lockLookAtTarget) this.lookAtTarget.worldPosition = this._controls.target;
|
|
1038
1045
|
}
|
|
1039
1046
|
|
|
1040
1047
|
private setTargetFromRaycast(ray?: Ray, immediateOrDuration: number | boolean = false): boolean {
|
|
@@ -54,7 +54,6 @@ import { Behaviour } from "./Component.js";
|
|
|
54
54
|
* @summary Smoothly follows a target object's position and/or rotation
|
|
55
55
|
* @category Interactivity
|
|
56
56
|
* @group Components
|
|
57
|
-
* @see {@link LookAtConstraint} for making an object look at a target (different from rotation following)
|
|
58
57
|
* @see {@link Mathf} for the interpolation used
|
|
59
58
|
*/
|
|
60
59
|
export class SmoothFollow extends Behaviour {
|
|
@@ -78,7 +78,6 @@ const debug = getParam("debugcursor");
|
|
|
78
78
|
*
|
|
79
79
|
* - Example: [Look At Cursor sample](https://engine.needle.tools/samples/look-at-cursor-interactive-3d-header/) - Combines CursorFollow with LookAt for an interactive 3D header
|
|
80
80
|
*
|
|
81
|
-
* @see {@link LookAtConstraint} - Commonly combined with CursorFollow for look-at effects
|
|
82
81
|
* @see {@link PointerEvents} - For more complex pointer interaction handling
|
|
83
82
|
* @see {@link DragControls} - For dragging objects in 3D space
|
|
84
83
|
* @see {@link OrbitControls} - For camera controls that work alongside CursorFollow
|
|
@@ -12,7 +12,6 @@ import { RGBAColor } from "../../engine/js-extensions/RGBAColor.js";
|
|
|
12
12
|
import type { Camera as CameraComponent } from "../Camera.js";
|
|
13
13
|
import { Behaviour } from "../Component.js";
|
|
14
14
|
import type { DragControls } from "../DragControls.js";
|
|
15
|
-
import type { LookAtConstraint } from "../LookAtConstraint.js";
|
|
16
15
|
import type { OrbitControls } from "../OrbitControls.js";
|
|
17
16
|
import type { SceneSwitcher } from "../SceneSwitcher.js";
|
|
18
17
|
|
|
@@ -93,7 +92,6 @@ export type ViewBoxMode = "continuous" | "once";
|
|
|
93
92
|
* @see {@link CameraComponent} - The camera component that ViewBox controls
|
|
94
93
|
* @see {@link OrbitControls} - Camera controls that work alongside ViewBox
|
|
95
94
|
* @see {@link DragControls} - Alternative camera controls compatible with ViewBox
|
|
96
|
-
* @see {@link LookAtConstraint} - Another way to control camera targeting
|
|
97
95
|
* @see {@link SceneSwitcher} - Can be combined with ViewBox for scene transitions
|
|
98
96
|
* @see {@link Context.setCameraFocusRect} - The underlying focus rect API used by ViewBox
|
|
99
97
|
* @see {@link Context.focusRectSettings} - Manual control of focus rect settings
|