@mml-io/3d-web-client-core 0.15.0 → 0.17.0
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/camera/CameraManager.d.ts +17 -9
- package/build/character/Character.d.ts +22 -10
- package/build/character/CharacterManager.d.ts +28 -16
- package/build/character/CharacterMaterial.d.ts +9 -6
- package/build/character/CharacterModel.d.ts +13 -7
- package/build/character/CharacterModelLoader.d.ts +1 -2
- package/build/character/CharacterState.d.ts +11 -1
- package/build/character/CharacterTooltip.d.ts +19 -3
- package/build/character/LocalController.d.ts +35 -13
- package/build/character/RemoteController.d.ts +6 -3
- package/build/ground-plane/GroundPlane.d.ts +9 -0
- package/build/index.d.ts +4 -0
- package/build/index.js +1327 -525
- package/build/index.js.map +4 -4
- package/build/input/KeyInputManager.d.ts +0 -1
- package/build/input/VirtualJoystick.d.ts +2 -4
- package/build/loading-screen/LoadingScreen.d.ts +19 -0
- package/build/mml/MMLCompositionScene.d.ts +12 -7
- package/build/rendering/composer.d.ts +37 -1
- package/build/tweakpane/TweakPane.d.ts +11 -2
- package/build/tweakpane/blades/cameraFolder.d.ts +74 -0
- package/build/tweakpane/blades/characterControlsFolder.d.ts +79 -0
- package/build/tweakpane/blades/environmentFolder.d.ts +11 -2
- package/build/tweakpane/blades/rendererFolder.d.ts +2 -4
- package/package.json +10 -8
@@ -10,7 +10,7 @@ interface JoyStickAttributes {
|
|
10
10
|
anchor?: "left" | "right";
|
11
11
|
}
|
12
12
|
export declare class VirtualJoystick {
|
13
|
-
|
13
|
+
private holderElement;
|
14
14
|
private radius;
|
15
15
|
private inner_radius;
|
16
16
|
private anchor;
|
@@ -27,11 +27,9 @@ export declare class VirtualJoystick {
|
|
27
27
|
up: boolean;
|
28
28
|
down: boolean;
|
29
29
|
hasDirection: boolean;
|
30
|
-
constructor(attrs: JoyStickAttributes);
|
30
|
+
constructor(holderElement: HTMLElement, attrs: JoyStickAttributes);
|
31
31
|
static checkForTouch(): boolean;
|
32
|
-
static isTouchOnJoystick(touch: Touch): boolean;
|
33
32
|
private checkTouch;
|
34
|
-
private initializeJoystick;
|
35
33
|
private setupBaseAndControl;
|
36
34
|
private bindEvents;
|
37
35
|
private handleTouchStart;
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { LoadingProgressManager } from "mml-web";
|
2
|
+
export declare class LoadingScreen {
|
3
|
+
private loadingProgressManager;
|
4
|
+
readonly element: HTMLDivElement;
|
5
|
+
private loadingBannerText;
|
6
|
+
private progressBarBackground;
|
7
|
+
private progressBarHolder;
|
8
|
+
private progressBar;
|
9
|
+
private loadingStatusText;
|
10
|
+
private progressDebugViewHolder;
|
11
|
+
private progressDebugView;
|
12
|
+
private progressDebugElement;
|
13
|
+
private debugLabel;
|
14
|
+
private debugCheckbox;
|
15
|
+
private hasCompleted;
|
16
|
+
private loadingCallback;
|
17
|
+
constructor(loadingProgressManager: LoadingProgressManager);
|
18
|
+
dispose(): void;
|
19
|
+
}
|
@@ -1,13 +1,17 @@
|
|
1
1
|
import { IMMLScene, PositionAndRotation } from "mml-web";
|
2
2
|
import { AudioListener, Group, PerspectiveCamera, Scene, WebGLRenderer } from "three";
|
3
3
|
import { CollisionsManager } from "../collisions/CollisionsManager";
|
4
|
+
type MMLCompositionSceneConfig = {
|
5
|
+
targetElement: HTMLElement;
|
6
|
+
renderer: WebGLRenderer;
|
7
|
+
scene: Scene;
|
8
|
+
camera: PerspectiveCamera;
|
9
|
+
audioListener: AudioListener;
|
10
|
+
collisionsManager: CollisionsManager;
|
11
|
+
getUserPositionAndRotation: () => PositionAndRotation;
|
12
|
+
};
|
4
13
|
export declare class MMLCompositionScene {
|
5
|
-
private
|
6
|
-
private scene;
|
7
|
-
private camera;
|
8
|
-
private audioListener;
|
9
|
-
private collisionsManager;
|
10
|
-
private getUserPositionAndRotation;
|
14
|
+
private config;
|
11
15
|
group: Group;
|
12
16
|
readonly mmlScene: IMMLScene;
|
13
17
|
private readonly promptManager;
|
@@ -16,7 +20,8 @@ export declare class MMLCompositionScene {
|
|
16
20
|
private readonly chatProbes;
|
17
21
|
private readonly clickTrigger;
|
18
22
|
private readonly loadingProgressManager;
|
19
|
-
constructor(
|
23
|
+
constructor(config: MMLCompositionSceneConfig);
|
20
24
|
onChatMessage(message: string): void;
|
21
25
|
dispose(): void;
|
22
26
|
}
|
27
|
+
export {};
|
@@ -3,6 +3,35 @@ import { PerspectiveCamera, Scene, Vector2, WebGLRenderer } from "three";
|
|
3
3
|
import { Sun } from "../sun/Sun";
|
4
4
|
import { TimeManager } from "../time/TimeManager";
|
5
5
|
import { TweakPane } from "../tweakpane/TweakPane";
|
6
|
+
type ComposerContructorArgs = {
|
7
|
+
scene: Scene;
|
8
|
+
camera: PerspectiveCamera;
|
9
|
+
spawnSun: boolean;
|
10
|
+
environmentConfiguration?: EnvironmentConfiguration;
|
11
|
+
};
|
12
|
+
export type EnvironmentConfiguration = {
|
13
|
+
groundPlane?: boolean;
|
14
|
+
skybox?: {
|
15
|
+
intensity?: number;
|
16
|
+
blurriness?: number;
|
17
|
+
azimuthalAngle?: number;
|
18
|
+
polarAngle?: number;
|
19
|
+
};
|
20
|
+
envMap?: {
|
21
|
+
intensity?: number;
|
22
|
+
};
|
23
|
+
sun?: {
|
24
|
+
intensity?: number;
|
25
|
+
polarAngle?: number;
|
26
|
+
azimuthalAngle?: number;
|
27
|
+
};
|
28
|
+
postProcessing?: {
|
29
|
+
bloomIntensity?: number;
|
30
|
+
};
|
31
|
+
ambientLight?: {
|
32
|
+
intensity?: number;
|
33
|
+
};
|
34
|
+
};
|
6
35
|
export declare class Composer {
|
7
36
|
private width;
|
8
37
|
private height;
|
@@ -33,15 +62,22 @@ export declare class Composer {
|
|
33
62
|
private readonly gaussGrainEffect;
|
34
63
|
private readonly gaussGrainPass;
|
35
64
|
private ambientLight;
|
65
|
+
private environmentConfiguration?;
|
36
66
|
sun: Sun | null;
|
37
67
|
spawnSun: boolean;
|
38
|
-
constructor(scene
|
68
|
+
constructor({ scene, camera, spawnSun, environmentConfiguration, }: ComposerContructorArgs);
|
39
69
|
setupTweakPane(tweakPane: TweakPane): void;
|
40
70
|
dispose(): void;
|
41
71
|
fitContainer(): void;
|
42
72
|
render(timeManager: TimeManager): void;
|
73
|
+
updateSkyboxRotation(): void;
|
74
|
+
useHDRJPG(url: string, fromFile?: boolean): void;
|
43
75
|
useHDRI(url: string, fromFile?: boolean): void;
|
44
76
|
setHDRIFromFile(): void;
|
45
77
|
setFog(): void;
|
46
78
|
setAmbientLight(): void;
|
79
|
+
private updateSunValues;
|
80
|
+
private updateSkyboxAndEnvValues;
|
81
|
+
private updateAmbientLightValues;
|
47
82
|
}
|
83
|
+
export {};
|
@@ -1,10 +1,13 @@
|
|
1
1
|
import { BloomEffect, EffectComposer, EffectPass, NormalPass, SSAOEffect, ToneMappingEffect } from "postprocessing";
|
2
2
|
import { Scene, WebGLRenderer } from "three";
|
3
|
+
import { CameraManager } from "../camera/CameraManager";
|
4
|
+
import { LocalController } from "../character/LocalController";
|
3
5
|
import { BrightnessContrastSaturation } from "../rendering/post-effects/bright-contrast-sat";
|
4
6
|
import { GaussGrainEffect } from "../rendering/post-effects/gauss-grain";
|
5
7
|
import { Sun } from "../sun/Sun";
|
6
8
|
import { TimeManager } from "../time/TimeManager";
|
7
9
|
export declare class TweakPane {
|
10
|
+
private holderElement;
|
8
11
|
private renderer;
|
9
12
|
private scene;
|
10
13
|
private composer;
|
@@ -17,14 +20,20 @@ export declare class TweakPane {
|
|
17
20
|
private postExtrasFolder;
|
18
21
|
private character;
|
19
22
|
private environment;
|
23
|
+
private camera;
|
24
|
+
private characterControls;
|
20
25
|
private export;
|
21
26
|
private saveVisibilityInLocalStorage;
|
22
27
|
guiVisible: boolean;
|
23
|
-
constructor(renderer: WebGLRenderer, scene: Scene, composer: EffectComposer);
|
28
|
+
constructor(holderElement: HTMLElement, renderer: WebGLRenderer, scene: Scene, composer: EffectComposer);
|
24
29
|
private setupGUIListeners;
|
25
30
|
private processKey;
|
26
|
-
setupRenderPane(composer: EffectComposer, normalPass: NormalPass, ppssaoEffect: SSAOEffect, ppssaoPass: EffectPass, n8aopass: any, toneMappingEffect: ToneMappingEffect, toneMappingPass: EffectPass, brightnessContrastSaturation: typeof BrightnessContrastSaturation, bloomEffect: BloomEffect, gaussGrainEffect: typeof GaussGrainEffect, hasLighting: boolean, sun: Sun | null, setHDR: () => void, setAmbientLight: () => void, setFog: () => void): void;
|
31
|
+
setupRenderPane(composer: EffectComposer, normalPass: NormalPass, ppssaoEffect: SSAOEffect, ppssaoPass: EffectPass, n8aopass: any, toneMappingEffect: ToneMappingEffect, toneMappingPass: EffectPass, brightnessContrastSaturation: typeof BrightnessContrastSaturation, bloomEffect: BloomEffect, gaussGrainEffect: typeof GaussGrainEffect, hasLighting: boolean, sun: Sun | null, setHDR: () => void, setSkyboxAzimuthalAngle: (azimuthalAngle: number) => void, setSkyboxPolarAngle: (azimuthalAngle: number) => void, setAmbientLight: () => void, setFog: () => void): void;
|
32
|
+
setupCamPane(cameraManager: CameraManager): void;
|
33
|
+
setupCharacterController(localController: LocalController): void;
|
27
34
|
updateStats(timeManager: TimeManager): void;
|
35
|
+
updateCameraData(cameraManager: CameraManager): void;
|
36
|
+
updateCharacterData(localController: LocalController): void;
|
28
37
|
private formatDateForFilename;
|
29
38
|
private downloadSettingsAsJSON;
|
30
39
|
private importSettingsFromJSON;
|
@@ -0,0 +1,74 @@
|
|
1
|
+
import { FolderApi } from "tweakpane";
|
2
|
+
import { CameraManager } from "../../camera/CameraManager";
|
3
|
+
export declare const camValues: {
|
4
|
+
initialDistance: number;
|
5
|
+
minDistance: number;
|
6
|
+
maxDistance: number;
|
7
|
+
initialFOV: number;
|
8
|
+
maxFOV: number;
|
9
|
+
minFOV: number;
|
10
|
+
invertFOVMapping: boolean;
|
11
|
+
damping: number;
|
12
|
+
dampingScale: number;
|
13
|
+
zoomScale: number;
|
14
|
+
zoomDamping: number;
|
15
|
+
};
|
16
|
+
export declare const camOptions: {
|
17
|
+
initialDistance: {
|
18
|
+
min: number;
|
19
|
+
max: number;
|
20
|
+
step: number;
|
21
|
+
};
|
22
|
+
minDistance: {
|
23
|
+
min: number;
|
24
|
+
max: number;
|
25
|
+
step: number;
|
26
|
+
};
|
27
|
+
maxDistance: {
|
28
|
+
min: number;
|
29
|
+
max: number;
|
30
|
+
step: number;
|
31
|
+
};
|
32
|
+
initialFOV: {
|
33
|
+
min: number;
|
34
|
+
max: number;
|
35
|
+
step: number;
|
36
|
+
};
|
37
|
+
maxFOV: {
|
38
|
+
min: number;
|
39
|
+
max: number;
|
40
|
+
step: number;
|
41
|
+
};
|
42
|
+
minFOV: {
|
43
|
+
min: number;
|
44
|
+
max: number;
|
45
|
+
step: number;
|
46
|
+
};
|
47
|
+
damping: {
|
48
|
+
min: number;
|
49
|
+
max: number;
|
50
|
+
step: number;
|
51
|
+
};
|
52
|
+
dampingScale: {
|
53
|
+
min: number;
|
54
|
+
max: number;
|
55
|
+
step: number;
|
56
|
+
};
|
57
|
+
zoomScale: {
|
58
|
+
min: number;
|
59
|
+
max: number;
|
60
|
+
step: number;
|
61
|
+
};
|
62
|
+
zoomDamping: {
|
63
|
+
min: number;
|
64
|
+
max: number;
|
65
|
+
step: number;
|
66
|
+
};
|
67
|
+
};
|
68
|
+
export declare class CameraFolder {
|
69
|
+
folder: FolderApi;
|
70
|
+
private camData;
|
71
|
+
constructor(parentFolder: FolderApi, expand?: boolean);
|
72
|
+
setupChangeEvent(cameraManager: CameraManager): void;
|
73
|
+
update(cameraManager: CameraManager): void;
|
74
|
+
}
|
@@ -0,0 +1,79 @@
|
|
1
|
+
import { FolderApi } from "tweakpane";
|
2
|
+
import { LocalController } from "../../character/LocalController";
|
3
|
+
export declare const characterControllerValues: {
|
4
|
+
gravity: number;
|
5
|
+
jumpForce: number;
|
6
|
+
doubleJumpForce: number;
|
7
|
+
coyoteJump: number;
|
8
|
+
airResistance: number;
|
9
|
+
groundResistance: number;
|
10
|
+
airControlModifier: number;
|
11
|
+
groundWalkControl: number;
|
12
|
+
groundRunControl: number;
|
13
|
+
baseControlMultiplier: number;
|
14
|
+
minimumSurfaceAngle: number;
|
15
|
+
};
|
16
|
+
export declare const characterControllerOptions: {
|
17
|
+
gravity: {
|
18
|
+
min: number;
|
19
|
+
max: number;
|
20
|
+
step: number;
|
21
|
+
};
|
22
|
+
jumpForce: {
|
23
|
+
min: number;
|
24
|
+
max: number;
|
25
|
+
step: number;
|
26
|
+
};
|
27
|
+
doubleJumpForce: {
|
28
|
+
min: number;
|
29
|
+
max: number;
|
30
|
+
step: number;
|
31
|
+
};
|
32
|
+
coyoteJump: {
|
33
|
+
min: number;
|
34
|
+
max: number;
|
35
|
+
step: number;
|
36
|
+
};
|
37
|
+
airResistance: {
|
38
|
+
min: number;
|
39
|
+
max: number;
|
40
|
+
step: number;
|
41
|
+
};
|
42
|
+
groundResistance: {
|
43
|
+
min: number;
|
44
|
+
max: number;
|
45
|
+
step: number;
|
46
|
+
};
|
47
|
+
airControlModifier: {
|
48
|
+
min: number;
|
49
|
+
max: number;
|
50
|
+
step: number;
|
51
|
+
};
|
52
|
+
groundWalkControl: {
|
53
|
+
min: number;
|
54
|
+
max: number;
|
55
|
+
step: number;
|
56
|
+
};
|
57
|
+
groundRunControl: {
|
58
|
+
min: number;
|
59
|
+
max: number;
|
60
|
+
step: number;
|
61
|
+
};
|
62
|
+
baseControlMultiplier: {
|
63
|
+
min: number;
|
64
|
+
max: number;
|
65
|
+
step: number;
|
66
|
+
};
|
67
|
+
minimumSurfaceAngle: {
|
68
|
+
min: number;
|
69
|
+
max: number;
|
70
|
+
step: number;
|
71
|
+
};
|
72
|
+
};
|
73
|
+
export declare class CharacterControlsFolder {
|
74
|
+
folder: FolderApi;
|
75
|
+
private characterData;
|
76
|
+
constructor(parentFolder: FolderApi, expand?: boolean);
|
77
|
+
setupChangeEvent(localController: LocalController): void;
|
78
|
+
update(localController: LocalController): void;
|
79
|
+
}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { Scene } from "three";
|
1
2
|
import { FolderApi } from "tweakpane";
|
2
3
|
import { Sun } from "../../sun/Sun";
|
3
4
|
export declare const sunValues: {
|
@@ -13,6 +14,11 @@ export declare const sunValues: {
|
|
13
14
|
};
|
14
15
|
};
|
15
16
|
export declare const envValues: {
|
17
|
+
skyboxAzimuthalAngle: number;
|
18
|
+
skyboxPolarAngle: number;
|
19
|
+
envMapIntensity: number;
|
20
|
+
skyboxIntensity: number;
|
21
|
+
skyboxBlurriness: number;
|
16
22
|
ambientLight: {
|
17
23
|
ambientLightIntensity: number;
|
18
24
|
ambientLightColor: {
|
@@ -34,8 +40,11 @@ export declare const envValues: {
|
|
34
40
|
export declare class EnvironmentFolder {
|
35
41
|
folder: FolderApi;
|
36
42
|
private sun;
|
37
|
-
private
|
43
|
+
private envMap;
|
44
|
+
private hdrButton;
|
45
|
+
private skybox;
|
38
46
|
private ambient;
|
47
|
+
private fog;
|
39
48
|
constructor(parentFolder: FolderApi, expand?: boolean);
|
40
|
-
setupChangeEvent(setHDR: () => void, setAmbientLight: () => void, setFog: () => void, sun: Sun | null): void;
|
49
|
+
setupChangeEvent(scene: Scene, setHDR: () => void, setSkyboxAzimuthalAngle: (azimuthalAngle: number) => void, setSkyboxPolarAngle: (polarAngle: number) => void, setAmbientLight: () => void, setFog: () => void, sun: Sun | null): void;
|
41
50
|
}
|
@@ -1,15 +1,13 @@
|
|
1
1
|
import { EffectPass } from "postprocessing";
|
2
|
-
import {
|
2
|
+
import { WebGLRenderer } from "three";
|
3
3
|
import { FolderApi } from "tweakpane";
|
4
4
|
export declare const rendererValues: {
|
5
5
|
shadowMap: number;
|
6
6
|
toneMapping: number;
|
7
7
|
exposure: number;
|
8
|
-
bgIntensity: number;
|
9
|
-
bgBlurriness: number;
|
10
8
|
};
|
11
9
|
export declare class RendererFolder {
|
12
10
|
private folder;
|
13
11
|
constructor(parentFolder: FolderApi, expand?: boolean);
|
14
|
-
setupChangeEvent(
|
12
|
+
setupChangeEvent(renderer: WebGLRenderer, toneMappingFolder: FolderApi, toneMappingPass: EffectPass): void;
|
15
13
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@mml-io/3d-web-client-core",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.17.0",
|
4
4
|
"publishConfig": {
|
5
5
|
"access": "public"
|
6
6
|
},
|
@@ -18,19 +18,21 @@
|
|
18
18
|
"lint-fix": "eslint \"./{src,test}/**/*.{js,jsx,ts,tsx}\" --fix"
|
19
19
|
},
|
20
20
|
"dependencies": {
|
21
|
-
"@mml-io/3d-web-avatar": "^0.
|
21
|
+
"@mml-io/3d-web-avatar": "^0.17.0",
|
22
|
+
"@mml-io/model-loader": "0.15.0",
|
23
|
+
"@monogrid/gainmap-js": "^3.0.5",
|
22
24
|
"@tweakpane/core": "2.0.3",
|
23
25
|
"@tweakpane/plugin-essentials": "0.2.1",
|
24
|
-
"mml-web": "0.
|
25
|
-
"postprocessing": "6.
|
26
|
-
"three-mesh-bvh": "0.7.
|
26
|
+
"mml-web": "0.15.0",
|
27
|
+
"postprocessing": "6.35.4",
|
28
|
+
"three-mesh-bvh": "0.7.4",
|
27
29
|
"tweakpane": "4.0.3"
|
28
30
|
},
|
29
31
|
"peerDependencies": {
|
30
|
-
"three": ">= 0.
|
32
|
+
"three": ">= 0.163.0"
|
31
33
|
},
|
32
34
|
"devDependencies": {
|
33
|
-
"@types/three": "0.
|
35
|
+
"@types/three": "0.163.0"
|
34
36
|
},
|
35
|
-
"gitHead": "
|
37
|
+
"gitHead": "bc97b49ea69d920e0824a6885f7e8fca440e2e12"
|
36
38
|
}
|