babylonjs-editor-tools 5.1.10 → 5.2.1
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/build/index.node.js +1 -1
- package/build/src/cinematic/cinematic.js +21 -0
- package/build/src/cinematic/cinematic.js.map +1 -0
- package/build/src/cinematic/events/event.js +4 -0
- package/build/src/cinematic/events/event.js.map +1 -0
- package/build/src/cinematic/generate.js +65 -12
- package/build/src/cinematic/generate.js.map +1 -1
- package/build/src/cinematic/parse.js +34 -32
- package/build/src/cinematic/parse.js.map +1 -1
- package/build/src/cinematic/tools.js +20 -0
- package/build/src/cinematic/tools.js.map +1 -1
- package/build/src/decorators/apply.js +44 -3
- package/build/src/decorators/apply.js.map +1 -1
- package/build/src/decorators/sprite.js +31 -0
- package/build/src/decorators/sprite.js.map +1 -0
- package/build/src/index.js +3 -0
- package/build/src/index.js.map +1 -1
- package/build/src/loading/loader.js +17 -3
- package/build/src/loading/loader.js.map +1 -1
- package/build/src/loading/script.js +38 -22
- package/build/src/loading/script.js.map +1 -1
- package/build/src/loading/shadows.js +26 -16
- package/build/src/loading/shadows.js.map +1 -1
- package/build/src/loading/sound.js +17 -10
- package/build/src/loading/sound.js.map +1 -1
- package/build/src/loading/sprite-manager.js +78 -0
- package/build/src/loading/sprite-manager.js.map +1 -0
- package/build/src/loading/sprite-map.js +59 -0
- package/build/src/loading/sprite-map.js.map +1 -0
- package/build/src/loading/texture.js +51 -46
- package/build/src/loading/texture.js.map +1 -1
- package/build/src/tools/guards.js +7 -0
- package/build/src/tools/guards.js.map +1 -1
- package/build/src/tools/sprite.js +27 -0
- package/build/src/tools/sprite.js.map +1 -0
- package/declaration/src/cinematic/cinematic.d.ts +14 -0
- package/declaration/src/cinematic/events/event.d.ts +5 -0
- package/declaration/src/cinematic/generate.d.ts +2 -2
- package/declaration/src/cinematic/parse.d.ts +2 -1
- package/declaration/src/cinematic/tools.d.ts +3 -0
- package/declaration/src/cinematic/typings.d.ts +2 -0
- package/declaration/src/decorators/apply.d.ts +17 -1
- package/declaration/src/decorators/sprite.d.ts +18 -0
- package/declaration/src/index.d.ts +3 -0
- package/declaration/src/loading/loader.d.ts +15 -12
- package/declaration/src/loading/script.d.ts +20 -4
- package/declaration/src/loading/shadows.d.ts +1 -1
- package/declaration/src/loading/sound.d.ts +1 -1
- package/declaration/src/loading/sprite-manager.d.ts +1 -0
- package/declaration/src/loading/sprite-map.d.ts +1 -0
- package/declaration/src/loading/texture.d.ts +1 -1
- package/declaration/src/script.d.ts +6 -2
- package/declaration/src/tools/guards.d.ts +6 -0
- package/declaration/src/tools/sprite.d.ts +48 -0
- package/package.json +3 -3
|
@@ -1,51 +1,56 @@
|
|
|
1
1
|
import { SerializationHelper } from "@babylonjs/core/Misc/decorators.serialization";
|
|
2
2
|
import { getPowerOfTwoUntil } from "../tools/scalar";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
SerializationHelper._TextureParser = (sourceProperty, scene, rootUrl) => {
|
|
8
|
-
if (scene.loadingQuality === "high" || !sourceProperty.metadata?.baseSize) {
|
|
9
|
-
return textureParser(sourceProperty, scene, rootUrl);
|
|
10
|
-
}
|
|
11
|
-
const width = sourceProperty.metadata.baseSize.width;
|
|
12
|
-
const height = sourceProperty.metadata.baseSize.height;
|
|
13
|
-
const isPowerOfTwo = width === getPowerOfTwoUntil(width) || height === getPowerOfTwoUntil(height);
|
|
14
|
-
let suffix = "";
|
|
15
|
-
switch (scene.loadingQuality) {
|
|
16
|
-
case "medium":
|
|
17
|
-
let midWidth = (width * 0.66) >> 0;
|
|
18
|
-
let midHeight = (height * 0.66) >> 0;
|
|
19
|
-
if (isPowerOfTwo) {
|
|
20
|
-
midWidth = getPowerOfTwoUntil(midWidth);
|
|
21
|
-
midHeight = getPowerOfTwoUntil(midHeight);
|
|
22
|
-
}
|
|
23
|
-
suffix = `_${midWidth}_${midHeight}`;
|
|
24
|
-
break;
|
|
25
|
-
case "low":
|
|
26
|
-
let lowWidth = (width * 0.33) >> 0;
|
|
27
|
-
let lowHeight = (height * 0.33) >> 0;
|
|
28
|
-
if (isPowerOfTwo) {
|
|
29
|
-
lowWidth = getPowerOfTwoUntil(lowWidth);
|
|
30
|
-
lowHeight = getPowerOfTwoUntil(lowHeight);
|
|
31
|
-
}
|
|
32
|
-
suffix = `_${lowWidth}_${lowHeight}`;
|
|
33
|
-
break;
|
|
3
|
+
let registered = false;
|
|
4
|
+
export function registerTextureParser() {
|
|
5
|
+
if (registered) {
|
|
6
|
+
return;
|
|
34
7
|
}
|
|
35
|
-
|
|
36
|
-
|
|
8
|
+
registered = true;
|
|
9
|
+
const textureParser = SerializationHelper._TextureParser;
|
|
10
|
+
SerializationHelper._TextureParser = (sourceProperty, scene, rootUrl) => {
|
|
11
|
+
if (scene.loadingTexturesQuality === "high" || !sourceProperty.metadata?.baseSize) {
|
|
12
|
+
return textureParser(sourceProperty, scene, rootUrl);
|
|
13
|
+
}
|
|
14
|
+
const width = sourceProperty.metadata.baseSize.width;
|
|
15
|
+
const height = sourceProperty.metadata.baseSize.height;
|
|
16
|
+
const isPowerOfTwo = width === getPowerOfTwoUntil(width) || height === getPowerOfTwoUntil(height);
|
|
17
|
+
let suffix = "";
|
|
18
|
+
switch (scene.loadingTexturesQuality) {
|
|
19
|
+
case "medium":
|
|
20
|
+
let midWidth = (width * 0.66) >> 0;
|
|
21
|
+
let midHeight = (height * 0.66) >> 0;
|
|
22
|
+
if (isPowerOfTwo) {
|
|
23
|
+
midWidth = getPowerOfTwoUntil(midWidth);
|
|
24
|
+
midHeight = getPowerOfTwoUntil(midHeight);
|
|
25
|
+
}
|
|
26
|
+
suffix = `_${midWidth}_${midHeight}`;
|
|
27
|
+
break;
|
|
28
|
+
case "low":
|
|
29
|
+
case "very-low":
|
|
30
|
+
let lowWidth = (width * 0.33) >> 0;
|
|
31
|
+
let lowHeight = (height * 0.33) >> 0;
|
|
32
|
+
if (isPowerOfTwo) {
|
|
33
|
+
lowWidth = getPowerOfTwoUntil(lowWidth);
|
|
34
|
+
lowHeight = getPowerOfTwoUntil(lowHeight);
|
|
35
|
+
}
|
|
36
|
+
suffix = `_${lowWidth}_${lowHeight}`;
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
const name = sourceProperty.name;
|
|
40
|
+
if (!name || !suffix) {
|
|
41
|
+
return textureParser(sourceProperty, scene, rootUrl);
|
|
42
|
+
}
|
|
43
|
+
const finalUrl = name.split("/");
|
|
44
|
+
const filename = finalUrl.pop();
|
|
45
|
+
if (!filename) {
|
|
46
|
+
return textureParser(sourceProperty, scene, rootUrl);
|
|
47
|
+
}
|
|
48
|
+
const extension = filename.split(".").pop();
|
|
49
|
+
const baseFilename = filename.replace(`.${extension}`, "");
|
|
50
|
+
const newFilename = `${baseFilename}${suffix}.${extension}`;
|
|
51
|
+
finalUrl.push(newFilename);
|
|
52
|
+
sourceProperty.name = finalUrl.join("/");
|
|
37
53
|
return textureParser(sourceProperty, scene, rootUrl);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
const filename = finalUrl.pop();
|
|
41
|
-
if (!filename) {
|
|
42
|
-
return textureParser(sourceProperty, scene, rootUrl);
|
|
43
|
-
}
|
|
44
|
-
const extension = filename.split(".").pop();
|
|
45
|
-
const baseFilename = filename.replace(`.${extension}`, "");
|
|
46
|
-
const newFilename = `${baseFilename}${suffix}.${extension}`;
|
|
47
|
-
finalUrl.push(newFilename);
|
|
48
|
-
sourceProperty.name = finalUrl.join("/");
|
|
49
|
-
return textureParser(sourceProperty, scene, rootUrl);
|
|
50
|
-
};
|
|
54
|
+
};
|
|
55
|
+
}
|
|
51
56
|
//# sourceMappingURL=texture.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"texture.js","sourceRoot":"","sources":["../../../src/loading/texture.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD
|
|
1
|
+
{"version":3,"file":"texture.js","sourceRoot":"","sources":["../../../src/loading/texture.ts"],"names":[],"mappings":"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"}
|
|
@@ -177,4 +177,11 @@ export function isAnyParticleSystem(object) {
|
|
|
177
177
|
}
|
|
178
178
|
return false;
|
|
179
179
|
}
|
|
180
|
+
/**
|
|
181
|
+
* Returns wether or not the given object is a Sprite.
|
|
182
|
+
* @param object defines the reference to the object to test its class name.
|
|
183
|
+
*/
|
|
184
|
+
export function isSprite(object) {
|
|
185
|
+
return object.getClassName?.() === "Sprite";
|
|
186
|
+
}
|
|
180
187
|
//# sourceMappingURL=guards.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guards.js","sourceRoot":"","sources":["../../../src/tools/guards.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"guards.js","sourceRoot":"","sources":["../../../src/tools/guards.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export function normalizeAtlasJson(data) {
|
|
2
|
+
if (!Array.isArray(data.frames)) {
|
|
3
|
+
const frames = [];
|
|
4
|
+
for (const key of Object.keys(data.frames)) {
|
|
5
|
+
frames.push({
|
|
6
|
+
filename: key,
|
|
7
|
+
...data.frames[key],
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
data.frames = frames;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Plays a sprite animation previously setup in the editor indentified by its name.
|
|
15
|
+
* @param sprite defines the reference to the sprite to animate.
|
|
16
|
+
* @param animationName defines the name of the animation to play previously setup in the editor.
|
|
17
|
+
* @param onAnimationEnd defines an optional callback to be called when the animation ends.
|
|
18
|
+
*/
|
|
19
|
+
export function playSpriteAnimationFromName(sprite, animationName, onAnimationEnd) {
|
|
20
|
+
const spriteAnimations = (sprite.metadata?.spriteAnimations ?? []);
|
|
21
|
+
const animation = spriteAnimations.find((a) => a.name === animationName);
|
|
22
|
+
if (!animation) {
|
|
23
|
+
return console.error(`Animation with name "${animationName}" not found on sprite.`);
|
|
24
|
+
}
|
|
25
|
+
sprite.playAnimation(animation.from, animation.to, animation.loop, animation.delay, onAnimationEnd);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=sprite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sprite.js","sourceRoot":"","sources":["../../../src/tools/sprite.ts"],"names":[],"mappings":"AAiDA,MAAM,UAAU,kBAAkB,CAAC,IAAS;IAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,MAAM,MAAM,GAAU,EAAE,CAAC;QAEzB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC;gBACX,QAAQ,EAAE,GAAG;gBACb,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;aACnB,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAc,EAAE,aAAqB,EAAE,cAA2B;IAC7G,MAAM,gBAAgB,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,IAAI,EAAE,CAAuB,CAAC;IACzF,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IAEzE,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,OAAO,OAAO,CAAC,KAAK,CAAC,wBAAwB,aAAa,wBAAwB,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACrG,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
2
|
+
import { AnimationGroup } from "@babylonjs/core/Animations/animationGroup";
|
|
3
|
+
export declare class Cinematic extends AnimationGroup {
|
|
4
|
+
/**
|
|
5
|
+
* Defines the observable used to notify observers when an event is raised during the cinematic playback.
|
|
6
|
+
*/
|
|
7
|
+
onEventObservable: Observable<string>;
|
|
8
|
+
/**
|
|
9
|
+
* Registers and calls the given callback on the provided event name is emitted during the cinematic playback.
|
|
10
|
+
* @param eventName defines the name of the event to listen to
|
|
11
|
+
* @param callback defines the callback to call when the event is raised
|
|
12
|
+
*/
|
|
13
|
+
onEvent(eventName: string, callback: () => void): void;
|
|
14
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Scene } from "@babylonjs/core/scene";
|
|
2
|
-
import { AnimationGroup } from "@babylonjs/core/Animations/animationGroup";
|
|
3
2
|
import { ICinematic } from "./typings";
|
|
3
|
+
import { Cinematic } from "./cinematic";
|
|
4
4
|
export type GenerateCinematicAnimationGroupOptions = {
|
|
5
5
|
/**
|
|
6
6
|
* Defines wether or not sounds should be ignored when generating the animation group.
|
|
@@ -15,4 +15,4 @@ export type GenerateCinematicAnimationGroupOptions = {
|
|
|
15
15
|
* @param scene defines the reference to the scene where to retrieve the animated objects.
|
|
16
16
|
* @param options defines the options to use when generating the animation group.
|
|
17
17
|
*/
|
|
18
|
-
export declare function generateCinematicAnimationGroup(cinematic: ICinematic, scene: Scene, options?: GenerateCinematicAnimationGroupOptions):
|
|
18
|
+
export declare function generateCinematicAnimationGroup(cinematic: ICinematic, scene: Scene, options?: GenerateCinematicAnimationGroupOptions): Cinematic;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Scene } from "@babylonjs/core/scene";
|
|
2
|
-
import { ICinematic } from "./typings";
|
|
2
|
+
import { ICinematic, ICinematicKey, ICinematicKeyCut } from "./typings";
|
|
3
3
|
/**
|
|
4
4
|
* Parses the given JSON data and returns a new cinematic object.
|
|
5
5
|
* @param data defines the JSON data of the cinematic to parse.
|
|
@@ -13,3 +13,4 @@ export declare function parseCinematic(data: ICinematic, scene: Scene): ICinemat
|
|
|
13
13
|
* @example [0, 0, 0] with type Animation.ANIMATIONTYPE_VECTOR3 will return a new Vector3(0, 0, 0) object.
|
|
14
14
|
*/
|
|
15
15
|
export declare function parseCinematicKeyValue(value: any, type: number): any;
|
|
16
|
+
export declare function parseKeyFrameAnimations(keyFrameAnimations: (ICinematicKey | ICinematicKeyCut)[], animationType: number): (ICinematicKey | ICinematicKeyCut)[];
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { Scene } from "@babylonjs/core/scene";
|
|
1
2
|
import { IAnimationKey } from "@babylonjs/core/Animations/animationKey";
|
|
3
|
+
import { Cinematic } from "./cinematic";
|
|
2
4
|
export declare function cloneKey(dataType: number, key: IAnimationKey): IAnimationKey;
|
|
3
5
|
/**
|
|
4
6
|
* Returns the current value of the given property of the given object.
|
|
@@ -8,3 +10,4 @@ export declare function cloneKey(dataType: number, key: IAnimationKey): IAnimati
|
|
|
8
10
|
* @example getPropertyValue(scene, "ambientColor.r");
|
|
9
11
|
*/
|
|
10
12
|
export declare function getPropertyValue(object: any, property: string): any;
|
|
13
|
+
export declare function registerAfterAnimationCallback(cinematic: Cinematic, scene: Scene, callback: () => void): void;
|
|
@@ -9,10 +9,12 @@ export interface ICinematicTrack {
|
|
|
9
9
|
_id?: string;
|
|
10
10
|
animationGroup?: any;
|
|
11
11
|
animationGroups?: ICinematicAnimationGroup[];
|
|
12
|
+
animationGroupWeight?: (ICinematicKey | ICinematicKeyCut)[];
|
|
12
13
|
node?: any;
|
|
13
14
|
defaultRenderingPipeline?: boolean;
|
|
14
15
|
sound?: any;
|
|
15
16
|
sounds?: ICinematicSound[];
|
|
17
|
+
soundVolume?: (ICinematicKey | ICinematicKeyCut)[];
|
|
16
18
|
propertyPath?: string;
|
|
17
19
|
keyFrameAnimations?: (ICinematicKey | ICinematicKeyCut)[];
|
|
18
20
|
keyFrameEvents?: ICinematicKeyEvent[];
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { Scene } from "@babylonjs/core/scene";
|
|
2
|
+
import { Observer } from "@babylonjs/core/Misc/observable";
|
|
3
|
+
import { PointerInfo } from "@babylonjs/core/Events/pointerEvents";
|
|
4
|
+
import { KeyboardInfo } from "@babylonjs/core/Events/keyboardEvents";
|
|
2
5
|
import { AdvancedDynamicTexture } from "@babylonjs/gui/2D/advancedDynamicTexture";
|
|
3
6
|
import { IPointerEventDecoratorOptions } from "./events";
|
|
4
7
|
import { VisibleInInspectorDecoratorConfiguration } from "./inspector";
|
|
@@ -44,5 +47,18 @@ export interface ISceneDecoratorData {
|
|
|
44
47
|
eventTypes: number[];
|
|
45
48
|
propertyKey: string | Symbol;
|
|
46
49
|
}[];
|
|
50
|
+
_SpritesFromSpriteManager?: {
|
|
51
|
+
spriteName: string;
|
|
52
|
+
propertyKey: string | Symbol;
|
|
53
|
+
}[];
|
|
54
|
+
_AnimationsFromSprite?: {
|
|
55
|
+
animationName: string;
|
|
56
|
+
propertyKey: string | Symbol;
|
|
57
|
+
}[];
|
|
47
58
|
}
|
|
48
|
-
export declare function applyDecorators(scene: Scene, object: any, script: any, instance: any, rootUrl: string): void
|
|
59
|
+
export declare function applyDecorators(scene: Scene, object: any, script: any, instance: any, rootUrl: string): void | {
|
|
60
|
+
observers: {
|
|
61
|
+
pointerObserver: Observer<PointerInfo> | null;
|
|
62
|
+
keyboardObserver: Observer<KeyboardInfo> | null;
|
|
63
|
+
};
|
|
64
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Makes the decorated property linked to the sprite that has the given name.
|
|
3
|
+
* Once the script is instantiated, the reference to the sprite is retrieved from the
|
|
4
|
+
* sprite manager and assigned to the property. Node link cant' be used in constructor.
|
|
5
|
+
* This can be used only by scripts using Classes.
|
|
6
|
+
* This can be used only on SpriteManagerNode.
|
|
7
|
+
* @param spriteName defines the name of the sprite to retrieve in scene.
|
|
8
|
+
*/
|
|
9
|
+
export declare function spriteFromSpriteManager(spriteName: string): (target: any, propertyKey: string | Symbol) => void;
|
|
10
|
+
/**
|
|
11
|
+
* Makes the decorated property linked to the sprite that has the given name.
|
|
12
|
+
* Once the script is instantiated, the reference to the sprite is retrieved from the
|
|
13
|
+
* sprite manager and assigned to the property. Node link cant' be used in constructor.
|
|
14
|
+
* This can be used only by scripts using Classes.
|
|
15
|
+
* This can be used only on SpriteManagerNode.
|
|
16
|
+
* @param spriteName defines the name of the sprite to retrieve in scene.
|
|
17
|
+
*/
|
|
18
|
+
export declare function animationFromSprite(animationName: string): (target: any, propertyKey: string | Symbol) => void;
|
|
@@ -6,6 +6,7 @@ export * from "./tools/texture";
|
|
|
6
6
|
export * from "./tools/light";
|
|
7
7
|
export * from "./tools/scalar";
|
|
8
8
|
export * from "./tools/animation";
|
|
9
|
+
export * from "./tools/sprite";
|
|
9
10
|
export * from "./rendering/ssao";
|
|
10
11
|
export * from "./rendering/ssr";
|
|
11
12
|
export * from "./rendering/motion-blur";
|
|
@@ -17,8 +18,10 @@ export * from "./decorators/sound";
|
|
|
17
18
|
export * from "./decorators/particle-systems";
|
|
18
19
|
export * from "./decorators/inspector";
|
|
19
20
|
export * from "./decorators/events";
|
|
21
|
+
export * from "./decorators/sprite";
|
|
20
22
|
export * from "./script";
|
|
21
23
|
export * from "./cinematic/parse";
|
|
22
24
|
export * from "./cinematic/typings";
|
|
23
25
|
export * from "./cinematic/generate";
|
|
24
26
|
export * from "./cinematic/guards";
|
|
27
|
+
export * from "./cinematic/cinematic";
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { Scene } from "@babylonjs/core/scene";
|
|
2
|
-
import "
|
|
3
|
-
import "./texture";
|
|
4
|
-
import "./shadows";
|
|
2
|
+
import { IScript } from "../script";
|
|
5
3
|
/**
|
|
6
4
|
* Defines the possible output type of a script.
|
|
7
5
|
* `default` is a class that will be instantiated with the object as parameter.
|
|
@@ -9,13 +7,8 @@ import "./shadows";
|
|
|
9
7
|
* `onUpdate` is a function that will be called every frame passing the reference to the object the script is attached to
|
|
10
8
|
*/
|
|
11
9
|
export type ScriptMap = Record<string, {
|
|
12
|
-
default?: new (object: any) =>
|
|
13
|
-
|
|
14
|
-
onUpdate?(): void;
|
|
15
|
-
};
|
|
16
|
-
onStart?: (object: any) => void;
|
|
17
|
-
onUpdate?: (object: any) => void;
|
|
18
|
-
}>;
|
|
10
|
+
default?: new (object: any) => IScript;
|
|
11
|
+
} & IScript>;
|
|
19
12
|
/**
|
|
20
13
|
* Defines the overall desired quality of the scene.
|
|
21
14
|
* In other words, defines the quality of textures that will be loaded in terms of dimensions.
|
|
@@ -23,16 +16,24 @@ export type ScriptMap = Record<string, {
|
|
|
23
16
|
* Using "medium" or "low" quality levels will reduce the memory usage and improve the performance of the scene
|
|
24
17
|
* especially on mobiles where memory is limited.
|
|
25
18
|
*/
|
|
26
|
-
export type SceneLoaderQualitySelector = "low" | "medium" | "high";
|
|
19
|
+
export type SceneLoaderQualitySelector = "very-low" | "low" | "medium" | "high";
|
|
27
20
|
export type SceneLoaderOptions = {
|
|
28
21
|
/**
|
|
29
22
|
* Defines the quality of the scene.
|
|
30
23
|
* This will affect the quality of textures that will be loaded in terms of dimensions.
|
|
31
24
|
* The editor computes automatic "high (untouched)", "medium (half)", and "low (quarter)" quality levels for textures.
|
|
32
25
|
* Using "medium" or "low" quality levels will reduce the memory usage and improve the performance of the scene
|
|
33
|
-
* especially on mobiles where memory is limited.
|
|
26
|
+
* especially on mobiles where memory is limited. The "very-low" quality level is even more aggressive with shadows quality.
|
|
34
27
|
*/
|
|
35
28
|
quality?: SceneLoaderQualitySelector;
|
|
29
|
+
/**
|
|
30
|
+
* Same as "quality" but only applied to textures. If set, this has priority over "quality".
|
|
31
|
+
*/
|
|
32
|
+
texturesQuality?: SceneLoaderQualitySelector;
|
|
33
|
+
/**
|
|
34
|
+
* Same as "quality" but only applied to shadows. If set, this has priority over "quality".
|
|
35
|
+
*/
|
|
36
|
+
shadowsQuality?: SceneLoaderQualitySelector;
|
|
36
37
|
/**
|
|
37
38
|
* Defines the function called to notify the loading progress in interval [0, 1]
|
|
38
39
|
*/
|
|
@@ -41,6 +42,8 @@ export type SceneLoaderOptions = {
|
|
|
41
42
|
declare module "@babylonjs/core/scene" {
|
|
42
43
|
interface Scene {
|
|
43
44
|
loadingQuality: SceneLoaderQualitySelector;
|
|
45
|
+
loadingTexturesQuality: SceneLoaderQualitySelector;
|
|
46
|
+
loadingShadowsQuality: SceneLoaderQualitySelector;
|
|
44
47
|
}
|
|
45
48
|
}
|
|
46
49
|
export declare function loadScene(rootUrl: any, sceneFilename: string, scene: Scene, scriptsMap: ScriptMap, options?: SceneLoaderOptions): Promise<void>;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { Node } from "@babylonjs/core/node";
|
|
2
2
|
import { Scene } from "@babylonjs/core/scene";
|
|
3
|
+
import { Observer } from "@babylonjs/core/Misc/observable";
|
|
4
|
+
import { PointerInfo } from "@babylonjs/core/Events/pointerEvents";
|
|
5
|
+
import { KeyboardInfo } from "@babylonjs/core/Events/keyboardEvents";
|
|
3
6
|
import { IParticleSystem } from "@babylonjs/core/Particles/IParticleSystem";
|
|
4
7
|
import { IScript } from "../script";
|
|
5
8
|
import { ScriptMap } from "./loader";
|
|
@@ -35,16 +38,29 @@ export interface IRegisteredScript {
|
|
|
35
38
|
* Defines the instance of the script that was created while loading the scene.
|
|
36
39
|
*/
|
|
37
40
|
instance: IScript;
|
|
41
|
+
/**
|
|
42
|
+
* Defines the dictionary of all registered observers for this script.
|
|
43
|
+
*/
|
|
44
|
+
observers: IRegisteredScriptObservers;
|
|
45
|
+
}
|
|
46
|
+
export interface IRegisteredScriptObservers {
|
|
47
|
+
onStartObserver?: Observer<Scene> | null;
|
|
48
|
+
onUpdateObserver?: Observer<Scene> | null;
|
|
49
|
+
pointerObserver?: Observer<PointerInfo> | null;
|
|
50
|
+
keyboardObserver?: Observer<KeyboardInfo> | null;
|
|
38
51
|
}
|
|
39
52
|
export declare const scriptsDictionary: Map<Node | Scene | IParticleSystem, IRegisteredScript[]>;
|
|
40
53
|
/**
|
|
41
54
|
* When a scene is being loaded, scripts that were attached to objects in the scene using the Editor are processed.
|
|
42
55
|
* This function registers the instance of scripts per object in order to retrieve them later.
|
|
43
|
-
* @
|
|
44
|
-
|
|
45
|
-
|
|
56
|
+
* @internal
|
|
57
|
+
*/
|
|
58
|
+
export declare function _registerScriptInstance(object: any, scriptInstance: IScript, key: string, observers: IRegisteredScriptObservers): void;
|
|
59
|
+
/**
|
|
60
|
+
* When a node is disposed, or for hot reload purpose, the script should be unregistered and all observers removed.
|
|
61
|
+
* @internal
|
|
46
62
|
*/
|
|
47
|
-
export declare function
|
|
63
|
+
export declare function _removeRegisteredScriptInstance(object: any, registeredScript: IRegisteredScript): void;
|
|
48
64
|
/**
|
|
49
65
|
* Returns all the instances of the script attached to the given object that matches the given class type.
|
|
50
66
|
* The same script can be attached multiple times to the same object. If you ensure that ONLY DISTINCT scripts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export declare function registerShadowGeneratorParser(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export declare function registerAudioParser(): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function registerSpriteManagerParser(): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function registerSpriteMapParser(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export declare function registerTextureParser(): void;
|
|
@@ -5,9 +5,13 @@ export interface IScript {
|
|
|
5
5
|
/**
|
|
6
6
|
* Method called when the script starts. This method is called only once.
|
|
7
7
|
*/
|
|
8
|
-
onStart?(): void;
|
|
8
|
+
onStart?(object: any): void;
|
|
9
9
|
/**
|
|
10
10
|
* Method called on each frame.
|
|
11
11
|
*/
|
|
12
|
-
onUpdate?(): void;
|
|
12
|
+
onUpdate?(object: any): void;
|
|
13
|
+
/**
|
|
14
|
+
* Method called on the script is stopped or the object is disposed.
|
|
15
|
+
*/
|
|
16
|
+
onStop?(object: any): void;
|
|
13
17
|
}
|
|
@@ -17,6 +17,7 @@ import { DirectionalLight } from "@babylonjs/core/Lights/directionalLight";
|
|
|
17
17
|
import { ParticleSystem } from "@babylonjs/core/Particles/particleSystem";
|
|
18
18
|
import { IParticleSystem } from "@babylonjs/core/Particles/IParticleSystem";
|
|
19
19
|
import { GPUParticleSystem } from "@babylonjs/core/Particles/gpuParticleSystem";
|
|
20
|
+
import { Sprite } from "@babylonjs/core/Sprites/sprite";
|
|
20
21
|
/**
|
|
21
22
|
* Returns wether or not the given object is an AbstractMesh.
|
|
22
23
|
* @param object defines the reference to the object to test its class name.
|
|
@@ -117,3 +118,8 @@ export declare function isGPUParticleSystem(object: any): object is GPUParticleS
|
|
|
117
118
|
* @param object defines the reference to the object to test its class name.
|
|
118
119
|
*/
|
|
119
120
|
export declare function isAnyParticleSystem(object: any): object is IParticleSystem;
|
|
121
|
+
/**
|
|
122
|
+
* Returns wether or not the given object is a Sprite.
|
|
123
|
+
* @param object defines the reference to the object to test its class name.
|
|
124
|
+
*/
|
|
125
|
+
export declare function isSprite(object: any): object is Sprite;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Sprite } from "@babylonjs/core/Sprites/sprite";
|
|
2
|
+
import { SpriteMap } from "@babylonjs/core/Sprites/spriteMap";
|
|
3
|
+
import { IVector2Like } from "@babylonjs/core/Maths/math.like";
|
|
4
|
+
import { TransformNode } from "@babylonjs/core/Meshes/transformNode";
|
|
5
|
+
import { SpriteManager } from "@babylonjs/core/Sprites/spriteManager";
|
|
6
|
+
declare module "@babylonjs/core/Sprites/sprite" {
|
|
7
|
+
interface Sprite {
|
|
8
|
+
metadata: any;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export interface ISpriteAnimation {
|
|
12
|
+
name: string;
|
|
13
|
+
from: number;
|
|
14
|
+
to: number;
|
|
15
|
+
loop: boolean;
|
|
16
|
+
delay: number;
|
|
17
|
+
}
|
|
18
|
+
export interface ISpriteMapTile {
|
|
19
|
+
id: string;
|
|
20
|
+
name: string;
|
|
21
|
+
layer: number;
|
|
22
|
+
position: IVector2Like;
|
|
23
|
+
repeatCount: IVector2Like;
|
|
24
|
+
repeatOffset: IVector2Like;
|
|
25
|
+
tile: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* This interface is used to define extra properties on TransformNode. For example for SpriteMap support.
|
|
29
|
+
*/
|
|
30
|
+
export interface SpriteMapNode extends TransformNode {
|
|
31
|
+
isSpriteMap?: boolean;
|
|
32
|
+
spriteMap?: SpriteMap | null;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* This interface is used to define extra properties on TransformNode. For example for SpriteManager support.
|
|
36
|
+
*/
|
|
37
|
+
export interface SpriteManagerNode extends TransformNode {
|
|
38
|
+
isSpriteManager?: boolean;
|
|
39
|
+
spriteManager?: SpriteManager | null;
|
|
40
|
+
}
|
|
41
|
+
export declare function normalizeAtlasJson(data: any): void;
|
|
42
|
+
/**
|
|
43
|
+
* Plays a sprite animation previously setup in the editor indentified by its name.
|
|
44
|
+
* @param sprite defines the reference to the sprite to animate.
|
|
45
|
+
* @param animationName defines the name of the animation to play previously setup in the editor.
|
|
46
|
+
* @param onAnimationEnd defines an optional callback to be called when the animation ends.
|
|
47
|
+
*/
|
|
48
|
+
export declare function playSpriteAnimationFromName(sprite: Sprite, animationName: string, onAnimationEnd?: () => void): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "babylonjs-editor-tools",
|
|
3
|
-
"version": "5.1
|
|
3
|
+
"version": "5.2.1",
|
|
4
4
|
"description": "Babylon.js Editor Tools is a set of tools to help you create, edit and manage your Babylon.js scenes made using the Babylon.js Editor",
|
|
5
5
|
"productName": "Babylon.js Editor Tools",
|
|
6
6
|
"scripts": {
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"@babel/core": "^7.26.10",
|
|
24
24
|
"@babel/preset-env": "^7.26.9",
|
|
25
25
|
"@babel/preset-typescript": "^7.27.0",
|
|
26
|
-
"@babylonjs/core": "8.
|
|
27
|
-
"@babylonjs/gui": "8.
|
|
26
|
+
"@babylonjs/core": "8.33.2",
|
|
27
|
+
"@babylonjs/gui": "8.33.2",
|
|
28
28
|
"@types/jest": "^29.5.14",
|
|
29
29
|
"babel-jest": "^29.7.0",
|
|
30
30
|
"babel-plugin-transform-class-properties": "^6.24.1",
|