@babylonjs/loaders 5.25.0 → 5.26.1
Sign up to get free protection for your applications and to get access to all the features.
- package/glTF/2.0/Extensions/KHR_animation_pointer.d.ts +12 -31
- package/glTF/2.0/Extensions/KHR_animation_pointer.data.d.ts +133 -0
- package/glTF/2.0/Extensions/KHR_animation_pointer.data.js +169 -0
- package/glTF/2.0/Extensions/KHR_animation_pointer.data.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_animation_pointer.js +54 -204
- package/glTF/2.0/Extensions/KHR_animation_pointer.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_lights_punctual.js +2 -1
- package/glTF/2.0/Extensions/KHR_lights_punctual.js.map +1 -1
- package/glTF/2.0/glTFLoader.d.ts +42 -8
- package/glTF/2.0/glTFLoader.js +204 -47
- package/glTF/2.0/glTFLoader.js.map +1 -1
- package/glTF/2.0/glTFLoaderAnimation.d.ts +29 -0
- package/glTF/2.0/glTFLoaderAnimation.js +66 -0
- package/glTF/2.0/glTFLoaderAnimation.js.map +1 -0
- package/glTF/2.0/glTFLoaderExtension.d.ts +14 -1
- package/glTF/2.0/glTFLoaderExtension.js.map +1 -1
- package/glTF/2.0/glTFLoaderInterfaces.d.ts +38 -11
- package/glTF/2.0/glTFLoaderInterfaces.js.map +1 -1
- package/package.json +3 -3
- package/glTF/2.0/Extensions/KHR_animation_pointer.map.d.ts +0 -15
- package/glTF/2.0/Extensions/KHR_animation_pointer.map.js +0 -454
- package/glTF/2.0/Extensions/KHR_animation_pointer.map.js.map +0 -1
- package/glTF/2.0/glTFUtilities.d.ts +0 -7
- package/glTF/2.0/glTFUtilities.js +0 -23
- package/glTF/2.0/glTFUtilities.js.map +0 -1
@@ -1,454 +0,0 @@
|
|
1
|
-
/* eslint-disable @typescript-eslint/naming-convention */
|
2
|
-
import { Animation } from "@babylonjs/core/Animations/animation.js";
|
3
|
-
import { Quaternion, Vector3, Matrix } from "@babylonjs/core/Maths/math.vector.js";
|
4
|
-
import { Color3 } from "@babylonjs/core/Maths/math.color.js";
|
5
|
-
import { Material } from "@babylonjs/core/Materials/material.js";
|
6
|
-
const parseIntIndex = (str) => {
|
7
|
-
const targetIndex = parseInt(str);
|
8
|
-
if (isNaN(targetIndex)) {
|
9
|
-
return -1;
|
10
|
-
}
|
11
|
-
return targetIndex;
|
12
|
-
};
|
13
|
-
const getGltfNode = (gltf, index) => {
|
14
|
-
if (gltf.nodes) {
|
15
|
-
const i = parseIntIndex(index);
|
16
|
-
if (i != -1) {
|
17
|
-
return gltf.nodes[i];
|
18
|
-
}
|
19
|
-
}
|
20
|
-
return null;
|
21
|
-
};
|
22
|
-
const getGltfMaterial = (gltf, index) => {
|
23
|
-
if (gltf.materials) {
|
24
|
-
const i = parseIntIndex(index);
|
25
|
-
if (i != -1) {
|
26
|
-
return gltf.materials[i];
|
27
|
-
}
|
28
|
-
}
|
29
|
-
return null;
|
30
|
-
};
|
31
|
-
const getGltfCamera = (gltf, index) => {
|
32
|
-
if (gltf.cameras) {
|
33
|
-
const i = parseIntIndex(index);
|
34
|
-
if (i != -1) {
|
35
|
-
return gltf.cameras[i];
|
36
|
-
}
|
37
|
-
}
|
38
|
-
return null;
|
39
|
-
};
|
40
|
-
const getGltfExtension = (gltf, index) => {
|
41
|
-
if (gltf.extensions && index) {
|
42
|
-
return gltf.extensions[index];
|
43
|
-
}
|
44
|
-
return null;
|
45
|
-
};
|
46
|
-
const getMatrix = (_target, source, offset, scale) => {
|
47
|
-
return scale ? Matrix.FromArray(source, offset).scale(scale) : Matrix.FromArray(source, offset);
|
48
|
-
};
|
49
|
-
const getVector3 = (_target, source, offset, scale) => {
|
50
|
-
return scale ? Vector3.FromArray(source, offset).scaleInPlace(scale) : Vector3.FromArray(source, offset);
|
51
|
-
};
|
52
|
-
const getQuaternion = (_target, source, offset, scale) => {
|
53
|
-
return scale ? Quaternion.FromArray(source, offset).scaleInPlace(scale) : Quaternion.FromArray(source, offset);
|
54
|
-
};
|
55
|
-
const getColor3 = (_target, source, offset, scale) => {
|
56
|
-
return scale ? Color3.FromArray(source, offset).scale(scale) : Color3.FromArray(source, offset);
|
57
|
-
};
|
58
|
-
const getAlpha = (_target, source, offset, scale) => {
|
59
|
-
return scale ? source[offset + 3] * scale : source[offset + 3];
|
60
|
-
};
|
61
|
-
const getFloat = (_target, source, offset, scale) => {
|
62
|
-
return scale ? source[offset] * scale : source[offset];
|
63
|
-
};
|
64
|
-
const getMinusFloat = (_target, source, offset, scale) => {
|
65
|
-
return -(scale ? source[offset] * scale : source[offset]);
|
66
|
-
};
|
67
|
-
const getNextFloat = (_target, source, offset, scale) => {
|
68
|
-
return scale ? source[offset + 1] * scale : source[offset + 1];
|
69
|
-
};
|
70
|
-
const getFloatBy2 = (_target, source, offset, scale) => {
|
71
|
-
return (scale ? source[offset] * scale : source[offset]) * 2;
|
72
|
-
};
|
73
|
-
const getWeights = (target, source, offset, scale) => {
|
74
|
-
if (target._numMorphTargets) {
|
75
|
-
const value = new Array(target._numMorphTargets);
|
76
|
-
for (let i = 0; i < target._numMorphTargets; i++) {
|
77
|
-
value[i] = scale ? source[offset++] * scale : source[offset++];
|
78
|
-
}
|
79
|
-
return value;
|
80
|
-
}
|
81
|
-
return null;
|
82
|
-
};
|
83
|
-
class AbstractAnimationPointerPropertyInfos {
|
84
|
-
constructor(type, name, get) {
|
85
|
-
this.type = type;
|
86
|
-
this.name = name;
|
87
|
-
this.get = get;
|
88
|
-
}
|
89
|
-
_buildAnimation(animatable, fps, keys, babylonAnimationGroup, animationTargetOverride = null) {
|
90
|
-
if (animatable || animationTargetOverride) {
|
91
|
-
const animationName = `${babylonAnimationGroup.name}_channel${babylonAnimationGroup.targetedAnimations.length}_${this.name}`;
|
92
|
-
const babylonAnimation = new Animation(animationName, this.name, fps, this.type);
|
93
|
-
babylonAnimation.setKeys(keys);
|
94
|
-
if (animationTargetOverride != null && animationTargetOverride.animations != null) {
|
95
|
-
animationTargetOverride.animations.push(babylonAnimation);
|
96
|
-
babylonAnimationGroup.addTargetedAnimation(babylonAnimation, animationTargetOverride);
|
97
|
-
}
|
98
|
-
else if (animatable) {
|
99
|
-
animatable.animations = animatable.animations || Array(1);
|
100
|
-
animatable.animations.push(babylonAnimation);
|
101
|
-
babylonAnimationGroup.addTargetedAnimation(babylonAnimation, animatable);
|
102
|
-
}
|
103
|
-
}
|
104
|
-
}
|
105
|
-
isValid(_target) {
|
106
|
-
return true;
|
107
|
-
}
|
108
|
-
}
|
109
|
-
class TransformNodeAnimationPointerPropertyInfos extends AbstractAnimationPointerPropertyInfos {
|
110
|
-
constructor(type, name, get = getVector3) {
|
111
|
-
super(type, name, get);
|
112
|
-
}
|
113
|
-
isValid(target) {
|
114
|
-
return target._babylonTransformNode !== null && target._babylonTransformNode !== undefined;
|
115
|
-
}
|
116
|
-
buildAnimations(target, fps, keys, group, animationTargetOverride = null) {
|
117
|
-
return this._buildAnimation(target._babylonTransformNode, fps, keys, group, animationTargetOverride);
|
118
|
-
}
|
119
|
-
}
|
120
|
-
class CameraAnimationPointerPropertyInfos extends AbstractAnimationPointerPropertyInfos {
|
121
|
-
constructor(type, name, get = getFloat) {
|
122
|
-
super(type, name, get);
|
123
|
-
}
|
124
|
-
isValid(target) {
|
125
|
-
return target._babylonCamera != null && target._babylonCamera !== undefined;
|
126
|
-
}
|
127
|
-
buildAnimations(target, fps, keys, group, animationTargetOverride = null) {
|
128
|
-
return this._buildAnimation(target._babylonCamera, fps, keys, group, animationTargetOverride);
|
129
|
-
}
|
130
|
-
}
|
131
|
-
class MaterialAnimationPointerPropertyInfos extends AbstractAnimationPointerPropertyInfos {
|
132
|
-
constructor(type, name, get = getFloat, fillMode = Material.TriangleFillMode) {
|
133
|
-
super(type, name, get);
|
134
|
-
this.fillMode = fillMode;
|
135
|
-
}
|
136
|
-
isValid(target) {
|
137
|
-
const data = target._data;
|
138
|
-
if (data) {
|
139
|
-
const c = data[this.fillMode];
|
140
|
-
if (c) {
|
141
|
-
return c.babylonMaterial !== null && c.babylonMaterial !== undefined;
|
142
|
-
}
|
143
|
-
}
|
144
|
-
return false;
|
145
|
-
}
|
146
|
-
buildAnimations(target, fps, keys, group, animationTargetOverride = null) {
|
147
|
-
return this._buildAnimation(target._data[this.fillMode].babylonMaterial, fps, keys, group, animationTargetOverride);
|
148
|
-
}
|
149
|
-
}
|
150
|
-
class LightAnimationPointerPropertyInfos extends AbstractAnimationPointerPropertyInfos {
|
151
|
-
constructor(type, name, get = getFloat) {
|
152
|
-
super(type, name, get);
|
153
|
-
}
|
154
|
-
isValid(target) {
|
155
|
-
return target && target.length != 0;
|
156
|
-
}
|
157
|
-
// note : the extensions array store directly the BabylonLight reference
|
158
|
-
buildAnimations(target, fps, keys, group, animationTargetOverride = null, params) {
|
159
|
-
const i = parseIntIndex(params[1]);
|
160
|
-
const l = i >= 0 && i < target.lights.length ? target.lights[i] : null;
|
161
|
-
return this._buildAnimation(l._babylonLight, fps, keys, group, animationTargetOverride);
|
162
|
-
}
|
163
|
-
}
|
164
|
-
class WeightAnimationPointerPropertyInfos extends AbstractAnimationPointerPropertyInfos {
|
165
|
-
constructor(type, name, get = getWeights) {
|
166
|
-
super(type, name, get);
|
167
|
-
}
|
168
|
-
isValid(target) {
|
169
|
-
return target._numMorphTargets;
|
170
|
-
}
|
171
|
-
buildAnimations(targetNode, fps, keys, babylonAnimationGroup, _animationTargetOverride = null) {
|
172
|
-
if (targetNode._numMorphTargets) {
|
173
|
-
for (let targetIndex = 0; targetIndex < targetNode._numMorphTargets; targetIndex++) {
|
174
|
-
const animationName = `${babylonAnimationGroup.name}_channel${babylonAnimationGroup.targetedAnimations.length}`;
|
175
|
-
const babylonAnimation = new Animation(animationName, this.name, fps, this.type);
|
176
|
-
babylonAnimation.setKeys(keys.map((key) => ({
|
177
|
-
frame: key.frame,
|
178
|
-
inTangent: key.inTangent ? key.inTangent[targetIndex] : undefined,
|
179
|
-
value: key.value[targetIndex],
|
180
|
-
outTangent: key.outTangent ? key.outTangent[targetIndex] : undefined,
|
181
|
-
interpolation: key.interpolation,
|
182
|
-
})));
|
183
|
-
if (targetNode._primitiveBabylonMeshes) {
|
184
|
-
for (const m of targetNode._primitiveBabylonMeshes) {
|
185
|
-
const babylonMesh = m;
|
186
|
-
if (babylonMesh.morphTargetManager) {
|
187
|
-
const morphTarget = babylonMesh.morphTargetManager.getTarget(targetIndex);
|
188
|
-
const babylonAnimationClone = babylonAnimation.clone();
|
189
|
-
morphTarget.animations.push(babylonAnimationClone);
|
190
|
-
babylonAnimationGroup.addTargetedAnimation(babylonAnimationClone, morphTarget);
|
191
|
-
}
|
192
|
-
}
|
193
|
-
}
|
194
|
-
}
|
195
|
-
}
|
196
|
-
}
|
197
|
-
}
|
198
|
-
const CoreAnimationNodesPointerMap = {
|
199
|
-
getTarget: getGltfNode,
|
200
|
-
hasIndex: true,
|
201
|
-
matrix: {
|
202
|
-
properties: [new TransformNodeAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_MATRIX, "matrix", getMatrix)],
|
203
|
-
},
|
204
|
-
translation: {
|
205
|
-
properties: [new TransformNodeAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_VECTOR3, "position")],
|
206
|
-
},
|
207
|
-
rotation: {
|
208
|
-
properties: [new TransformNodeAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_QUATERNION, "rotationQuaternion", getQuaternion)],
|
209
|
-
},
|
210
|
-
scale: {
|
211
|
-
properties: [new TransformNodeAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_VECTOR3, "scaling")],
|
212
|
-
},
|
213
|
-
weights: {
|
214
|
-
getStride: (target) => {
|
215
|
-
return target._numMorphTargets;
|
216
|
-
},
|
217
|
-
properties: [new WeightAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "influence")],
|
218
|
-
},
|
219
|
-
};
|
220
|
-
const CoreAnimationCamerasPointerMap = {
|
221
|
-
hasIndex: true,
|
222
|
-
getTarget: getGltfCamera,
|
223
|
-
orthographic: {
|
224
|
-
xmag: {
|
225
|
-
properties: [
|
226
|
-
new CameraAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "orthoLeft", getMinusFloat),
|
227
|
-
new CameraAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "orthoRight", getNextFloat),
|
228
|
-
],
|
229
|
-
},
|
230
|
-
ymag: {
|
231
|
-
properties: [
|
232
|
-
new CameraAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "orthoBottom", getMinusFloat),
|
233
|
-
new CameraAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "orthoTop", getNextFloat),
|
234
|
-
],
|
235
|
-
},
|
236
|
-
zfar: {
|
237
|
-
properties: [new CameraAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "maxZ")],
|
238
|
-
},
|
239
|
-
znear: {
|
240
|
-
properties: [new CameraAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "minZ")],
|
241
|
-
},
|
242
|
-
},
|
243
|
-
perspective: {
|
244
|
-
aspectRatio: {
|
245
|
-
// not supported.
|
246
|
-
},
|
247
|
-
yfov: {
|
248
|
-
properties: [new CameraAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "fov")],
|
249
|
-
},
|
250
|
-
zfar: {
|
251
|
-
properties: [new CameraAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "maxZ")],
|
252
|
-
},
|
253
|
-
znear: {
|
254
|
-
properties: [new CameraAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "minZ")],
|
255
|
-
},
|
256
|
-
},
|
257
|
-
};
|
258
|
-
const CoreAnimationMaterialsPointerMap = {
|
259
|
-
hasIndex: true,
|
260
|
-
getTarget: getGltfMaterial,
|
261
|
-
pbrMetallicRoughness: {
|
262
|
-
baseColorFactor: {
|
263
|
-
properties: [
|
264
|
-
new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_COLOR3, "albedoColor", getColor3),
|
265
|
-
new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "alpha", getAlpha),
|
266
|
-
],
|
267
|
-
},
|
268
|
-
metallicFactor: {
|
269
|
-
properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "metallic")],
|
270
|
-
},
|
271
|
-
roughnessFactor: {
|
272
|
-
properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "roughness")],
|
273
|
-
},
|
274
|
-
baseColorTexture: {
|
275
|
-
extensions: {
|
276
|
-
KHR_texture_transform: {
|
277
|
-
scale: {
|
278
|
-
properties: [
|
279
|
-
// MAY introduce set scale(Vector2) into texture.
|
280
|
-
new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "albedoTexture.uScale"),
|
281
|
-
new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "albedoTexture.vScale", getNextFloat),
|
282
|
-
],
|
283
|
-
},
|
284
|
-
offset: {
|
285
|
-
properties: [
|
286
|
-
// MAY introduce set offset(Vector2) into texture.
|
287
|
-
new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "albedoTexture.uOffset"),
|
288
|
-
new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "albedoTexture.vOffset", getNextFloat),
|
289
|
-
],
|
290
|
-
},
|
291
|
-
rotation: {
|
292
|
-
properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "albedoTexture.wAng", getMinusFloat)],
|
293
|
-
},
|
294
|
-
},
|
295
|
-
},
|
296
|
-
},
|
297
|
-
},
|
298
|
-
emissiveFactor: {
|
299
|
-
properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_COLOR3, "emissiveColor", getColor3)],
|
300
|
-
},
|
301
|
-
normalTexture: {
|
302
|
-
scale: {
|
303
|
-
properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "bumpTexture.level")],
|
304
|
-
},
|
305
|
-
},
|
306
|
-
occlusionTexture: {
|
307
|
-
strength: {
|
308
|
-
properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "ambientTextureStrength")],
|
309
|
-
},
|
310
|
-
extensions: {
|
311
|
-
KHR_texture_transform: {
|
312
|
-
scale: {
|
313
|
-
properties: [
|
314
|
-
// MAY introduce set scale(Vector2) into texture.
|
315
|
-
new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "ambientTexture.uScale"),
|
316
|
-
new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "ambientTexture.vScale", getNextFloat),
|
317
|
-
],
|
318
|
-
},
|
319
|
-
offset: {
|
320
|
-
properties: [
|
321
|
-
// MAY introduce set offset(Vector2) into texture.
|
322
|
-
new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "ambientTexture.uOffset"),
|
323
|
-
new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "ambientTexture.vOffset", getNextFloat),
|
324
|
-
],
|
325
|
-
},
|
326
|
-
rotation: {
|
327
|
-
properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "ambientTexture.wAng", getMinusFloat)],
|
328
|
-
},
|
329
|
-
},
|
330
|
-
},
|
331
|
-
},
|
332
|
-
emissiveTexture: {
|
333
|
-
extensions: {
|
334
|
-
KHR_texture_transform: {
|
335
|
-
scale: {
|
336
|
-
properties: [
|
337
|
-
// MAY introduce set scale(Vector2) into texture.
|
338
|
-
new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "emissiveTexture.uScale"),
|
339
|
-
new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "emissiveTexture.vScale", getNextFloat),
|
340
|
-
],
|
341
|
-
},
|
342
|
-
offset: {
|
343
|
-
properties: [
|
344
|
-
// MAY introduce set offset(Vector2) into texture.
|
345
|
-
new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "emissiveTexture.uOffset"),
|
346
|
-
new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "emissiveTexture.vOffset", getNextFloat),
|
347
|
-
],
|
348
|
-
},
|
349
|
-
rotation: {
|
350
|
-
properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "emissiveTexture.wAng", getMinusFloat)],
|
351
|
-
},
|
352
|
-
},
|
353
|
-
},
|
354
|
-
},
|
355
|
-
extensions: {
|
356
|
-
KHR_materials_ior: {
|
357
|
-
ior: {
|
358
|
-
properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "indexOfRefraction")],
|
359
|
-
},
|
360
|
-
},
|
361
|
-
KHR_materials_clearcoat: {
|
362
|
-
clearcoatFactor: {
|
363
|
-
properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "clearCoat.intensity")],
|
364
|
-
},
|
365
|
-
clearcoatRoughnessFactor: {
|
366
|
-
properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "clearCoat.roughness")],
|
367
|
-
},
|
368
|
-
},
|
369
|
-
KHR_materials_sheen: {
|
370
|
-
sheenColorFactor: {
|
371
|
-
properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_COLOR3, "sheen.color", getColor3)],
|
372
|
-
},
|
373
|
-
sheenRoughnessFactor: {
|
374
|
-
properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "sheen.roughness")],
|
375
|
-
},
|
376
|
-
},
|
377
|
-
KHR_materials_specular: {
|
378
|
-
specularFactor: {
|
379
|
-
properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "metallicF0Factor")],
|
380
|
-
},
|
381
|
-
specularColorFactor: {
|
382
|
-
properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_COLOR3, "metallicReflectanceColor", getColor3)],
|
383
|
-
},
|
384
|
-
},
|
385
|
-
KHR_materials_emissive_strength: {
|
386
|
-
emissiveStrength: {
|
387
|
-
properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "emissiveIntensity")],
|
388
|
-
},
|
389
|
-
},
|
390
|
-
KHR_materials_transmission: {
|
391
|
-
transmissionFactor: {
|
392
|
-
properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "subSurface.refractionIntensity")],
|
393
|
-
},
|
394
|
-
},
|
395
|
-
KHR_materials_volume: {
|
396
|
-
attenuationColor: {
|
397
|
-
properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_COLOR3, "subSurface.tintColor", getColor3)],
|
398
|
-
},
|
399
|
-
attenuationDistance: {
|
400
|
-
properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "subSurface.tintColorAtDistance")],
|
401
|
-
},
|
402
|
-
thicknessFactor: {
|
403
|
-
properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "subSurface.maximumThickness")],
|
404
|
-
},
|
405
|
-
},
|
406
|
-
KHR_materials_iridescence: {
|
407
|
-
iridescenceFactor: {
|
408
|
-
properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "iridescence.intensity")],
|
409
|
-
},
|
410
|
-
iridescenceIor: {
|
411
|
-
properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "iridescence.indexOfRefraction")],
|
412
|
-
},
|
413
|
-
iridescenceThicknessMinimum: {
|
414
|
-
properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "iridescence.minimumThickness")],
|
415
|
-
},
|
416
|
-
iridescenceThicknessMaximum: {
|
417
|
-
properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "iridescence.maximumThickness")],
|
418
|
-
},
|
419
|
-
},
|
420
|
-
},
|
421
|
-
};
|
422
|
-
const CoreAnimationExtensionsPointerMap = {
|
423
|
-
getTarget: getGltfExtension,
|
424
|
-
KHR_lights_punctual: {
|
425
|
-
isIndex: true,
|
426
|
-
lights: {
|
427
|
-
hasIndex: true,
|
428
|
-
color: {
|
429
|
-
properties: [new LightAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_COLOR3, "diffuse", getColor3)],
|
430
|
-
},
|
431
|
-
intensity: {
|
432
|
-
properties: [new LightAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "intensity")],
|
433
|
-
},
|
434
|
-
range: {
|
435
|
-
properties: [new LightAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "range")],
|
436
|
-
},
|
437
|
-
spot: {
|
438
|
-
innerConeAngle: {
|
439
|
-
properties: [new LightAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "innerAngle", getFloatBy2)],
|
440
|
-
},
|
441
|
-
outerConeAngle: {
|
442
|
-
properties: [new LightAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, "angle", getFloatBy2)],
|
443
|
-
},
|
444
|
-
},
|
445
|
-
},
|
446
|
-
},
|
447
|
-
};
|
448
|
-
export const CoreAnimationPointerMap = {
|
449
|
-
nodes: CoreAnimationNodesPointerMap,
|
450
|
-
materials: CoreAnimationMaterialsPointerMap,
|
451
|
-
cameras: CoreAnimationCamerasPointerMap,
|
452
|
-
extensions: CoreAnimationExtensionsPointerMap,
|
453
|
-
};
|
454
|
-
//# sourceMappingURL=KHR_animation_pointer.map.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"KHR_animation_pointer.map.js","sourceRoot":"","sources":["../../../../../../../lts/loaders/generated/glTF/2.0/Extensions/KHR_animation_pointer.map.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\nimport { Animation } from \"core/Animations/animation\";\r\nimport type { AnimationGroup } from \"core/Animations/animationGroup\";\r\nimport { Quaternion, Vector3, Matrix } from \"core/Maths/math.vector\";\r\nimport { Color3 } from \"core/Maths/math.color\";\r\nimport type { IGLTF } from \"../glTFLoaderInterfaces\";\r\nimport { Material } from \"core/Materials/material\";\r\nimport type { IAnimatable } from \"core/Animations/animatable.interface\";\r\nimport type { Mesh } from \"core/Meshes/mesh\";\r\nimport type { Nullable } from \"core/types\";\r\n\r\nexport type GetGltfNodeTargetFn = (source: IGLTF, indices: string) => any;\r\ntype GetValueFn = (target: any, source: Float32Array, offset: number, scale?: number) => any;\r\n\r\nexport interface IAnimationPointerPropertyInfos {\r\n type: number;\r\n name: string;\r\n get: GetValueFn;\r\n isValid(target: any): boolean;\r\n buildAnimations(target: any, fps: number, keys: any[], group: AnimationGroup, animationTargetOverride: Nullable<IAnimatable>, params?: any): void;\r\n}\r\n\r\nconst parseIntIndex = (str: string) => {\r\n const targetIndex = parseInt(str);\r\n if (isNaN(targetIndex)) {\r\n return -1;\r\n }\r\n return targetIndex;\r\n};\r\n\r\nconst getGltfNode: GetGltfNodeTargetFn = (gltf: IGLTF, index: string) => {\r\n if (gltf.nodes) {\r\n const i = parseIntIndex(index);\r\n if (i != -1) {\r\n return gltf.nodes[i];\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nconst getGltfMaterial: GetGltfNodeTargetFn = (gltf: IGLTF, index: string) => {\r\n if (gltf.materials) {\r\n const i = parseIntIndex(index);\r\n if (i != -1) {\r\n return gltf.materials[i];\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nconst getGltfCamera: GetGltfNodeTargetFn = (gltf: IGLTF, index: string) => {\r\n if (gltf.cameras) {\r\n const i = parseIntIndex(index);\r\n if (i != -1) {\r\n return gltf.cameras[i];\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nconst getGltfExtension: GetGltfNodeTargetFn = (gltf: IGLTF, index: string) => {\r\n if (gltf.extensions && index) {\r\n return gltf.extensions[index];\r\n }\r\n return null;\r\n};\r\n\r\nconst getMatrix: GetValueFn = (_target: any, source: Float32Array, offset: number, scale?: number) => {\r\n return scale ? Matrix.FromArray(source, offset).scale(scale) : Matrix.FromArray(source, offset);\r\n};\r\n\r\nconst getVector3: GetValueFn = (_target: any, source: Float32Array, offset: number, scale?: number) => {\r\n return scale ? Vector3.FromArray(source, offset).scaleInPlace(scale) : Vector3.FromArray(source, offset);\r\n};\r\n\r\nconst getQuaternion: GetValueFn = (_target: any, source: Float32Array, offset: number, scale?: number) => {\r\n return scale ? Quaternion.FromArray(source, offset).scaleInPlace(scale) : Quaternion.FromArray(source, offset);\r\n};\r\n\r\nconst getColor3: GetValueFn = (_target: any, source: Float32Array, offset: number, scale?: number) => {\r\n return scale ? Color3.FromArray(source, offset).scale(scale) : Color3.FromArray(source, offset);\r\n};\r\n\r\nconst getAlpha: GetValueFn = (_target: any, source: Float32Array, offset: number, scale?: number) => {\r\n return scale ? source[offset + 3] * scale : source[offset + 3];\r\n};\r\n\r\nconst getFloat: GetValueFn = (_target: any, source: Float32Array, offset: number, scale?: number) => {\r\n return scale ? source[offset] * scale : source[offset];\r\n};\r\n\r\nconst getMinusFloat: GetValueFn = (_target: any, source: Float32Array, offset: number, scale?: number) => {\r\n return -(scale ? source[offset] * scale : source[offset]);\r\n};\r\n\r\nconst getNextFloat: GetValueFn = (_target: any, source: Float32Array, offset: number, scale?: number) => {\r\n return scale ? source[offset + 1] * scale : source[offset + 1];\r\n};\r\n\r\nconst getFloatBy2: GetValueFn = (_target: any, source: Float32Array, offset: number, scale?: number) => {\r\n return (scale ? source[offset] * scale : source[offset]) * 2;\r\n};\r\n\r\nconst getWeights: GetValueFn = (target: any, source: Float32Array, offset: number, scale?: number) => {\r\n if (target._numMorphTargets) {\r\n const value = new Array<number>(target._numMorphTargets!);\r\n for (let i = 0; i < target._numMorphTargets!; i++) {\r\n value[i] = scale ? source[offset++] * scale : source[offset++];\r\n }\r\n return value;\r\n }\r\n return null;\r\n};\r\n\r\nabstract class AbstractAnimationPointerPropertyInfos implements IAnimationPointerPropertyInfos {\r\n public constructor(public type: number, public name: string, public get: GetValueFn) {}\r\n\r\n protected _buildAnimation(\r\n animatable: Nullable<IAnimatable>,\r\n fps: number,\r\n keys: any[],\r\n babylonAnimationGroup: AnimationGroup,\r\n animationTargetOverride: Nullable<IAnimatable> = null\r\n ) {\r\n if (animatable || animationTargetOverride) {\r\n const animationName = `${babylonAnimationGroup!.name}_channel${babylonAnimationGroup.targetedAnimations.length}_${this.name}`;\r\n const babylonAnimation = new Animation(animationName, this.name, fps, this.type);\r\n babylonAnimation.setKeys(keys);\r\n\r\n if (animationTargetOverride != null && animationTargetOverride.animations != null) {\r\n animationTargetOverride.animations.push(babylonAnimation);\r\n babylonAnimationGroup.addTargetedAnimation(babylonAnimation, animationTargetOverride);\r\n } else if (animatable) {\r\n animatable.animations = animatable.animations || Array<Animation>(1);\r\n animatable.animations.push(babylonAnimation);\r\n babylonAnimationGroup.addTargetedAnimation(babylonAnimation, animatable);\r\n }\r\n }\r\n }\r\n public isValid(_target: any): boolean {\r\n return true;\r\n }\r\n\r\n public abstract buildAnimations(target: any, fps: number, keys: any[], group: AnimationGroup, animationTargetOverride: Nullable<IAnimatable>, params?: any): void;\r\n}\r\n\r\nclass TransformNodeAnimationPointerPropertyInfos extends AbstractAnimationPointerPropertyInfos {\r\n public constructor(type: number, name: string, get: GetValueFn = getVector3) {\r\n super(type, name, get);\r\n }\r\n public isValid(target: any): boolean {\r\n return target._babylonTransformNode !== null && target._babylonTransformNode !== undefined;\r\n }\r\n\r\n public buildAnimations(target: any, fps: number, keys: any[], group: AnimationGroup, animationTargetOverride: Nullable<IAnimatable> = null): void {\r\n return this._buildAnimation(target._babylonTransformNode, fps, keys, group, animationTargetOverride);\r\n }\r\n}\r\n\r\nclass CameraAnimationPointerPropertyInfos extends AbstractAnimationPointerPropertyInfos {\r\n public constructor(type: number, name: string, get: GetValueFn = getFloat) {\r\n super(type, name, get);\r\n }\r\n\r\n public isValid(target: any): boolean {\r\n return target._babylonCamera != null && target._babylonCamera !== undefined;\r\n }\r\n\r\n public buildAnimations(target: any, fps: number, keys: any[], group: AnimationGroup, animationTargetOverride: Nullable<IAnimatable> = null): void {\r\n return this._buildAnimation(target._babylonCamera, fps, keys, group, animationTargetOverride);\r\n }\r\n}\r\n\r\nclass MaterialAnimationPointerPropertyInfos extends AbstractAnimationPointerPropertyInfos {\r\n public constructor(type: number, name: string, get: GetValueFn = getFloat, public fillMode: any = Material.TriangleFillMode) {\r\n super(type, name, get);\r\n }\r\n\r\n public isValid(target: any): boolean {\r\n const data = target._data;\r\n if (data) {\r\n const c = data[this.fillMode];\r\n if (c) {\r\n return c.babylonMaterial !== null && c.babylonMaterial !== undefined;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n public buildAnimations(target: any, fps: number, keys: any[], group: AnimationGroup, animationTargetOverride: Nullable<IAnimatable> = null): void {\r\n return this._buildAnimation(target._data[this.fillMode].babylonMaterial, fps, keys, group, animationTargetOverride);\r\n }\r\n}\r\n\r\nclass LightAnimationPointerPropertyInfos extends AbstractAnimationPointerPropertyInfos {\r\n public constructor(type: number, name: string, get: GetValueFn = getFloat) {\r\n super(type, name, get);\r\n }\r\n\r\n public isValid(target: any): boolean {\r\n return target && target.length != 0;\r\n }\r\n\r\n // note : the extensions array store directly the BabylonLight reference\r\n public buildAnimations(target: any, fps: number, keys: any[], group: AnimationGroup, animationTargetOverride: Nullable<IAnimatable> = null, params: any): void {\r\n const i = parseIntIndex(params[1]);\r\n const l = i >= 0 && i < target.lights.length ? target.lights[i] : null;\r\n return this._buildAnimation(l._babylonLight, fps, keys, group, animationTargetOverride);\r\n }\r\n}\r\n\r\nclass WeightAnimationPointerPropertyInfos extends AbstractAnimationPointerPropertyInfos {\r\n public constructor(type: number, name: string, get: GetValueFn = getWeights) {\r\n super(type, name, get);\r\n }\r\n public isValid(target: any): boolean {\r\n return target._numMorphTargets;\r\n }\r\n public buildAnimations(targetNode: any, fps: number, keys: any[], babylonAnimationGroup: AnimationGroup, _animationTargetOverride: Nullable<IAnimatable> = null): void {\r\n if (targetNode._numMorphTargets) {\r\n for (let targetIndex = 0; targetIndex < targetNode._numMorphTargets; targetIndex++) {\r\n const animationName = `${babylonAnimationGroup.name}_channel${babylonAnimationGroup.targetedAnimations.length}`;\r\n const babylonAnimation = new Animation(animationName, this.name, fps, this.type);\r\n babylonAnimation.setKeys(\r\n keys.map((key) => ({\r\n frame: key.frame,\r\n inTangent: key.inTangent ? key.inTangent[targetIndex] : undefined,\r\n value: key.value[targetIndex],\r\n outTangent: key.outTangent ? key.outTangent[targetIndex] : undefined,\r\n interpolation: key.interpolation,\r\n }))\r\n );\r\n\r\n if (targetNode._primitiveBabylonMeshes) {\r\n for (const m of targetNode._primitiveBabylonMeshes) {\r\n const babylonMesh = m as Mesh;\r\n if (babylonMesh.morphTargetManager) {\r\n const morphTarget = babylonMesh.morphTargetManager.getTarget(targetIndex);\r\n const babylonAnimationClone = babylonAnimation.clone();\r\n morphTarget.animations.push(babylonAnimationClone);\r\n babylonAnimationGroup.addTargetedAnimation(babylonAnimationClone, morphTarget);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nconst CoreAnimationNodesPointerMap: any = {\r\n getTarget: getGltfNode,\r\n hasIndex: true,\r\n matrix: {\r\n properties: [new TransformNodeAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_MATRIX, \"matrix\", getMatrix)],\r\n },\r\n translation: {\r\n properties: [new TransformNodeAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_VECTOR3, \"position\")],\r\n },\r\n rotation: {\r\n properties: [new TransformNodeAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_QUATERNION, \"rotationQuaternion\", getQuaternion)],\r\n },\r\n scale: {\r\n properties: [new TransformNodeAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_VECTOR3, \"scaling\")],\r\n },\r\n weights: {\r\n getStride: (target: any) => {\r\n return target._numMorphTargets;\r\n },\r\n properties: [new WeightAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"influence\")],\r\n },\r\n};\r\n\r\nconst CoreAnimationCamerasPointerMap: any = {\r\n hasIndex: true,\r\n getTarget: getGltfCamera,\r\n orthographic: {\r\n xmag: {\r\n properties: [\r\n new CameraAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"orthoLeft\", getMinusFloat),\r\n new CameraAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"orthoRight\", getNextFloat),\r\n ],\r\n },\r\n ymag: {\r\n properties: [\r\n new CameraAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"orthoBottom\", getMinusFloat),\r\n new CameraAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"orthoTop\", getNextFloat),\r\n ],\r\n },\r\n zfar: {\r\n properties: [new CameraAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"maxZ\")],\r\n },\r\n znear: {\r\n properties: [new CameraAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"minZ\")],\r\n },\r\n },\r\n perspective: {\r\n aspectRatio: {\r\n // not supported.\r\n },\r\n yfov: {\r\n properties: [new CameraAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"fov\")],\r\n },\r\n zfar: {\r\n properties: [new CameraAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"maxZ\")],\r\n },\r\n znear: {\r\n properties: [new CameraAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"minZ\")],\r\n },\r\n },\r\n};\r\n\r\nconst CoreAnimationMaterialsPointerMap: any = {\r\n hasIndex: true,\r\n getTarget: getGltfMaterial,\r\n pbrMetallicRoughness: {\r\n baseColorFactor: {\r\n properties: [\r\n new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_COLOR3, \"albedoColor\", getColor3),\r\n new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"alpha\", getAlpha),\r\n ],\r\n },\r\n metallicFactor: {\r\n properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"metallic\")],\r\n },\r\n roughnessFactor: {\r\n properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"roughness\")],\r\n },\r\n baseColorTexture: {\r\n extensions: {\r\n KHR_texture_transform: {\r\n scale: {\r\n properties: [\r\n // MAY introduce set scale(Vector2) into texture.\r\n new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"albedoTexture.uScale\"),\r\n new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"albedoTexture.vScale\", getNextFloat),\r\n ],\r\n },\r\n offset: {\r\n properties: [\r\n // MAY introduce set offset(Vector2) into texture.\r\n new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"albedoTexture.uOffset\"),\r\n new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"albedoTexture.vOffset\", getNextFloat),\r\n ],\r\n },\r\n rotation: {\r\n properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"albedoTexture.wAng\", getMinusFloat)],\r\n },\r\n },\r\n },\r\n },\r\n },\r\n emissiveFactor: {\r\n properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_COLOR3, \"emissiveColor\", getColor3)],\r\n },\r\n normalTexture: {\r\n scale: {\r\n properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"bumpTexture.level\")],\r\n },\r\n },\r\n occlusionTexture: {\r\n strength: {\r\n properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"ambientTextureStrength\")],\r\n },\r\n extensions: {\r\n KHR_texture_transform: {\r\n scale: {\r\n properties: [\r\n // MAY introduce set scale(Vector2) into texture.\r\n new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"ambientTexture.uScale\"),\r\n new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"ambientTexture.vScale\", getNextFloat),\r\n ],\r\n },\r\n offset: {\r\n properties: [\r\n // MAY introduce set offset(Vector2) into texture.\r\n new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"ambientTexture.uOffset\"),\r\n new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"ambientTexture.vOffset\", getNextFloat),\r\n ],\r\n },\r\n rotation: {\r\n properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"ambientTexture.wAng\", getMinusFloat)],\r\n },\r\n },\r\n },\r\n },\r\n emissiveTexture: {\r\n extensions: {\r\n KHR_texture_transform: {\r\n scale: {\r\n properties: [\r\n // MAY introduce set scale(Vector2) into texture.\r\n new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"emissiveTexture.uScale\"),\r\n new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"emissiveTexture.vScale\", getNextFloat),\r\n ],\r\n },\r\n offset: {\r\n properties: [\r\n // MAY introduce set offset(Vector2) into texture.\r\n new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"emissiveTexture.uOffset\"),\r\n new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"emissiveTexture.vOffset\", getNextFloat),\r\n ],\r\n },\r\n rotation: {\r\n properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"emissiveTexture.wAng\", getMinusFloat)],\r\n },\r\n },\r\n },\r\n },\r\n extensions: {\r\n KHR_materials_ior: {\r\n ior: {\r\n properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"indexOfRefraction\")],\r\n },\r\n },\r\n KHR_materials_clearcoat: {\r\n clearcoatFactor: {\r\n properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"clearCoat.intensity\")],\r\n },\r\n clearcoatRoughnessFactor: {\r\n properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"clearCoat.roughness\")],\r\n },\r\n },\r\n KHR_materials_sheen: {\r\n sheenColorFactor: {\r\n properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_COLOR3, \"sheen.color\", getColor3)],\r\n },\r\n sheenRoughnessFactor: {\r\n properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"sheen.roughness\")],\r\n },\r\n },\r\n KHR_materials_specular: {\r\n specularFactor: {\r\n properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"metallicF0Factor\")],\r\n },\r\n specularColorFactor: {\r\n properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_COLOR3, \"metallicReflectanceColor\", getColor3)],\r\n },\r\n },\r\n KHR_materials_emissive_strength: {\r\n emissiveStrength: {\r\n properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"emissiveIntensity\")],\r\n },\r\n },\r\n KHR_materials_transmission: {\r\n transmissionFactor: {\r\n properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"subSurface.refractionIntensity\")],\r\n },\r\n },\r\n KHR_materials_volume: {\r\n attenuationColor: {\r\n properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_COLOR3, \"subSurface.tintColor\", getColor3)],\r\n },\r\n attenuationDistance: {\r\n properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"subSurface.tintColorAtDistance\")],\r\n },\r\n thicknessFactor: {\r\n properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"subSurface.maximumThickness\")],\r\n },\r\n },\r\n KHR_materials_iridescence: {\r\n iridescenceFactor: {\r\n properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"iridescence.intensity\")],\r\n },\r\n iridescenceIor: {\r\n properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"iridescence.indexOfRefraction\")],\r\n },\r\n iridescenceThicknessMinimum: {\r\n properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"iridescence.minimumThickness\")],\r\n },\r\n iridescenceThicknessMaximum: {\r\n properties: [new MaterialAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"iridescence.maximumThickness\")],\r\n },\r\n },\r\n },\r\n};\r\n\r\nconst CoreAnimationExtensionsPointerMap: any = {\r\n getTarget: getGltfExtension,\r\n KHR_lights_punctual: {\r\n isIndex: true,\r\n lights: {\r\n hasIndex: true, // we have an array of light into the extension.\r\n color: {\r\n properties: [new LightAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_COLOR3, \"diffuse\", getColor3)],\r\n },\r\n intensity: {\r\n properties: [new LightAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"intensity\")],\r\n },\r\n range: {\r\n properties: [new LightAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"range\")],\r\n },\r\n spot: {\r\n innerConeAngle: {\r\n properties: [new LightAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"innerAngle\", getFloatBy2)],\r\n },\r\n outerConeAngle: {\r\n properties: [new LightAnimationPointerPropertyInfos(Animation.ANIMATIONTYPE_FLOAT, \"angle\", getFloatBy2)],\r\n },\r\n },\r\n },\r\n },\r\n};\r\n\r\nexport const CoreAnimationPointerMap: any = {\r\n nodes: CoreAnimationNodesPointerMap,\r\n materials: CoreAnimationMaterialsPointerMap,\r\n cameras: CoreAnimationCamerasPointerMap,\r\n extensions: CoreAnimationExtensionsPointerMap,\r\n};\r\n"]}
|
@@ -1,7 +0,0 @@
|
|
1
|
-
import { AccessorType } from "babylonjs-gltf2interface";
|
2
|
-
/**
|
3
|
-
* Used internally to determine how much data to be gather from input buffer at each key frame.
|
4
|
-
* @param accessorType the accessor type
|
5
|
-
* @returns the number of item to be gather at each keyframe
|
6
|
-
*/
|
7
|
-
export declare function getDataAccessorElementCount(accessorType: AccessorType): 1 | 2 | 3 | 4 | 9 | 16;
|
@@ -1,23 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Used internally to determine how much data to be gather from input buffer at each key frame.
|
3
|
-
* @param accessorType the accessor type
|
4
|
-
* @returns the number of item to be gather at each keyframe
|
5
|
-
*/
|
6
|
-
export function getDataAccessorElementCount(accessorType) {
|
7
|
-
switch (accessorType) {
|
8
|
-
case "SCALAR" /* SCALAR */:
|
9
|
-
return 1;
|
10
|
-
case "VEC2" /* VEC2 */:
|
11
|
-
return 2;
|
12
|
-
case "VEC3" /* VEC3 */:
|
13
|
-
return 3;
|
14
|
-
case "VEC4" /* VEC4 */:
|
15
|
-
case "MAT2" /* MAT2 */:
|
16
|
-
return 4;
|
17
|
-
case "MAT3" /* MAT3 */:
|
18
|
-
return 9;
|
19
|
-
case "MAT4" /* MAT4 */:
|
20
|
-
return 16;
|
21
|
-
}
|
22
|
-
}
|
23
|
-
//# sourceMappingURL=glTFUtilities.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"glTFUtilities.js","sourceRoot":"","sources":["../../../../../../lts/loaders/generated/glTF/2.0/glTFUtilities.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,YAA0B;IAClE,QAAQ,YAAY,EAAE;QAClB;YACI,OAAO,CAAC,CAAC;QACb;YACI,OAAO,CAAC,CAAC;QACb;YACI,OAAO,CAAC,CAAC;QACb,uBAAuB;QACvB;YACI,OAAO,CAAC,CAAC;QACb;YACI,OAAO,CAAC,CAAC;QACb;YACI,OAAO,EAAE,CAAC;KACjB;AACL,CAAC","sourcesContent":["import { AccessorType } from \"babylonjs-gltf2interface\";\r\n\r\n/**\r\n * Used internally to determine how much data to be gather from input buffer at each key frame.\r\n * @param accessorType the accessor type\r\n * @returns the number of item to be gather at each keyframe\r\n */\r\nexport function getDataAccessorElementCount(accessorType: AccessorType) {\r\n switch (accessorType) {\r\n case AccessorType.SCALAR:\r\n return 1;\r\n case AccessorType.VEC2:\r\n return 2;\r\n case AccessorType.VEC3:\r\n return 3;\r\n case AccessorType.VEC4:\r\n case AccessorType.MAT2:\r\n return 4;\r\n case AccessorType.MAT3:\r\n return 9;\r\n case AccessorType.MAT4:\r\n return 16;\r\n }\r\n}\r\n"]}
|