@dreamcomposer/engine-types 0.0.15 → 0.0.16
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/SkeletonState.d.ts +38 -0
- package/package.json +1 -1
- package/post-messages.d.ts +7 -1
- package/to-engine/RecenterSkeletonObjectsMessage.ts +9 -0
- package/to-engine/SetGeometryAnglesMessage.d.ts +6 -0
- package/to-engine/SetShadowPlaneVisibilityMessage.d.ts +9 -0
- package/to-engine/SetSkeletonStatesMessage.ts +14 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* State of a single skeleton
|
|
3
|
+
*/
|
|
4
|
+
export interface SkeletonState {
|
|
5
|
+
/**
|
|
6
|
+
* The states of all bones inside the skeleton
|
|
7
|
+
* Missing bone states or empty value will result in default (rest-pose) values
|
|
8
|
+
*/
|
|
9
|
+
boneStates?: BoneState[];
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export interface BoneState {
|
|
13
|
+
/**
|
|
14
|
+
* The index of the bone inside the skeleton definition
|
|
15
|
+
*/
|
|
16
|
+
boneIndex: number;
|
|
17
|
+
/**
|
|
18
|
+
* The local position of the bone. If empty the default (rest-pose) values is taken
|
|
19
|
+
*/
|
|
20
|
+
localPosition?: [number, number, number];
|
|
21
|
+
/**
|
|
22
|
+
* The local rotation of the bone in euler angles or as an angle axis representation
|
|
23
|
+
*/
|
|
24
|
+
localRotation?: EulerAngles | AngleAxisRotation;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface EulerAngles {
|
|
28
|
+
x: number;
|
|
29
|
+
y: number;
|
|
30
|
+
z: number;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export interface AngleAxisRotation {
|
|
34
|
+
/** Normalized rotation axis */
|
|
35
|
+
axis: [number, number, number];
|
|
36
|
+
/** Angle in degree */
|
|
37
|
+
angle: number;
|
|
38
|
+
}
|
package/package.json
CHANGED
package/post-messages.d.ts
CHANGED
|
@@ -35,6 +35,9 @@ import { ToggleVrMessage } from "./to-engine/ToggleVrMessage";
|
|
|
35
35
|
import { PointerEventMessage } from "./from-engine/PointerEventMessage";
|
|
36
36
|
import { HideGuiMessage } from "./from-engine/HideGuiMessage";
|
|
37
37
|
import { SetUseFramingAnimation } from "./to-engine/SetUseFramingAnimation";
|
|
38
|
+
import { SetSkeletonStatesMessage } from "./to-engine/SetSkeletonStatesMessage";
|
|
39
|
+
import { RecenterSkeletonObjectsMessage } from "./to-engine/RecenterSkeletonObjectsMessage";
|
|
40
|
+
import { SetShadowPlaneVisibilityMessage } from "./to-engine/SetShadowPlaneVisibilityMessage";
|
|
38
41
|
|
|
39
42
|
/**
|
|
40
43
|
* A message sent from the engine to the embedder.
|
|
@@ -96,6 +99,9 @@ export type ToEnginePostMessage =
|
|
|
96
99
|
| ToggleFullscreenMessage
|
|
97
100
|
| ToggleInspectorMessage
|
|
98
101
|
| ToggleVrMessage
|
|
99
|
-
| UnhighlightLayerMessage
|
|
102
|
+
| UnhighlightLayerMessage
|
|
103
|
+
| RecenterSkeletonObjectsMessage
|
|
104
|
+
| SetSkeletonStatesMessage
|
|
105
|
+
| SetShadowPlaneVisibilityMessage;
|
|
100
106
|
|
|
101
107
|
export type PostMessage = FromEnginePostMessage | ToEnginePostMessage;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SkeletonState } from "../SkeletonState";
|
|
2
|
+
import { ToEngineMessage } from "../post-messages";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* A message to set the mesh skeleton states
|
|
6
|
+
*/
|
|
7
|
+
export interface SetSkeletonStatesMessage extends ToEngineMessage<"set-skeleton-states"> {
|
|
8
|
+
payload: {
|
|
9
|
+
/**
|
|
10
|
+
* The skeleton states. The key is the name of the skeleton from the mesh.
|
|
11
|
+
*/
|
|
12
|
+
[skeletonName: string]: SkeletonState;
|
|
13
|
+
};
|
|
14
|
+
}
|