Optionalaccessors
accessors?: {
bufferView?: number;
byteOffset?: number;
componentType: number;
count: number;
type: string;
}[]
Optionalanimations
animations?: {
channels: {
sampler: number;
target: {
node?: number;
path: "scale" | "translation" | "rotation" | "weights";
};
}[];
name?: string;
samplers: {
input: number;
interpolation?: "LINEAR"
| "STEP"
| "CUBICSPLINE";
output: number;
}[];
}[]
Optionalasset
asset?: { generator?: string; version?: string; [key: string]: unknown }
Optionalbuffers
buffers?: { uri?: string }[]
OptionalbufferViews
bufferViews?: { buffer: number; byteLength: number; byteOffset?: number }[]
Optionalextensions
extensions?: {
KHR_lights_punctual?: {
lights: {
color?: number[];
intensity?: number;
name?: string;
range?: number;
type: "point" | "directional" | "spot";
}[];
};
KHR_materials_variants?: { variants?: { name: string }[] };
[key: string]: unknown;
}
OptionalextensionsRequired
extensionsRequired?: string[]
OptionalextensionsUsed
extensionsUsed?: string[]
Optionalimages
images?: {
bufferView?: number;
extensions?: { [key: string]: unknown };
mimeType?: string;
uri?: string;
}[]
Optionalmaterials
materials?: {
alphaCutoff?: number;
alphaMode?: "OPAQUE" | "MASK" | "BLEND";
doubleSided?: boolean;
emissiveFactor?: number[];
emissiveTexture?: { index: number };
extensions?: {
KHR_materials_clearcoat?: {
clearcoatFactor?: number;
clearcoatNormalTexture?: { index: number; scale?: number };
clearcoatRoughnessFactor?: number;
clearcoatRoughnessTexture?: { index: number };
clearcoatTexture?: { index: number };
};
KHR_materials_emissive_strength?: { emissiveStrength?: number };
KHR_materials_ior?: { ior?: number };
KHR_materials_sheen?: {
sheenColorFactor?: number[];
sheenColorTexture?: { index: number };
sheenRoughnessFactor?: number;
sheenRoughnessTexture?: { index: number };
};
KHR_materials_transmission?: {
transmissionFactor?: number;
transmissionTexture?: { index: number };
};
KHR_materials_volume?: {
attenuationColor?: number[];
attenuationDistance?: number;
thicknessFactor?: number;
thicknessTexture?: { index: number };
};
[key: string]: unknown;
};
normalTexture?: { index: number; scale?: number };
occlusionTexture?: { index: number; strength?: number };
pbrMetallicRoughness?: {
baseColorFactor?: number[];
baseColorTexture?: { index: number };
metallicFactor?: number;
metallicRoughnessTexture?: { index: number };
roughnessFactor?: number;
};
}[]
Optionalmeshes
meshes?: {
name?: string;
primitives: {
attributes: { [key: string]: number };
extensions?: {
KHR_draco_mesh_compression?: {
attributes: { [name: string]: number };
bufferView: number;
};
KHR_materials_variants?: { mappings?: (...)[] };
[key: string]: unknown;
};
indices?: number;
material?: number;
}[];
}[]
Optionalnodes
nodes?: {
children?: number[];
extensions?: {
KHR_lights_punctual?: { light: number };
SW_prefab_instance?: { source: string };
SW_stage_zone?: {
displayName?: string;
points: { scale?: number; u: number; v: number }[];
};
[key: string]: unknown;
};
matrix?: number[];
mesh?: number;
name?: string;
rotation?: number[];
scale?: number[];
skin?: number;
translation?: number[];
}[]
Optionalscene
scene?: number
Optionalscenes
scenes?: { nodes?: number[] }[]
Optionalskins
skins?: {
inverseBindMatrices?: number;
joints: number[];
name?: string;
skeleton?: number;
}[]
Optionaltextures
textures?: {
extensions?: {
KHR_texture_basisu?: { source: number };
[key: string]: unknown;
};
sampler?: number;
source?: number;
}[]
Root-level
extensions