@babylonjs/loaders 5.25.0 → 5.26.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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"]}
|