@needle-tools/engine 3.6.3 → 3.6.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/CHANGELOG.md +14 -0
- package/dist/needle-engine.js +10589 -10562
- package/dist/needle-engine.light.js +10535 -10508
- package/dist/needle-engine.light.min.js +285 -286
- package/dist/needle-engine.light.umd.cjs +285 -286
- package/dist/needle-engine.min.js +285 -286
- package/dist/needle-engine.umd.cjs +286 -287
- 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.d.ts +12 -1
- package/lib/engine/engine_context.js +13 -2
- package/lib/engine/engine_context.js.map +1 -1
- package/lib/engine/engine_create_objects.d.ts +3 -1
- package/lib/engine/engine_create_objects.js +17 -4
- package/lib/engine/engine_create_objects.js.map +1 -1
- package/lib/engine/engine_element.js +11 -4
- package/lib/engine/engine_element.js.map +1 -1
- package/lib/engine/engine_element_loading.js +3 -3
- package/lib/engine/engine_element_loading.js.map +1 -1
- package/lib/engine/engine_license.js +4 -6
- package/lib/engine/engine_license.js.map +1 -1
- package/lib/engine/engine_scenetools.d.ts +5 -4
- package/lib/engine/engine_scenetools.js +2 -67
- package/lib/engine/engine_scenetools.js.map +1 -1
- package/lib/engine/extensions/NEEDLE_components.js +5 -2
- package/lib/engine/extensions/NEEDLE_components.js.map +1 -1
- package/lib/engine-components/AnimationCurve.d.ts +1 -0
- package/lib/engine-components/AnimationCurve.js +24 -3
- package/lib/engine-components/AnimationCurve.js.map +1 -1
- package/lib/engine-components/AnimationUtils.js +69 -3
- package/lib/engine-components/AnimationUtils.js.map +1 -1
- package/lib/engine-components/Component.d.ts +2 -1
- package/lib/engine-components/Component.js +2 -1
- package/lib/engine-components/Component.js.map +1 -1
- package/lib/engine-components/Gizmos.js +1 -1
- package/lib/engine-components/Gizmos.js.map +1 -1
- package/lib/engine-components/NestedGltf.js +1 -0
- package/lib/engine-components/NestedGltf.js.map +1 -1
- package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +2 -2
- package/lib/engine-components/export/usdz/ThreeUSDZExporter.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js +2 -1
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js.map +1 -1
- package/package.json +1 -1
- package/plugins/vite/copyfiles.js +2 -0
- package/plugins/vite/transform-codegen.js +10 -1
- package/src/engine/api.ts +12 -11
- package/src/engine/engine_context.ts +15 -3
- package/src/engine/engine_create_objects.ts +18 -5
- package/src/engine/engine_element.ts +12 -6
- package/src/engine/engine_element_loading.ts +3 -3
- package/src/engine/engine_license.ts +4 -6
- package/src/engine/engine_scenetools.ts +9 -72
- package/src/engine/extensions/NEEDLE_components.ts +7 -2
- package/src/engine-components/AnimationCurve.ts +31 -3
- package/src/engine-components/AnimationUtils.ts +70 -5
- package/src/engine-components/Component.ts +2 -1
- package/src/engine-components/Gizmos.ts +1 -1
- package/src/engine-components/NestedGltf.ts +2 -0
- package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +2 -2
- package/src/engine-components/postprocessing/Effects/ColorAdjustments.ts +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreeUSDZExporter.js","sourceRoot":"","sources":["../../../../src/engine-components/export/usdz/ThreeUSDZExporter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ThreeUSDZExporter.js","sourceRoot":"","sources":["../../../../src/engine-components/export/usdz/ThreeUSDZExporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,7 +54,8 @@ export class ColorAdjustments extends PostProcessingEffect {
|
|
|
54
54
|
this.postExposure.onValueChanged = v => {
|
|
55
55
|
if (this.context.renderer.toneMapping === NoToneMapping)
|
|
56
56
|
this.context.renderer.toneMapping = LinearToneMapping;
|
|
57
|
-
this.
|
|
57
|
+
if (this.postExposure.overrideState)
|
|
58
|
+
this.context.renderer.toneMappingExposure = v;
|
|
58
59
|
};
|
|
59
60
|
this.contrast.onValueChanged = v => {
|
|
60
61
|
brightnesscontrast.contrast = v;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorAdjustments.js","sourceRoot":"","sources":["../../../../src/engine-components/postprocessing/Effects/ColorAdjustments.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAwB,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAqB,iBAAiB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG5E,MAAM,OAAO,gBAAiB,SAAQ,oBAAoB;IAEtD,IAAI,QAAQ;QACR,OAAO,kBAAkB,CAAC;IAC9B,CAAC;IAGD,YAAY,CAAmB;IAG/B,QAAQ,CAAmB;IAG3B,QAAQ,CAAmB;IAG3B,UAAU,CAAmB;IAE7B,IAAI;QACA,IAAI,CAAC,YAAa,CAAC,cAAc,GAAG,CAAC,CAAC,EAAE;YACpC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnB,OAAO,CAAC,CAAC;QACb,CAAC,CAAA;QACD,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,CAAC,CAAS,EAAE,EAAE;YACzC,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC;gBAAE,OAAO,GAAG,GAAG,CAAC;iBACpB,IAAI,CAAC,GAAG,CAAC;gBAAE,OAAO,GAAG,GAAG,CAAC;YAC9B,iCAAiC;YACjC,MAAM,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC;YACxB,OAAO,GAAG,CAAC;QACf,CAAC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC;QAE/B,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC;QAE/B,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,CAAC,CAAS,EAAE,EAAE;YAC3C,IAAI,CAAC,GAAG,CAAC;gBAAE,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACjC,CAAC,CAAA;QACD,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,OAAO;QACH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,GAAG,CAAC,CAAC;IAClD,CAAC;IAGD,cAAc;QACV,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,KAAK,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa;YACtF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,GAAG,iBAAiB,CAAC;QAC1D,MAAM,kBAAkB,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAC1D,IAAI,CAAC,YAAa,CAAC,cAAc,GAAG,CAAC,CAAC,EAAE;YACpC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,KAAK,aAAa;gBACnD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,GAAG,iBAAiB,CAAC;YAC1D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ColorAdjustments.js","sourceRoot":"","sources":["../../../../src/engine-components/postprocessing/Effects/ColorAdjustments.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": "3.6.
|
|
3
|
+
"version": "3.6.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.umd.cjs",
|
|
6
6
|
"type": "module",
|
|
@@ -36,6 +36,7 @@ async function run(isBuild, config) {
|
|
|
36
36
|
const needleConfig = tryLoadProjectConfig();
|
|
37
37
|
if (needleConfig) {
|
|
38
38
|
assetsDirName = needleConfig.assetsDirectory;
|
|
39
|
+
while(assetsDirName.startsWith('/')) assetsDirName = assetsDirName.substring(1);
|
|
39
40
|
}
|
|
40
41
|
|
|
41
42
|
if (copyIncludesFromEngine !== false) {
|
|
@@ -84,6 +85,7 @@ async function run(isBuild, config) {
|
|
|
84
85
|
const targetDir = resolve(outDir, 'assets');
|
|
85
86
|
copyRecursiveSync(assetsDir, targetDir);
|
|
86
87
|
}
|
|
88
|
+
else console.log(`WARN: No assets directory found. Skipping copy of ${assetsDirName} resolved to ${assetsDir}`)
|
|
87
89
|
// copy include dir
|
|
88
90
|
const includeDir = resolve(baseDir, 'include');
|
|
89
91
|
if (existsSync(includeDir)) {
|
|
@@ -29,8 +29,17 @@ export const needleTransformCodegen = (command, config, userSettings) => {
|
|
|
29
29
|
apply: 'build',
|
|
30
30
|
transform(src, id) {
|
|
31
31
|
if (id.endsWith(codegenDirectory + "/gen.js")) {
|
|
32
|
-
|
|
32
|
+
let assetsDir = builtAssetsDirectory();
|
|
33
33
|
if (assetsDir !== configuredAssetsDirectory) {
|
|
34
|
+
// check if the the assets directory is expected to be relative to the root
|
|
35
|
+
// like for example "/assets"
|
|
36
|
+
// then we want to add the leading dash also to the new path
|
|
37
|
+
// if (configuredAssetsDirectory.startsWith("/")) assetsDir = "/" + assetsDir;
|
|
38
|
+
// // are they now the same? if so well we dont have to do anything
|
|
39
|
+
// if (assetsDir === configuredAssetsDirectory) {
|
|
40
|
+
// return;
|
|
41
|
+
// }
|
|
42
|
+
|
|
34
43
|
console.log(`[needle-transform-files] - Transform codegen paths \"${configuredAssetsDirectory}\" → \"${assetsDir}\"`)
|
|
35
44
|
// replace codegen paths
|
|
36
45
|
src = src.replaceAll(configuredAssetsDirectory, assetsDir);
|
package/src/engine/api.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
|
|
2
|
-
export * from "./extensions"
|
|
2
|
+
export * from "./extensions";
|
|
3
3
|
export * from "./engine_addressables";
|
|
4
|
-
export * from "./engine_application"
|
|
5
|
-
export * from "./engine_assetdatabase"
|
|
4
|
+
export * from "./engine_application";
|
|
5
|
+
export * from "./engine_assetdatabase";
|
|
6
|
+
export * from "./engine_create_objects";
|
|
6
7
|
export * from "./engine_components_internal";
|
|
7
8
|
export * from "./engine_components";
|
|
8
9
|
export * from "./engine_components_internal";
|
|
9
|
-
export * from "./engine_context_registry"
|
|
10
|
+
export * from "./engine_context_registry";
|
|
10
11
|
export * from "./engine_context";
|
|
11
12
|
export * from "./engine_coroutine"
|
|
12
13
|
export * from "./engine_constants";
|
|
@@ -24,12 +25,12 @@ export { syncField } from "./engine_networking_auto";
|
|
|
24
25
|
export * from "./engine_networking_files";
|
|
25
26
|
export * from "./engine_networking_instantiate";
|
|
26
27
|
export * from "./engine_networking_utils";
|
|
27
|
-
export * from "./engine_patcher"
|
|
28
|
-
export * from "./engine_playerview"
|
|
29
|
-
export * from "./engine_physics"
|
|
30
|
-
export * from "./engine_physics.types"
|
|
31
|
-
export * from "./engine_physics_rapier"
|
|
32
|
-
export * from "./engine_scenelighting"
|
|
28
|
+
export * from "./engine_patcher";
|
|
29
|
+
export * from "./engine_playerview";
|
|
30
|
+
export * from "./engine_physics";
|
|
31
|
+
export * from "./engine_physics.types";
|
|
32
|
+
export * from "./engine_physics_rapier";
|
|
33
|
+
export * from "./engine_scenelighting";
|
|
33
34
|
export * from "./engine_input";
|
|
34
35
|
export * from "./engine_math";
|
|
35
36
|
export * from "./js-extensions";
|
|
@@ -47,5 +48,5 @@ export * from "./engine_utils";
|
|
|
47
48
|
export { TypeStore, registerType } from "./engine_typestore";
|
|
48
49
|
|
|
49
50
|
export { InstancingUtil } from "./engine_instancing";
|
|
50
|
-
export { validate, prefix } from "./engine_util_decorator"
|
|
51
|
+
export { validate, prefix } from "./engine_util_decorator";
|
|
51
52
|
export { hasProLicense, hasIndieLicense } from "./engine_license";
|
|
@@ -99,25 +99,37 @@ export class Context implements IContext {
|
|
|
99
99
|
return VERSION;
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
+
/** The currently active context. Only set during the update loops */
|
|
102
103
|
static get Current(): Context {
|
|
103
104
|
return ContextRegistry.Current as Context;
|
|
104
105
|
}
|
|
105
106
|
|
|
107
|
+
/** @internal this property should not be set by user code */
|
|
106
108
|
static set Current(context: Context) {
|
|
107
109
|
ContextRegistry.Current = context;
|
|
108
110
|
}
|
|
109
111
|
|
|
110
112
|
name: string;
|
|
111
113
|
alias: string | undefined | null;
|
|
112
|
-
|
|
114
|
+
/** When the renderer or camera are managed by an external process (e.g. when running in r3f context) */
|
|
115
|
+
readonly isManagedExternally: boolean = false;
|
|
116
|
+
/** set to true to pause the update loop. You can receive an event for it in your components.
|
|
117
|
+
* Note that script updates will not be called when paused */
|
|
113
118
|
isPaused: boolean = false;
|
|
119
|
+
/** When enabled the application will run while not visible on the page */
|
|
114
120
|
runInBackground: boolean = false;
|
|
115
|
-
|
|
121
|
+
/**
|
|
122
|
+
* Set to the target framerate you want your application to run in (you can use ?stats to check the fps)
|
|
123
|
+
* Set to undefined if you want to run at the maximum framerate
|
|
124
|
+
*/
|
|
125
|
+
targetFrameRate?: number = 60;
|
|
116
126
|
|
|
117
127
|
/** used to append to loaded assets */
|
|
118
128
|
hash?: string;
|
|
119
129
|
|
|
130
|
+
/** the <needle-engine> HTML element */
|
|
120
131
|
domElement: HTMLElement;
|
|
132
|
+
|
|
121
133
|
get resolutionScaleFactor() { return this._resolutionScaleFactor; }
|
|
122
134
|
/** use to scale the resolution up or down of the renderer. default is 1 */
|
|
123
135
|
set resolutionScaleFactor(val: number) {
|
|
@@ -754,7 +766,7 @@ export class Context implements IContext {
|
|
|
754
766
|
|
|
755
767
|
if (this.isInXR === false && this.targetFrameRate !== undefined) {
|
|
756
768
|
this._accumulatedTime += this._framerateClock.getDelta();
|
|
757
|
-
if (this._accumulatedTime < (1 / this.targetFrameRate)) {
|
|
769
|
+
if (this._accumulatedTime < (1 / (this.targetFrameRate + 1))) {
|
|
758
770
|
return;
|
|
759
771
|
}
|
|
760
772
|
this._accumulatedTime = 0;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { PlaneGeometry, MeshBasicMaterial, DoubleSide, Mesh, Material } from "three"
|
|
1
|
+
import { PlaneGeometry, MeshBasicMaterial, DoubleSide, Mesh, Material, MeshStandardMaterial, BoxGeometry, SphereGeometry } from "three"
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
export enum PrimitiveType {
|
|
5
|
-
Quad = 0
|
|
5
|
+
Quad = 0,
|
|
6
|
+
Cube = 1,
|
|
7
|
+
Sphere = 2,
|
|
6
8
|
}
|
|
7
9
|
|
|
8
10
|
export type ObjectOptions = {
|
|
@@ -16,9 +18,20 @@ export class ObjectUtils {
|
|
|
16
18
|
let obj: Mesh;
|
|
17
19
|
switch (type) {
|
|
18
20
|
case PrimitiveType.Quad:
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
obj = new Mesh(
|
|
21
|
+
const quadGeo = new PlaneGeometry(1, 1, 1, 1);
|
|
22
|
+
const quadMat = opts?.material ?? new MeshBasicMaterial({ color: 0xffffff });
|
|
23
|
+
obj = new Mesh(quadGeo, quadMat);
|
|
24
|
+
break;
|
|
25
|
+
case PrimitiveType.Cube:
|
|
26
|
+
const boxGeo = new BoxGeometry(1, 1, 1);
|
|
27
|
+
const boxMat = opts?.material ?? new MeshStandardMaterial({ color: 0xdddddd });
|
|
28
|
+
obj = new Mesh(boxGeo, boxMat);
|
|
29
|
+
break;
|
|
30
|
+
case PrimitiveType.Sphere:
|
|
31
|
+
const sphereGeo = new SphereGeometry(.5, 16, 16);
|
|
32
|
+
const sphereMat = opts?.material ?? new MeshStandardMaterial({ color: 0xdddddd });
|
|
33
|
+
obj = new Mesh(sphereGeo, sphereMat);
|
|
34
|
+
break;
|
|
22
35
|
}
|
|
23
36
|
if (opts?.name)
|
|
24
37
|
obj.name = opts.name;
|
|
@@ -8,8 +8,9 @@ import { getLoader, registerLoader } from "../engine/engine_gltf";
|
|
|
8
8
|
import { NeedleGltfLoader } from "./engine_scenetools";
|
|
9
9
|
import { GLTF, INeedleEngineComponent, LoadedGLTF } from "./engine_types";
|
|
10
10
|
import { isLocalNetwork } from "./engine_networking_utils";
|
|
11
|
-
import { showBalloonWarning } from "./debug";
|
|
11
|
+
import { isDevEnvironment, showBalloonWarning } from "./debug";
|
|
12
12
|
import { destroy } from "./engine_gameobject";
|
|
13
|
+
import { hasCommercialLicense } from "./engine_license";
|
|
13
14
|
|
|
14
15
|
//
|
|
15
16
|
// registering loader here too to make sure it's imported when using engine via vanilla js
|
|
@@ -111,7 +112,7 @@ export class NeedleEngineHTMLElement extends HTMLElement implements INeedleEngin
|
|
|
111
112
|
this.setAttribute("src", global);
|
|
112
113
|
}
|
|
113
114
|
}
|
|
114
|
-
|
|
115
|
+
|
|
115
116
|
// we have to wait because codegen does set the src attribute when it's loaded
|
|
116
117
|
// which might happen after the element is connected
|
|
117
118
|
// if the `src` is then still null we want to initialize the default scene
|
|
@@ -181,7 +182,7 @@ export class NeedleEngineHTMLElement extends HTMLElement implements INeedleEngin
|
|
|
181
182
|
|
|
182
183
|
if (!this.isConnected) return;
|
|
183
184
|
if (!this._context) {
|
|
184
|
-
if(debug) console.warn("Create new context");
|
|
185
|
+
if (debug) console.warn("Create new context");
|
|
185
186
|
this._context = new Context({ domElement: this });
|
|
186
187
|
}
|
|
187
188
|
|
|
@@ -205,15 +206,20 @@ export class NeedleEngineHTMLElement extends HTMLElement implements INeedleEngin
|
|
|
205
206
|
this.classList.add("loading");
|
|
206
207
|
|
|
207
208
|
// Loading start events
|
|
208
|
-
const allowOverridingDefaultLoading =
|
|
209
|
+
const allowOverridingDefaultLoading = hasCommercialLicense();
|
|
209
210
|
// default loading can be overriden by calling preventDefault in the onload start event
|
|
210
|
-
|
|
211
|
+
let useDefaultLoading = this.dispatchEvent(new CustomEvent("loadstart", {
|
|
211
212
|
detail: {
|
|
212
213
|
context: this._context,
|
|
213
214
|
alias: alias
|
|
214
215
|
},
|
|
215
|
-
cancelable:
|
|
216
|
+
cancelable: true
|
|
216
217
|
}));
|
|
218
|
+
if (useDefaultLoading === false && !allowOverridingDefaultLoading) {
|
|
219
|
+
useDefaultLoading = true;
|
|
220
|
+
console.warn("Needle Engine: You need a commercial license to override the default loading view. Visit https://needle.tools/pricing to buy a license.");
|
|
221
|
+
if(isDevEnvironment()) showBalloonWarning("You need a <a target=\"_blank\" href=\"https://needle.tools/pricing\">commercial license</a> to override the default loading view");
|
|
222
|
+
}
|
|
217
223
|
if (!this._loadingView && useDefaultLoading)
|
|
218
224
|
this._loadingView = new EngineLoadingView(this);
|
|
219
225
|
if (useDefaultLoading)
|
|
@@ -5,8 +5,8 @@ import { getParam } from "./engine_utils";
|
|
|
5
5
|
import { logoSVG } from "./assets"
|
|
6
6
|
import { hasCommercialLicense, hasProLicense } from "./engine_license";
|
|
7
7
|
|
|
8
|
-
const debug = getParam("
|
|
9
|
-
const debugRendering = getParam("
|
|
8
|
+
const debug = getParam("debugloading");
|
|
9
|
+
const debugRendering = getParam("debugloadingrendering");
|
|
10
10
|
|
|
11
11
|
declare type LoadingStyleOption = "dark" | "light";
|
|
12
12
|
|
|
@@ -192,7 +192,7 @@ export class EngineLoadingView implements ILoadingViewHandler {
|
|
|
192
192
|
this._loadingElement.style.display = "flex";
|
|
193
193
|
this._loadingElement.style.alignItems = "center";
|
|
194
194
|
this._loadingElement.style.justifyContent = "center";
|
|
195
|
-
this._loadingElement.style.zIndex =
|
|
195
|
+
this._loadingElement.style.zIndex = Number.MAX_SAFE_INTEGER.toString();
|
|
196
196
|
this._loadingElement.style.flexDirection = "column";
|
|
197
197
|
this._loadingElement.style.pointerEvents = "none";
|
|
198
198
|
this._loadingElement.style.color = "white";
|
|
@@ -142,18 +142,16 @@ async function logNonCommercialUse(_logo?: string) {
|
|
|
142
142
|
background-image:url('${logo}');
|
|
143
143
|
background-max-size: 40px;
|
|
144
144
|
margin-bottom: 5px;
|
|
145
|
-
margin-top:
|
|
146
|
-
margin-bottom:
|
|
145
|
+
margin-top: .3em;
|
|
146
|
+
margin-bottom: .5em;
|
|
147
147
|
padding: .2em;
|
|
148
148
|
padding-left: 37px;
|
|
149
|
-
background-color: rgba(250,160,160,.2);
|
|
150
149
|
border-radius: .5em;
|
|
151
|
-
border: 2px solid rgba(
|
|
152
|
-
color: rgba(90,20,20,1);
|
|
150
|
+
border: 2px solid rgba(160,160,160,.5);
|
|
153
151
|
`;
|
|
154
152
|
// url must contain https for firefox to make it clickable
|
|
155
153
|
let licenseText = "Needle Engine — No license active, commercial use is not allowed. Visit https://needle.tools/pricing for more information and licensing options.";
|
|
156
|
-
console.log("%c" + licenseText, style);
|
|
154
|
+
console.log("%c " + licenseText, style);
|
|
157
155
|
}
|
|
158
156
|
|
|
159
157
|
function createLicenseElement() {
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { Context } from "./engine_setup"
|
|
2
|
-
import { Animator } from '../engine-components/Animator';
|
|
3
|
-
import { Animation } from '../engine-components/Animation';
|
|
4
2
|
import { GLTF, GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js'
|
|
5
3
|
// import * as object from "./engine_gltf_builtin_components";
|
|
6
4
|
import * as loaders from "./engine_loaders"
|
|
@@ -11,8 +9,8 @@ import { SourceIdentifier, UIDProvider } from "./engine_types";
|
|
|
11
9
|
import { createBuiltinComponents, writeBuiltinComponentData } from "./engine_gltf_builtin_components";
|
|
12
10
|
import { SerializationContext } from "./engine_serialization_core";
|
|
13
11
|
import { NEEDLE_components } from "./extensions/NEEDLE_components";
|
|
14
|
-
import { addNewComponent, getComponentInChildren } from "./engine_components";
|
|
15
12
|
import { registerPrewarmObject } from "./engine_mainloop_utils";
|
|
13
|
+
import { Object3D } from "three";
|
|
16
14
|
|
|
17
15
|
|
|
18
16
|
export class NeedleGltfLoader implements INeedleGltfLoader {
|
|
@@ -24,10 +22,10 @@ export class NeedleGltfLoader implements INeedleGltfLoader {
|
|
|
24
22
|
return writeBuiltinComponentData(comp, context);
|
|
25
23
|
}
|
|
26
24
|
|
|
27
|
-
parseSync(context: Context, data
|
|
25
|
+
parseSync(context: Context, data: string | ArrayBuffer, path: string, seed: number | UIDProvider | null): Promise<GLTF | undefined> {
|
|
28
26
|
return parseSync(context, data, path, seed);
|
|
29
27
|
}
|
|
30
|
-
loadSync(context: Context, url: string, sourceId:string, seed: number | UIDProvider | null, prog?: ((ProgressEvent: any) => void) | undefined): Promise<GLTF | undefined> {
|
|
28
|
+
loadSync(context: Context, url: string, sourceId: string, seed: number | UIDProvider | null, prog?: ((ProgressEvent: any) => void) | undefined): Promise<GLTF | undefined> {
|
|
31
29
|
return loadSync(context, url, sourceId, seed, prog);
|
|
32
30
|
}
|
|
33
31
|
}
|
|
@@ -98,7 +96,7 @@ export function createGLTFLoader(url: string, context: Context) {
|
|
|
98
96
|
return loader;
|
|
99
97
|
}
|
|
100
98
|
|
|
101
|
-
export function parseSync(context: Context, data
|
|
99
|
+
export function parseSync(context: Context, data: string | ArrayBuffer, path: string, seed: number | UIDProvider | null): Promise<GLTF | undefined> {
|
|
102
100
|
if (typeof path !== "string") {
|
|
103
101
|
console.warn("Parse gltf binary without path, this might lead to errors in resolving extensions. Please provide the source path of the gltf/glb file", path, typeof path);
|
|
104
102
|
}
|
|
@@ -127,7 +125,7 @@ export function parseSync(context: Context, data : string | ArrayBuffer, path: s
|
|
|
127
125
|
});
|
|
128
126
|
}
|
|
129
127
|
|
|
130
|
-
export function loadSync(context: Context, url: string, sourceId:string, seed: number | UIDProvider | null, prog?: (ProgressEvent) => void): Promise<GLTF | undefined> {
|
|
128
|
+
export function loadSync(context: Context, url: string, sourceId: string, seed: number | UIDProvider | null, prog?: (ProgressEvent) => void): Promise<GLTF | undefined> {
|
|
131
129
|
// better to create new loaders every time
|
|
132
130
|
// (maybe we can cache them...)
|
|
133
131
|
// but due to the async nature and potentially triggering multiple loads at the same time
|
|
@@ -160,75 +158,13 @@ export function loadSync(context: Context, url: string, sourceId:string, seed: n
|
|
|
160
158
|
});
|
|
161
159
|
}
|
|
162
160
|
|
|
163
|
-
export function findAnimationsLate(_context: Context, gltf, callbackarray, allowAddingAnimator: boolean = false) {
|
|
164
|
-
if (gltf && gltf.animations && gltf.animations.length > 0) {
|
|
165
|
-
callbackarray.push(() => {
|
|
166
|
-
// console.trace("callback", gltf);
|
|
167
|
-
findAnimations(gltf, allowAddingAnimator);
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
export function findAnimations(gltf: GLTF, allowAddingAnimator: boolean = false) {
|
|
173
|
-
console.log(gltf);
|
|
174
|
-
if (!gltf || !gltf.animations) return;
|
|
175
|
-
|
|
176
|
-
if (!allowAddingAnimator) {
|
|
177
|
-
// we only need to search if any animation component is in the scene
|
|
178
|
-
// otherwise if we dont add anything there is no reason to search and log anything
|
|
179
|
-
if (!getComponentInChildren(gltf.scene, Animation)) return;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
for (let i = 0; i < gltf.animations.length; i++) {
|
|
183
|
-
const animation = gltf.animations[i];
|
|
184
|
-
if (!animation.tracks || animation.tracks.length <= 0) continue;
|
|
185
|
-
for (const t in animation.tracks) {
|
|
186
|
-
const track = animation.tracks[t];
|
|
187
|
-
const objectName = track["__objectName"] ?? track.name.substring(0, track.name.indexOf("."));
|
|
188
|
-
const obj = gltf.scene.getObjectByName(objectName);
|
|
189
|
-
if (!obj) {
|
|
190
|
-
// console.warn("could not find " + objectName, animation, gltf.scene);
|
|
191
|
-
continue;
|
|
192
|
-
}
|
|
193
|
-
let animationComponent = findAnimationGameObjectInParent(obj);
|
|
194
|
-
if (!animationComponent) {
|
|
195
|
-
if (allowAddingAnimator)
|
|
196
|
-
animationComponent = addNewComponent(gltf.scene, new Animation());
|
|
197
|
-
else {
|
|
198
|
-
console.warn("Failed finding animator for", track.name, objectName);
|
|
199
|
-
continue;
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
const animations = animationComponent.animations = animationComponent.animations || [];
|
|
203
|
-
animation["name_animator"] = animationComponent.name;
|
|
204
|
-
// console.log(objectName, obj, animator.name, animations.length);
|
|
205
|
-
if (animations.indexOf(animation) < 0) {
|
|
206
|
-
animations.push(animation);
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
function findAnimationGameObjectInParent(obj) {
|
|
211
|
-
if (!obj) return;
|
|
212
|
-
const components = obj.userData?.components;
|
|
213
|
-
if (components && components.length > 0) {
|
|
214
|
-
for (let i = 0; i < components.length; i++) {
|
|
215
|
-
const component = components[i];
|
|
216
|
-
// console.log(component);
|
|
217
|
-
if (component instanceof Animator || component instanceof Animation) {
|
|
218
|
-
return obj;;
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
return findAnimationGameObjectInParent(obj.parent);
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
|
|
226
161
|
|
|
227
162
|
// TODO: save references in guid map
|
|
228
163
|
// const guidMap = {};
|
|
229
164
|
|
|
230
165
|
|
|
231
|
-
|
|
166
|
+
/** @deprecated */
|
|
167
|
+
export function tryFindObjectByName(name: string, obj: Object3D, recursive = true) {
|
|
232
168
|
if (obj.userData && obj.userData.name === name) return obj;
|
|
233
169
|
if (obj.children && obj.children.length > 0) {
|
|
234
170
|
for (let i = 0; i < obj.children.length; i++) {
|
|
@@ -239,7 +175,8 @@ export function tryFindObjectByName(name, obj, recursive = true) {
|
|
|
239
175
|
}
|
|
240
176
|
}
|
|
241
177
|
|
|
242
|
-
|
|
178
|
+
/** @deprecated */
|
|
179
|
+
export function tryFindScript(globalObjectIdentifier: string, list = null) {
|
|
243
180
|
const arr = list ?? Context.Current.scripts;
|
|
244
181
|
for (const i in arr) {
|
|
245
182
|
const script = arr[i];
|
|
@@ -212,14 +212,19 @@ export class NEEDLE_components implements GLTFLoaderPlugin {
|
|
|
212
212
|
console.log("Serialized data", JSON.parse(JSON.stringify(serializedData)));
|
|
213
213
|
|
|
214
214
|
if (serializedData && this.parser) {
|
|
215
|
-
tasks.push(
|
|
215
|
+
tasks.push(
|
|
216
|
+
resolveReferences(this.parser, serializedData)
|
|
217
|
+
.catch(e => console.error(`Error while resolving references (see console for details)\n`, e, obj, serializedData))
|
|
218
|
+
);
|
|
216
219
|
}
|
|
217
220
|
|
|
218
221
|
obj.userData = obj.userData || {};
|
|
219
222
|
obj.userData[builtinComponentKeyName] = obj.userData[builtinComponentKeyName] || [];
|
|
220
223
|
obj.userData[builtinComponentKeyName].push(serializedData);
|
|
221
224
|
}
|
|
222
|
-
await Promise.all(tasks)
|
|
225
|
+
await Promise.all(tasks).catch((e) => {
|
|
226
|
+
console.error("Error while loading components", e);
|
|
227
|
+
});
|
|
223
228
|
}
|
|
224
229
|
}
|
|
225
230
|
|