@rydr/game-sdk 3.2.0 → 3.3.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/dist/characters/assets.d.ts +18 -0
- package/dist/characters/assets.d.ts.map +1 -1
- package/dist/characters/assets.js +38 -0
- package/dist/characters/assets.js.map +1 -1
- package/dist/characters/index.d.ts +1 -1
- package/dist/characters/index.d.ts.map +1 -1
- package/dist/characters/index.js +1 -1
- package/dist/characters/index.js.map +1 -1
- package/dist/characters/loader.d.ts.map +1 -1
- package/dist/characters/loader.js +5 -3
- package/dist/characters/loader.js.map +1 -1
- package/dist/protocol/characters.d.ts +24 -5
- package/dist/protocol/characters.d.ts.map +1 -1
- package/dist/protocol/characters.js +9 -0
- package/dist/protocol/characters.js.map +1 -1
- package/dist/protocol/version.d.ts +1 -1
- package/dist/protocol/version.js +1 -1
- package/dist/ui/styles.js +4 -3
- package/dist/ui/styles.js.map +1 -1
- package/package.json +1 -1
|
@@ -32,6 +32,24 @@ export declare function paintAtlas(root: THREE.Object3D, atlasUrl: string, opts?
|
|
|
32
32
|
killEmissive?: boolean;
|
|
33
33
|
flipY?: boolean;
|
|
34
34
|
}): void;
|
|
35
|
+
/**
|
|
36
|
+
* Keep a self-textured GLB's OWN embedded materials (the counterpart to {@link paintAtlas}, used when a
|
|
37
|
+
* rig has no `atlasUrl`). Materials are CLONED per instance — same reasoning as `paintAtlas`, so the
|
|
38
|
+
* clones are the actor's own and are freed in {@link disposeObject}. The only fix-up: some PBR exporters
|
|
39
|
+
* bake a fully-white `emissiveFactor` with no emissive map, which washes the model flat white — clear
|
|
40
|
+
* that (but leave a legitimate emissive map alone). Base/normal/roughness/metalness maps are untouched.
|
|
41
|
+
* NOTE: PBR materials need an environment map on the scene to render correctly (they look flat/black
|
|
42
|
+
* without IBL) — that is the consuming scene's responsibility, not this function's.
|
|
43
|
+
*/
|
|
44
|
+
export declare function keepEmbeddedMaterials(root: THREE.Object3D): void;
|
|
45
|
+
/**
|
|
46
|
+
* Give a scene an image-based-lighting environment so self-textured PBR characters (metalness/roughness)
|
|
47
|
+
* render with correct reflections instead of flat/black. Uses a procedurally-generated soft room (no HDR
|
|
48
|
+
* asset needed). OPT-IN: shared-atlas Synty characters don't need it, and a game with its own environment
|
|
49
|
+
* shouldn't have one forced on it — call this only if your scene has no `environment` yet. Idempotent-ish:
|
|
50
|
+
* it overwrites `scene.environment`. The caller owns the renderer; nothing here is cached.
|
|
51
|
+
*/
|
|
52
|
+
export declare function ensureCharacterEnvironment(scene: THREE.Scene, renderer: THREE.WebGLRenderer): void;
|
|
35
53
|
/**
|
|
36
54
|
* Load a rig's baked clip GLB(s) into a name→clip map: names trimmed, deduplicated (first source
|
|
37
55
|
* wins), `.position` tracks stripped (the caller owns world placement; grounding re-plants the feet).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/characters/assets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/characters/assets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AA2B/D,kGAAkG;AAClG,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASnD;AAED;6FAC6F;AAC7F,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAGrE;AAKD;oCACoC;AACpC,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,KAAK,CAAC,OAAO,CAalE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,IAAI,CAoB/H;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAahE;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,aAAa,GAAG,IAAI,CAGlG;AAMD;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAuBtF;AAGD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CASxD;AAED;wFACwF;AACxF,wBAAgB,mBAAmB,IAAI,IAAI,CAW1C;AAKD,yDAAyD;AACzD,wBAAgB,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAItE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,GAAE,MAAM,EAAO,GAAG,KAAK,CAAC,WAAW,GAAG,IAAI,CAOzH;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,SAAM,EAAE,UAAU,SAAI,GAAG,KAAK,CAAC,KAAK,CAQ/F;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,SAAM,EAAE,UAAU,SAAI,GAAG,KAAK,CAAC,KAAK,CAGvH;AAED,kGAAkG;AAClG,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,SAAM,EAAE,UAAU,SAAI,GAAG,KAAK,CAAC,KAAK,CAG1F"}
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
import * as THREE from "three";
|
|
16
16
|
import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
|
|
17
17
|
import { DRACOLoader } from "three/addons/loaders/DRACOLoader.js";
|
|
18
|
+
import { RoomEnvironment } from "three/addons/environments/RoomEnvironment.js";
|
|
18
19
|
import * as SkeletonUtils from "three/addons/utils/SkeletonUtils.js";
|
|
19
20
|
/** DRACO decoder — pinned to the version the platform tooling uses (matches the world loader). */
|
|
20
21
|
const DRACO_DECODER_PATH = "https://www.gstatic.com/draco/versioned/decoders/1.5.6/";
|
|
@@ -98,6 +99,43 @@ export function paintAtlas(root, atlasUrl, opts = {}) {
|
|
|
98
99
|
mesh.material = Array.isArray(mesh.material) ? next : next[0];
|
|
99
100
|
});
|
|
100
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* Keep a self-textured GLB's OWN embedded materials (the counterpart to {@link paintAtlas}, used when a
|
|
104
|
+
* rig has no `atlasUrl`). Materials are CLONED per instance — same reasoning as `paintAtlas`, so the
|
|
105
|
+
* clones are the actor's own and are freed in {@link disposeObject}. The only fix-up: some PBR exporters
|
|
106
|
+
* bake a fully-white `emissiveFactor` with no emissive map, which washes the model flat white — clear
|
|
107
|
+
* that (but leave a legitimate emissive map alone). Base/normal/roughness/metalness maps are untouched.
|
|
108
|
+
* NOTE: PBR materials need an environment map on the scene to render correctly (they look flat/black
|
|
109
|
+
* without IBL) — that is the consuming scene's responsibility, not this function's.
|
|
110
|
+
*/
|
|
111
|
+
export function keepEmbeddedMaterials(root) {
|
|
112
|
+
root.traverse((o) => {
|
|
113
|
+
const mesh = o;
|
|
114
|
+
if (!mesh.isMesh || !mesh.material)
|
|
115
|
+
return;
|
|
116
|
+
const mats = Array.isArray(mesh.material) ? mesh.material : [mesh.material];
|
|
117
|
+
const next = mats.map((m) => {
|
|
118
|
+
const sm = m.clone();
|
|
119
|
+
const e = sm.emissive;
|
|
120
|
+
if (e && !sm.emissiveMap && e.r > 0.99 && e.g > 0.99 && e.b > 0.99)
|
|
121
|
+
e.setRGB(0, 0, 0);
|
|
122
|
+
return sm;
|
|
123
|
+
});
|
|
124
|
+
if (next.length)
|
|
125
|
+
mesh.material = Array.isArray(mesh.material) ? next : next[0];
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Give a scene an image-based-lighting environment so self-textured PBR characters (metalness/roughness)
|
|
130
|
+
* render with correct reflections instead of flat/black. Uses a procedurally-generated soft room (no HDR
|
|
131
|
+
* asset needed). OPT-IN: shared-atlas Synty characters don't need it, and a game with its own environment
|
|
132
|
+
* shouldn't have one forced on it — call this only if your scene has no `environment` yet. Idempotent-ish:
|
|
133
|
+
* it overwrites `scene.environment`. The caller owns the renderer; nothing here is cached.
|
|
134
|
+
*/
|
|
135
|
+
export function ensureCharacterEnvironment(scene, renderer) {
|
|
136
|
+
const pmrem = new THREE.PMREMGenerator(renderer);
|
|
137
|
+
scene.environment = pmrem.fromScene(new RoomEnvironment(), 0.04).texture;
|
|
138
|
+
}
|
|
101
139
|
// --- Animation clips (BAKED upstream — the runtime only loads + dedups) -----
|
|
102
140
|
const JUNK_CLIP = /take 001|baselayer/i;
|
|
103
141
|
const clipsCache = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/characters/assets.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/characters/assets.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,6 @@ export type { CharacterOverrides, CreateCharacterOptions } from "./loader.js";
|
|
|
25
25
|
export { sessionCatalog } from "./session-catalog.js";
|
|
26
26
|
export { CANONICAL_CLIPS } from "./clips.js";
|
|
27
27
|
export type { ClipName, CanonicalClip } from "./clips.js";
|
|
28
|
-
export { loadGltf, cloneModel, getAtlas, paintAtlas, loadClips, disposeObject, clearCharacterCache, skinnedMeshes, isolateBody, mountCharacter, mountSkinned, mountProp, } from "./assets.js";
|
|
28
|
+
export { loadGltf, cloneModel, getAtlas, paintAtlas, keepEmbeddedMaterials, ensureCharacterEnvironment, loadClips, disposeObject, clearCharacterCache, skinnedMeshes, isolateBody, mountCharacter, mountSkinned, mountProp, } from "./assets.js";
|
|
29
29
|
export type { CatalogCharacter, CharacterRig, CharacterCatalog } from "../protocol/characters.js";
|
|
30
30
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/characters/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChF,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG1D,OAAO,EACL,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,UAAU,EACV,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,cAAc,EACd,YAAY,EACZ,SAAS,GACV,MAAM,aAAa,CAAC;AAGrB,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/characters/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChF,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG1D,OAAO,EACL,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,UAAU,EACV,qBAAqB,EACrB,0BAA0B,EAC1B,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,cAAc,EACd,YAAY,EACZ,SAAS,GACV,MAAM,aAAa,CAAC;AAGrB,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC"}
|
package/dist/characters/index.js
CHANGED
|
@@ -24,5 +24,5 @@ export { createCharacter, loadCharacter, preloadCharacters } from "./loader.js";
|
|
|
24
24
|
export { sessionCatalog } from "./session-catalog.js";
|
|
25
25
|
export { CANONICAL_CLIPS } from "./clips.js";
|
|
26
26
|
// Low-level three.js helpers — for advanced callers that drive the mixer/mounting themselves.
|
|
27
|
-
export { loadGltf, cloneModel, getAtlas, paintAtlas, loadClips, disposeObject, clearCharacterCache, skinnedMeshes, isolateBody, mountCharacter, mountSkinned, mountProp, } from "./assets.js";
|
|
27
|
+
export { loadGltf, cloneModel, getAtlas, paintAtlas, keepEmbeddedMaterials, ensureCharacterEnvironment, loadClips, disposeObject, clearCharacterCache, skinnedMeshes, isolateBody, mountCharacter, mountSkinned, mountProp, } from "./assets.js";
|
|
28
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/characters/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C,8FAA8F;AAC9F,OAAO,EACL,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,UAAU,EACV,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,cAAc,EACd,YAAY,EACZ,SAAS,GACV,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/characters/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C,8FAA8F;AAC9F,OAAO,EACL,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,UAAU,EACV,qBAAqB,EACrB,0BAA0B,EAC1B,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,cAAc,EACd,YAAY,EACZ,SAAS,GACV,MAAM,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/characters/loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/characters/loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAatD,8FAA8F;AAC9F,MAAM,WAAW,kBAAkB;IACjC,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,sBAAuB,SAAQ,kBAAkB;IAChE,+FAA+F;IAC/F,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAID;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,cAAc,CAAC,CAiBvG;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,gBAAgB,EACtB,GAAG,EAAE,YAAY,EACjB,SAAS,GAAE,kBAAuB,GACjC,OAAO,CAAC,cAAc,CAAC,CAyBzB;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE;IAAE,OAAO,EAAE,gBAAgB,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAazG"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as THREE from "three";
|
|
2
2
|
import * as SkeletonUtils from "three/addons/utils/SkeletonUtils.js";
|
|
3
3
|
import { CharacterActor } from "./character-actor.js";
|
|
4
|
-
import { cloneModel, isolateBody, loadClips, loadGltf, mountCharacter, mountProp, mountSkinned, paintAtlas, } from "./assets.js";
|
|
4
|
+
import { cloneModel, isolateBody, keepEmbeddedMaterials, loadClips, loadGltf, mountCharacter, mountProp, mountSkinned, paintAtlas, } from "./assets.js";
|
|
5
5
|
const DEFAULT_HEIGHT = 1.8;
|
|
6
6
|
/**
|
|
7
7
|
* Build a live {@link CharacterActor} for a catalog character id. Resolves the character + its rig
|
|
@@ -36,20 +36,22 @@ export async function loadCharacter(char, rig, overrides = {}) {
|
|
|
36
36
|
const yaw = overrides.forwardYaw ?? rig.forwardYaw ?? 0;
|
|
37
37
|
const ground = overrides.ground ?? true;
|
|
38
38
|
const paint = { killEmissive: rig.killEmissive, flipY: rig.atlasFlipY };
|
|
39
|
+
// Shared-atlas rig → paint it; self-textured rig (no atlasUrl) → keep the GLB's embedded materials.
|
|
40
|
+
const applyMaterials = (model) => rig.atlasUrl ? paintAtlas(model, rig.atlasUrl, paint) : keepEmbeddedMaterials(model);
|
|
39
41
|
if (char.bodyMesh) {
|
|
40
42
|
// Combined-pack character: isolate the body (+ attachments), mount by mesh bounds.
|
|
41
43
|
const gltf = await loadGltf(char.glbUrl);
|
|
42
44
|
const model = SkeletonUtils.clone(gltf.scene);
|
|
43
45
|
const body = isolateBody(model, char.bodyMesh, char.attachments ?? []);
|
|
44
46
|
const root = body ? mountSkinned(model, body, height, yaw) : mountProp(model, height, yaw);
|
|
45
|
-
|
|
47
|
+
applyMaterials(model);
|
|
46
48
|
const clips = body ? await loadClips(rig.clipUrls) : null;
|
|
47
49
|
return new CharacterActor(root, clips, ground);
|
|
48
50
|
}
|
|
49
51
|
// Single-GLB character: clips bind by name directly.
|
|
50
52
|
const [clips, model] = await Promise.all([loadClips(rig.clipUrls), cloneModel(char.glbUrl)]);
|
|
51
53
|
const root = mountCharacter(model, height, yaw);
|
|
52
|
-
|
|
54
|
+
applyMaterials(model);
|
|
53
55
|
return new CharacterActor(root, clips, ground);
|
|
54
56
|
}
|
|
55
57
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/characters/loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,aAAa,MAAM,qCAAqC,CAAC;AAErE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,UAAU,EACV,WAAW,EACX,SAAS,EACT,QAAQ,EACR,cAAc,EACd,SAAS,EACT,YAAY,EACZ,UAAU,GACX,MAAM,aAAa,CAAC;AAiBrB,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EAAU,EAAE,IAA4B;IAC5E,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,kDAAkD,EAAE,uBAAuB,CAAC,CAAC;YAC1F,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,4CAA4C,IAAI,CAAC,KAAK,UAAU,EAAE,uBAAuB,CAAC,CAAC;YACxG,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,MAAM,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,gCAAgC,EAAE,GAAG,CAAC,CAAC;QACrF,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAsB,EACtB,GAAiB,EACjB,YAAgC,EAAE;IAElC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,IAAI,cAAc,CAAC;IAClD,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC;IACxC,MAAM,KAAK,GAAG,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/characters/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,22 +13,41 @@
|
|
|
13
13
|
* rig's {@link CharacterRig.clipUrls} are already bound to that rig's own bones — the loader just plays
|
|
14
14
|
* them by name. The SDK runtime carries no retarget solver, no bone maps: retargeting is an authoring
|
|
15
15
|
* concern (cf. Unity Humanoid / Unreal IK Retargeter), not a per-frame or per-load one.
|
|
16
|
+
*
|
|
17
|
+
* ## Two texturing economies: shared atlas vs self-textured
|
|
18
|
+
*
|
|
19
|
+
* Synty meshes ship UNtextured and share a palette atlas, so their rig carries {@link CharacterRig.atlasUrl}
|
|
20
|
+
* and the runtime paints it over every material. All-in-one GLBs (e.g. Meshy creatures) instead carry
|
|
21
|
+
* their OWN embedded materials — often full PBR (normal/roughness/metalness). Such a rig OMITS `atlasUrl`
|
|
22
|
+
* ("self-textured"): the runtime keeps the embedded materials as-authored (see `keepEmbeddedMaterials`).
|
|
23
|
+
* The presence/absence of `atlasUrl` is the only discriminator — there is no source-type enum.
|
|
24
|
+
* NOTE: self-textured PBR needs an environment map in the consuming scene (IBL) to render correctly.
|
|
16
25
|
*/
|
|
17
26
|
/**
|
|
18
|
-
* A rig family — a skeleton + its
|
|
19
|
-
*
|
|
20
|
-
*
|
|
27
|
+
* A rig family — a skeleton + its BAKED, ready-to-play clip library, and EITHER a shared atlas OR its
|
|
28
|
+
* own embedded materials. Clip NAMES are whatever the rig's clip GLBs contain (canonical vocabulary for
|
|
29
|
+
* baked Synty rigs; the source's own names for self-textured all-in-one GLBs).
|
|
21
30
|
*/
|
|
22
31
|
export interface CharacterRig {
|
|
23
32
|
id: string;
|
|
24
33
|
label: string;
|
|
25
|
-
/**
|
|
26
|
-
|
|
34
|
+
/**
|
|
35
|
+
* Shared Synty colour atlas (R2 URL). Synty meshes ship untextured; the atlas paints them. OMIT for a
|
|
36
|
+
* self-textured rig (all-in-one GLB with embedded PBR materials) — the runtime then keeps the mesh's
|
|
37
|
+
* own materials instead of painting.
|
|
38
|
+
*/
|
|
39
|
+
atlasUrl?: string;
|
|
27
40
|
/**
|
|
28
41
|
* The BAKED clip GLB(s) whose tracks reference THIS rig's bones — the canonical library retargeted
|
|
29
42
|
* onto this skeleton at ingest. For the canonical rig these are its native clip exports.
|
|
30
43
|
*/
|
|
31
44
|
clipUrls: string[];
|
|
45
|
+
/**
|
|
46
|
+
* The animation names this rig's {@link clipUrls} contain — recorded at ingest so pickers can list a
|
|
47
|
+
* character's available clips without downloading the clip GLB. The RUNTIME IGNORES this (it reads the
|
|
48
|
+
* real names from the GLB); it's a discovery convenience only.
|
|
49
|
+
*/
|
|
50
|
+
clipNames?: string[];
|
|
32
51
|
/** Pre-rotate the rig if the pack's forward axis needs it (radians). */
|
|
33
52
|
forwardYaw?: number;
|
|
34
53
|
/** Some newer Synty packs need `flipY: false` on the atlas; default true. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"characters.d.ts","sourceRoot":"","sources":["../../src/protocol/characters.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"characters.d.ts","sourceRoot":"","sources":["../../src/protocol/characters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6FAA6F;IAC7F,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sFAAsF;IACtF,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC3D,oFAAoF;IACpF,cAAc,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC5E,2DAA2D;IAC3D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;CAClD"}
|
|
@@ -13,6 +13,15 @@
|
|
|
13
13
|
* rig's {@link CharacterRig.clipUrls} are already bound to that rig's own bones — the loader just plays
|
|
14
14
|
* them by name. The SDK runtime carries no retarget solver, no bone maps: retargeting is an authoring
|
|
15
15
|
* concern (cf. Unity Humanoid / Unreal IK Retargeter), not a per-frame or per-load one.
|
|
16
|
+
*
|
|
17
|
+
* ## Two texturing economies: shared atlas vs self-textured
|
|
18
|
+
*
|
|
19
|
+
* Synty meshes ship UNtextured and share a palette atlas, so their rig carries {@link CharacterRig.atlasUrl}
|
|
20
|
+
* and the runtime paints it over every material. All-in-one GLBs (e.g. Meshy creatures) instead carry
|
|
21
|
+
* their OWN embedded materials — often full PBR (normal/roughness/metalness). Such a rig OMITS `atlasUrl`
|
|
22
|
+
* ("self-textured"): the runtime keeps the embedded materials as-authored (see `keepEmbeddedMaterials`).
|
|
23
|
+
* The presence/absence of `atlasUrl` is the only discriminator — there is no source-type enum.
|
|
24
|
+
* NOTE: self-textured PBR needs an environment map in the consuming scene (IBL) to render correctly.
|
|
16
25
|
*/
|
|
17
26
|
export {};
|
|
18
27
|
//# sourceMappingURL=characters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"characters.js","sourceRoot":"","sources":["../../src/protocol/characters.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"characters.js","sourceRoot":"","sources":["../../src/protocol/characters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG"}
|
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
export declare const RYDR_PROTOCOL_VERSION: 12;
|
|
10
10
|
/** Semver of this SDK build. Sent in the handshake for telemetry/debugging.
|
|
11
11
|
* (Bumped to 2.0.0 by `npm version major` on release — see CHANGELOG [Unreleased].) */
|
|
12
|
-
export declare const RYDR_SDK_VERSION = "3.
|
|
12
|
+
export declare const RYDR_SDK_VERSION = "3.3.0";
|
|
13
13
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/protocol/version.js
CHANGED
|
@@ -32,5 +32,5 @@
|
|
|
32
32
|
export const RYDR_PROTOCOL_VERSION = 12;
|
|
33
33
|
/** Semver of this SDK build. Sent in the handshake for telemetry/debugging.
|
|
34
34
|
* (Bumped to 2.0.0 by `npm version major` on release — see CHANGELOG [Unreleased].) */
|
|
35
|
-
export const RYDR_SDK_VERSION = "3.
|
|
35
|
+
export const RYDR_SDK_VERSION = "3.3.0";
|
|
36
36
|
//# sourceMappingURL=version.js.map
|
package/dist/ui/styles.js
CHANGED
|
@@ -23,7 +23,7 @@ export function injectCss() {
|
|
|
23
23
|
const CSS = `
|
|
24
24
|
.rydr-ui-root { position: fixed; left: 50%; bottom: 96px; z-index: 40; pointer-events: none;
|
|
25
25
|
transform: translateX(-50%); opacity: 0; transition: opacity 0.18s; }
|
|
26
|
-
.rydr-ui-root.inline { position: relative; left: auto; bottom: auto; transform: none; opacity: 1; display: inline-block; }
|
|
26
|
+
.rydr-ui-root.inline { position: relative; left: auto; bottom: auto; transform: none; opacity: 1; display: inline-block; z-index: auto; }
|
|
27
27
|
/* the dark action card holding the content slot */
|
|
28
28
|
.rydr-ui-card { position: relative; padding: 10px 20px 12px; border-radius: 12px; background: rgba(8,14,24,0.7);
|
|
29
29
|
border: 1px solid rgba(255,255,255,0.16); backdrop-filter: blur(8px); box-shadow: 0 6px 18px rgba(0,0,0,0.4);
|
|
@@ -176,7 +176,8 @@ const CSS = `
|
|
|
176
176
|
The whole frame is tinted by --rarity (set inline per card). An optional top band carries the rarity
|
|
177
177
|
label; .selected adds a ring + deeper glow and lifts the card for arrow-navigable pickers. */
|
|
178
178
|
.rydr-ui-rcard { position: relative; border-radius: 18px; overflow: hidden; color: #eef4ff; --rarity: #6b7686;
|
|
179
|
-
background:
|
|
179
|
+
background: radial-gradient(140% 92% at 50% 0%, color-mix(in srgb, var(--rarity) 54%, transparent) 0%, transparent 66%),
|
|
180
|
+
linear-gradient(180deg, rgba(14,20,32,0.8) 0%, rgba(8,12,20,0.94) 100%);
|
|
180
181
|
border: 2px solid color-mix(in srgb, var(--rarity) 100%, rgba(255,255,255,0.14));
|
|
181
182
|
box-shadow: 0 12px 32px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.05),
|
|
182
183
|
inset 0 2px 20px rgba(0,0,0,0.55), inset 0 0 26px -2px var(--rarity), 0 0 26px -8px var(--rarity);
|
|
@@ -195,7 +196,7 @@ const CSS = `
|
|
|
195
196
|
.rydr-ui-rcard-body { padding: 16px; }
|
|
196
197
|
.rydr-ui-rcard.fixed > .rydr-ui-rcard-body { width: 100%; height: 100%; box-sizing: border-box; }
|
|
197
198
|
/* selected — lifts + scales, a crisp rarity ring sits just outside, the rim thickens, the glow deepens */
|
|
198
|
-
.rydr-ui-rcard.selected { transform: translateY(-4px) scale(1.
|
|
199
|
+
.rydr-ui-rcard.selected { transform: translateY(-4px) scale(1.06); border-width: 3px; border-color: var(--rarity);
|
|
199
200
|
outline: 4px solid var(--rarity); outline-offset: 5px;
|
|
200
201
|
box-shadow: 0 24px 60px rgba(0,0,0,0.55), inset 0 2px 22px rgba(0,0,0,0.55), inset 0 0 32px -2px var(--rarity),
|
|
201
202
|
0 0 64px -2px var(--rarity); }
|
package/dist/ui/styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/ui/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB,MAAM,UAAU,SAAS;IACvB,IAAI,WAAW,IAAI,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;QAAC,WAAW,GAAG,IAAI,CAAC;QAAC,OAAO;IAAC,CAAC;IAC1F,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,GAAG,aAAa,CAAC;IACzB,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,WAAW,GAAG,IAAI,CAAC;AACrB,CAAC;AAED,MAAM,GAAG,GAAG
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/ui/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB,MAAM,UAAU,SAAS;IACvB,IAAI,WAAW,IAAI,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;QAAC,WAAW,GAAG,IAAI,CAAC;QAAC,OAAO;IAAC,CAAC;IAC1F,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,GAAG,aAAa,CAAC;IACzB,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,WAAW,GAAG,IAAI,CAAC;AACrB,CAAC;AAED,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4LX,CAAC"}
|