UNPKG

@babylonjs/viewer

Version:

The Babylon Viewer aims to simplify a specific but common Babylon.js use case: loading, viewing, and interacting with a 3D model.

3 lines (2 loc) 23.7 kB
import{bR as e,M as t,V as r,bq as o,T as i,C as n,bs as a,u as s,v as g,bd as u,R as l,Q as c,aC as _,j as h}from"./index-yNtOWHHe.esm.min.js";a.AddNodeConstructor("Light_Type_2",((e,t)=>()=>new m(e,r.Zero(),r.Zero(),0,0,t)));class m extends e{get iesProfileTexture(){return this._iesProfileTexture}set iesProfileTexture(e){this._iesProfileTexture!==e&&(this._iesProfileTexture=e,this._iesProfileTexture&&m._IsTexture(this._iesProfileTexture)&&this._iesProfileTexture.onLoadObservable.addOnce((()=>{this._markMeshesAsLightDirty()})))}get angle(){return this._angle}set angle(e){this._angle=e,this._cosHalfAngle=Math.cos(.5*e),this._projectionTextureProjectionLightDirty=!0,this.forceProjectionMatrixCompute(),this._computeAngleValues()}get innerAngle(){return this._innerAngle}set innerAngle(e){this._innerAngle=e,this._computeAngleValues()}get shadowAngleScale(){return this._shadowAngleScale}set shadowAngleScale(e){this._shadowAngleScale=e,this.forceProjectionMatrixCompute()}get projectionTextureMatrix(){return this._projectionTextureMatrix}get projectionTextureLightNear(){return this._projectionTextureLightNear}set projectionTextureLightNear(e){this._projectionTextureLightNear=e,this._projectionTextureProjectionLightDirty=!0}get projectionTextureLightFar(){return this._projectionTextureLightFar}set projectionTextureLightFar(e){this._projectionTextureLightFar=e,this._projectionTextureProjectionLightDirty=!0}get projectionTextureUpDirection(){return this._projectionTextureUpDirection}set projectionTextureUpDirection(e){this._projectionTextureUpDirection=e,this._projectionTextureProjectionLightDirty=!0}get projectionTexture(){return this._projectionTexture}set projectionTexture(e){this._projectionTexture!==e&&(this._projectionTexture=e,this._projectionTextureDirty=!0,this._projectionTexture&&!this._projectionTexture.isReady()&&(m._IsProceduralTexture(this._projectionTexture)?this._projectionTexture.getEffect().executeWhenCompiled((()=>{this._markMeshesAsLightDirty()})):m._IsTexture(this._projectionTexture)&&this._projectionTexture.onLoadObservable.addOnce((()=>{this._markMeshesAsLightDirty()}))))}static _IsProceduralTexture(e){return void 0!==e.onGeneratedObservable}static _IsTexture(e){return void 0!==e.onLoadObservable}get projectionTextureProjectionLightMatrix(){return this._projectionTextureProjectionLightMatrix}set projectionTextureProjectionLightMatrix(e){this._projectionTextureProjectionLightMatrix=e,this._projectionTextureProjectionLightDirty=!1,this._projectionTextureDirty=!0}constructor(e,o,i,n,a,s){super(e,s),this._innerAngle=0,this._iesProfileTexture=null,this._projectionTextureMatrix=t.Zero(),this._projectionTextureLightNear=1e-6,this._projectionTextureLightFar=1e3,this._projectionTextureUpDirection=r.Up(),this._projectionTextureViewLightDirty=!0,this._projectionTextureProjectionLightDirty=!0,this._projectionTextureDirty=!0,this._projectionTextureViewTargetVector=r.Zero(),this._projectionTextureViewLightMatrix=t.Zero(),this._projectionTextureProjectionLightMatrix=t.Zero(),this._projectionTextureScalingMatrix=t.FromValues(.5,0,0,0,0,.5,0,0,0,0,.5,0,.5,.5,.5,1),this.position=o,this.direction=i,this.angle=n,this.exponent=a}getClassName(){return"SpotLight"}getTypeID(){return o.LIGHTTYPEID_SPOTLIGHT}_setDirection(e){super._setDirection(e),this._projectionTextureViewLightDirty=!0}_setPosition(e){super._setPosition(e),this._projectionTextureViewLightDirty=!0}_setDefaultShadowProjectionMatrix(e,r,o){const i=this.getScene().activeCamera;if(!i)return;this._shadowAngleScale=this._shadowAngleScale||1;const n=this._shadowAngleScale*this._angle,a=void 0!==this.shadowMinZ?this.shadowMinZ:i.minZ,s=void 0!==this.shadowMaxZ?this.shadowMaxZ:i.maxZ,g=this.getScene().getEngine().useReverseDepthBuffer;t.PerspectiveFovLHToRef(n,1,g?s:a,g?a:s,e,!0,this._scene.getEngine().isNDCHalfZRange,void 0,g)}_computeProjectionTextureViewLightMatrix(){this._projectionTextureViewLightDirty=!1,this._projectionTextureDirty=!0,this.getAbsolutePosition().addToRef(this.getShadowDirection(),this._projectionTextureViewTargetVector),t.LookAtLHToRef(this.getAbsolutePosition(),this._projectionTextureViewTargetVector,this._projectionTextureUpDirection,this._projectionTextureViewLightMatrix)}_computeProjectionTextureProjectionLightMatrix(){this._projectionTextureProjectionLightDirty=!1,this._projectionTextureDirty=!0;const e=this.projectionTextureLightFar,r=this.projectionTextureLightNear,o=e/(e-r),i=-o*r,n=1/Math.tan(this._angle/2);t.FromValuesToRef(n/1,0,0,0,0,n,0,0,0,0,o,1,0,0,i,0,this._projectionTextureProjectionLightMatrix)}_computeProjectionTextureMatrix(){if(this._projectionTextureDirty=!1,this._projectionTextureViewLightMatrix.multiplyToRef(this._projectionTextureProjectionLightMatrix,this._projectionTextureMatrix),this._projectionTexture instanceof i){const e=this._projectionTexture.uScale/2,r=this._projectionTexture.vScale/2;t.FromValuesToRef(e,0,0,0,0,r,0,0,0,0,.5,0,.5,.5,.5,1,this._projectionTextureScalingMatrix)}this._projectionTextureMatrix.multiplyToRef(this._projectionTextureScalingMatrix,this._projectionTextureMatrix)}_buildUniformLayout(){this._uniformBuffer.addUniform("vLightData",4),this._uniformBuffer.addUniform("vLightDiffuse",4),this._uniformBuffer.addUniform("vLightSpecular",4),this._uniformBuffer.addUniform("vLightDirection",3),this._uniformBuffer.addUniform("vLightFalloff",4),this._uniformBuffer.addUniform("shadowsInfo",3),this._uniformBuffer.addUniform("depthValues",2),this._uniformBuffer.create()}_computeAngleValues(){this._lightAngleScale=1/Math.max(.001,Math.cos(.5*this._innerAngle)-this._cosHalfAngle),this._lightAngleOffset=-this._cosHalfAngle*this._lightAngleScale}transferTexturesToEffect(e,t){return this.projectionTexture&&this.projectionTexture.isReady()&&(this._projectionTextureViewLightDirty&&this._computeProjectionTextureViewLightMatrix(),this._projectionTextureProjectionLightDirty&&this._computeProjectionTextureProjectionLightMatrix(),this._projectionTextureDirty&&this._computeProjectionTextureMatrix(),e.setMatrix("textureProjectionMatrix"+t,this._projectionTextureMatrix),e.setTexture("projectionLightTexture"+t,this.projectionTexture)),this._iesProfileTexture&&this._iesProfileTexture.isReady()&&e.setTexture("iesLightTexture"+t,this._iesProfileTexture),this}transferToEffect(e,t){let o;return this.computeTransformedInformation()?(this._uniformBuffer.updateFloat4("vLightData",this.transformedPosition.x,this.transformedPosition.y,this.transformedPosition.z,this.exponent,t),o=r.Normalize(this.transformedDirection)):(this._uniformBuffer.updateFloat4("vLightData",this.position.x,this.position.y,this.position.z,this.exponent,t),o=r.Normalize(this.direction)),this._uniformBuffer.updateFloat4("vLightDirection",o.x,o.y,o.z,this._cosHalfAngle,t),this._uniformBuffer.updateFloat4("vLightFalloff",this.range,this._inverseSquaredRange,this._lightAngleScale,this._lightAngleOffset,t),this}transferToNodeMaterialEffect(e,t){let o;return o=this.computeTransformedInformation()?r.Normalize(this.transformedDirection):r.Normalize(this.direction),this.getScene().useRightHandedSystem?e.setFloat3(t,-o.x,-o.y,-o.z):e.setFloat3(t,o.x,o.y,o.z),this}dispose(){super.dispose(),this._projectionTexture&&this._projectionTexture.dispose(),this._iesProfileTexture&&(this._iesProfileTexture.dispose(),this._iesProfileTexture=null)}getDepthMinZ(e){const t=this._scene.getEngine(),r=void 0!==this.shadowMinZ?this.shadowMinZ:e?.minZ??n.ShadowMinZ;return t.useReverseDepthBuffer&&t.isNDCHalfZRange?r:this._scene.getEngine().isNDCHalfZRange?0:r}getDepthMaxZ(e){const t=this._scene.getEngine(),r=void 0!==this.shadowMaxZ?this.shadowMaxZ:e?.maxZ??n.ShadowMaxZ;return t.useReverseDepthBuffer&&t.isNDCHalfZRange?0:r}prepareLightSpecificDefines(e,t){e["SPOTLIGHT"+t]=!0,e["PROJECTEDLIGHTTEXTURE"+t]=!(!this.projectionTexture||!this.projectionTexture.isReady()),e["IESLIGHTTEXTURE"+t]=!(!this._iesProfileTexture||!this._iesProfileTexture.isReady())}}s([g()],m.prototype,"angle",null),s([g()],m.prototype,"innerAngle",null),s([g()],m.prototype,"shadowAngleScale",null),s([g()],m.prototype,"exponent",void 0),s([g()],m.prototype,"projectionTextureLightNear",null),s([g()],m.prototype,"projectionTextureLightFar",null),s([g()],m.prototype,"projectionTextureUpDirection",null),s([u("projectedLightTexture")],m.prototype,"_projectionTexture",void 0),l("BABYLON.SpotLight",m);const p=[{regex:new RegExp("^/nodes/\\d+/extensions/")}];class y{constructor(e,t){this._gltf=e,this._infoTree=t}convert(e){let t,r=this._gltf,o=this._infoTree;if(!e.startsWith("/"))throw new Error("Path must start with a /");const i=e.split("/");if(i.shift(),i[i.length-1].includes(".length")){const e=i[i.length-1].split(".");i.pop(),i.push(...e)}let n=!1;for(const a of i){const i="length"===a;if(i&&!o.__array__)throw new Error(`Path ${e} is invalid`);if(o.__ignoreObjectTree__&&(n=!0),o.__array__&&!i)o=o.__array__;else if(o=o[a],!o)throw new Error(`Path ${e} is invalid`);if(!n)if(void 0===r){if(!p.find((t=>t.regex.test(e))))throw new Error(`Path ${e} is invalid`)}else i||(r=r?.[a]);(o.__target__||i)&&(t=r)}return{object:t,info:o}}}function T(e,t,r,o){const i=x(e);return o?i[r][o]:i[r]}function x(e,t,r){return e._data?.[r?.fillMode??n.MATERIAL_TriangleFillMode]?.babylonMaterial}function f(e,t){return{offset:{componentsCount:2,type:"Vector2",get:(r,o,i)=>{const n=T(r,0,e,t);return new _(n?.uOffset,n?.vOffset)},getTarget:x,set:(r,o,i,n)=>{const a=T(o,0,e,t);a.uOffset=r.x,a.vOffset=r.y},getPropertyName:[()=>`${e}${t?"."+t:""}.uOffset`,()=>`${e}${t?"."+t:""}.vOffset`]},rotation:{type:"number",get:(r,o,i)=>T(r,0,e,t)?.wAng,getTarget:x,set:(r,o,i,n)=>T(o,0,e,t).wAng=r,getPropertyName:[()=>`${e}${t?"."+t:""}.wAng`]},scale:{componentsCount:2,type:"Vector2",get:(r,o,i)=>{const n=T(r,0,e,t);return new _(n?.uScale,n?.vScale)},getTarget:x,set:(r,o,i,n)=>{const a=T(o,0,e,t);a.uScale=r.x,a.vScale=r.y},getPropertyName:[()=>`${e}${t?"."+t:""}.uScale`,()=>`${e}${t?"."+t:""}.vScale`]}}}const b={cameras:{__array__:{__target__:!0,orthographic:{xmag:{componentsCount:2,type:"Vector2",get:e=>new _(e._babylonCamera?.orthoLeft??0,e._babylonCamera?.orthoRight??0),set:(e,t)=>{t._babylonCamera&&(t._babylonCamera.orthoLeft=e.x,t._babylonCamera.orthoRight=e.y)},getTarget:e=>e,getPropertyName:[()=>"orthoLeft",()=>"orthoRight"]},ymag:{componentsCount:2,type:"Vector2",get:e=>new _(e._babylonCamera?.orthoBottom??0,e._babylonCamera?.orthoTop??0),set:(e,t)=>{t._babylonCamera&&(t._babylonCamera.orthoBottom=e.x,t._babylonCamera.orthoTop=e.y)},getTarget:e=>e,getPropertyName:[()=>"orthoBottom",()=>"orthoTop"]},zfar:{type:"number",get:e=>e._babylonCamera?.maxZ,set:(e,t)=>{t._babylonCamera&&(t._babylonCamera.maxZ=e)},getTarget:e=>e,getPropertyName:[()=>"maxZ"]},znear:{type:"number",get:e=>e._babylonCamera?.minZ,set:(e,t)=>{t._babylonCamera&&(t._babylonCamera.minZ=e)},getTarget:e=>e,getPropertyName:[()=>"minZ"]}},perspective:{aspectRatio:{type:"number",get:e=>e._babylonCamera?.getEngine().getAspectRatio(e._babylonCamera),getTarget:e=>e,getPropertyName:[()=>"aspectRatio"],isReadOnly:!0},yfov:{type:"number",get:e=>e._babylonCamera?.fov,set:(e,t)=>{t._babylonCamera&&(t._babylonCamera.fov=e)},getTarget:e=>e,getPropertyName:[()=>"fov"]},zfar:{type:"number",get:e=>e._babylonCamera?.maxZ,set:(e,t)=>{t._babylonCamera&&(t._babylonCamera.maxZ=e)},getTarget:e=>e,getPropertyName:[()=>"maxZ"]},znear:{type:"number",get:e=>e._babylonCamera?.minZ,set:(e,t)=>{t._babylonCamera&&(t._babylonCamera.minZ=e)},getTarget:e=>e,getPropertyName:[()=>"minZ"]}}}},nodes:{length:{type:"number",get:e=>e.length,getTarget:e=>e.map((e=>e._babylonTransformNode)),getPropertyName:[()=>"length"]},__array__:{__target__:!0,translation:{type:"Vector3",get:e=>e._babylonTransformNode?.position,set:(e,t)=>t._babylonTransformNode?.position.copyFrom(e),getTarget:e=>e._babylonTransformNode,getPropertyName:[()=>"position"]},rotation:{type:"Quaternion",get:e=>e._babylonTransformNode?.rotationQuaternion,set:(e,t)=>t._babylonTransformNode?.rotationQuaternion?.copyFrom(e),getTarget:e=>e._babylonTransformNode,getPropertyName:[()=>"rotationQuaternion"]},scale:{type:"Vector3",get:e=>e._babylonTransformNode?.scaling,set:(e,t)=>t._babylonTransformNode?.scaling.copyFrom(e),getTarget:e=>e._babylonTransformNode,getPropertyName:[()=>"scaling"]},weights:{length:{type:"number",get:e=>e._numMorphTargets,getTarget:e=>e._babylonTransformNode,getPropertyName:[()=>"influence"]},__array__:{__target__:!0,type:"number",get:(e,t)=>void 0!==t?e._primitiveBabylonMeshes?.[0].morphTargetManager?.getTarget(t).influence:void 0,getTarget:e=>e._babylonTransformNode,getPropertyName:[()=>"influence"]},type:"number[]",get:(e,t)=>[0],getTarget:e=>e._babylonTransformNode,getPropertyName:[()=>"influence"]},matrix:{type:"Matrix",get:e=>t.Compose(e._babylonTransformNode?.scaling,e._babylonTransformNode?.rotationQuaternion,e._babylonTransformNode?.position),getTarget:e=>e._babylonTransformNode,isReadOnly:!0},globalMatrix:{type:"Matrix",get:e=>{const r=t.Identity();let o=e.parent;for(;o&&o.parent;)o=o.parent;const i=e._babylonTransformNode?.position._isDirty||e._babylonTransformNode?.rotationQuaternion?._isDirty||e._babylonTransformNode?.scaling._isDirty;if(o){const t=o._babylonTransformNode?.computeWorldMatrix(!0).invert();t&&e._babylonTransformNode?.computeWorldMatrix(i)?.multiplyToRef(t,r)}else e._babylonTransformNode&&r.copyFrom(e._babylonTransformNode.computeWorldMatrix(i));return r},getTarget:e=>e._babylonTransformNode,isReadOnly:!0},extensions:{EXT_lights_ies:{multiplier:{type:"number",get:e=>e._babylonTransformNode?.getChildren((e=>e instanceof m),!0)[0]?.intensity,getTarget:e=>e._babylonTransformNode?.getChildren((e=>e instanceof m),!0)[0],set:(e,t)=>{if(t._babylonTransformNode){const r=t._babylonTransformNode.getChildren((e=>e instanceof m),!0)[0];r&&(r.intensity=e)}}},color:{type:"Color3",get:e=>e._babylonTransformNode?.getChildren((e=>e instanceof m),!0)[0]?.diffuse,getTarget:e=>e._babylonTransformNode?.getChildren((e=>e instanceof m),!0)[0],set:(e,t)=>{if(t._babylonTransformNode){const r=t._babylonTransformNode.getChildren((e=>e instanceof m),!0)[0];r&&(r.diffuse=e)}}}}}}},materials:{__array__:{__target__:!0,emissiveFactor:{type:"Color3",get:(e,t,r)=>x(e,t,r).emissiveColor,set:(e,t,r,o)=>x(t,r,o).emissiveColor.copyFrom(e),getTarget:(e,t,r)=>x(e,t,r),getPropertyName:[()=>"emissiveColor"]},emissiveTexture:{extensions:{KHR_texture_transform:f("emissiveTexture")}},normalTexture:{scale:{type:"number",get:(e,t,r)=>T(e,r,"bumpTexture")?.level,set:(e,t,r,o)=>{const i=T(t,o,"bumpTexture");i&&(i.level=e)},getTarget:(e,t,r)=>x(e,t,r),getPropertyName:[()=>"level"]},extensions:{KHR_texture_transform:f("bumpTexture")}},occlusionTexture:{strength:{type:"number",get:(e,t,r)=>x(e,t,r).ambientTextureStrength,set:(e,t,r,o)=>{const i=x(t,r,o);i&&(i.ambientTextureStrength=e)},getTarget:(e,t,r)=>x(e,t,r),getPropertyName:[()=>"ambientTextureStrength"]},extensions:{KHR_texture_transform:f("ambientTexture")}},pbrMetallicRoughness:{baseColorFactor:{type:"Color4",get:(e,t,r)=>{const o=x(e,t,r);return h.FromColor3(o.albedoColor,o.alpha)},set:(e,t,r,o)=>{const i=x(t,r,o);i.albedoColor.set(e.r,e.g,e.b),i.alpha=e.a},getTarget:(e,t,r)=>x(e,t,r),getPropertyName:[()=>"albedoColor",()=>"alpha"]},baseColorTexture:{extensions:{KHR_texture_transform:f("albedoTexture")}},metallicFactor:{type:"number",get:(e,t,r)=>x(e,t,r).metallic,set:(e,t,r,o)=>{const i=x(t,r,o);i&&(i.metallic=e)},getTarget:(e,t,r)=>x(e,t,r),getPropertyName:[()=>"metallic"]},roughnessFactor:{type:"number",get:(e,t,r)=>x(e,t,r).roughness,set:(e,t,r,o)=>{const i=x(t,r,o);i&&(i.roughness=e)},getTarget:(e,t,r)=>x(e,t,r),getPropertyName:[()=>"roughness"]},metallicRoughnessTexture:{extensions:{KHR_texture_transform:f("metallicTexture")}}},extensions:{KHR_materials_anisotropy:{anisotropyStrength:{type:"number",get:(e,t,r)=>x(e,t,r).anisotropy.intensity,set:(e,t,r,o)=>{x(t,r,o).anisotropy.intensity=e},getTarget:(e,t,r)=>x(e,t,r),getPropertyName:[()=>"anisotropy.intensity"]},anisotropyRotation:{type:"number",get:(e,t,r)=>x(e,t,r).anisotropy.angle,set:(e,t,r,o)=>{x(t,r,o).anisotropy.angle=e},getTarget:(e,t,r)=>x(e,t,r),getPropertyName:[()=>"anisotropy.angle"]},anisotropyTexture:{extensions:{KHR_texture_transform:f("anisotropy","texture")}}},KHR_materials_clearcoat:{clearcoatFactor:{type:"number",get:(e,t,r)=>x(e,t,r).clearCoat.intensity,set:(e,t,r,o)=>{x(t,r,o).clearCoat.intensity=e},getTarget:(e,t,r)=>x(e,t,r),getPropertyName:[()=>"clearCoat.intensity"]},clearcoatRoughnessFactor:{type:"number",get:(e,t,r)=>x(e,t,r).clearCoat.roughness,set:(e,t,r,o)=>{x(t,r,o).clearCoat.roughness=e},getTarget:(e,t,r)=>x(e,t,r),getPropertyName:[()=>"clearCoat.roughness"]},clearcoatTexture:{extensions:{KHR_texture_transform:f("clearCoat","texture")}},clearcoatNormalTexture:{scale:{type:"number",get:(e,t,r)=>x(e,t,r).clearCoat.bumpTexture?.level,getTarget:x,set:(e,t,r,o)=>x(t,r,o).clearCoat.bumpTexture.level=e},extensions:{KHR_texture_transform:f("clearCoat","bumpTexture")}},clearcoatRoughnessTexture:{extensions:{KHR_texture_transform:f("clearCoat","textureRoughness")}}},KHR_materials_dispersion:{dispersion:{type:"number",get:(e,t,r)=>x(e,t,r).subSurface.dispersion,getTarget:x,set:(e,t,r,o)=>x(t,r,o).subSurface.dispersion=e}},KHR_materials_emissive_strength:{emissiveStrength:{type:"number",get:(e,t,r)=>x(e,t,r).emissiveIntensity,getTarget:x,set:(e,t,r,o)=>x(t,r,o).emissiveIntensity=e}},KHR_materials_ior:{ior:{type:"number",get:(e,t,r)=>x(e,t,r).indexOfRefraction,getTarget:x,set:(e,t,r,o)=>x(t,r,o).indexOfRefraction=e}},KHR_materials_iridescence:{iridescenceFactor:{type:"number",get:(e,t,r)=>x(e,t,r).iridescence.intensity,getTarget:x,set:(e,t,r,o)=>x(t,r,o).iridescence.intensity=e},iridescenceIor:{type:"number",get:(e,t,r)=>x(e,t,r).iridescence.indexOfRefraction,getTarget:x,set:(e,t,r,o)=>x(t,r,o).iridescence.indexOfRefraction=e},iridescenceTexture:{extensions:{KHR_texture_transform:f("iridescence","texture")}},iridescenceThicknessMaximum:{type:"number",get:(e,t,r)=>x(e,t,r).iridescence.maximumThickness,getTarget:x,set:(e,t,r,o)=>x(t,r,o).iridescence.maximumThickness=e},iridescenceThicknessMinimum:{type:"number",get:(e,t,r)=>x(e,t,r).iridescence.minimumThickness,getTarget:x,set:(e,t,r,o)=>x(t,r,o).iridescence.minimumThickness=e},iridescenceThicknessTexture:{extensions:{KHR_texture_transform:f("iridescence","thicknessTexture")}}},KHR_materials_sheen:{sheenColorFactor:{type:"Color3",get:(e,t,r)=>x(e,t,r).sheen.color,getTarget:x,set:(e,t,r,o)=>x(t,r,o).sheen.color.copyFrom(e)},sheenColorTexture:{extensions:{KHR_texture_transform:f("sheen","texture")}},sheenRoughnessFactor:{type:"number",get:(e,t,r)=>x(e,t,r).sheen.intensity,getTarget:x,set:(e,t,r,o)=>x(t,r,o).sheen.intensity=e},sheenRoughnessTexture:{extensions:{KHR_texture_transform:f("sheen","thicknessTexture")}}},KHR_materials_specular:{specularFactor:{type:"number",get:(e,t,r)=>x(e,t,r).metallicF0Factor,getTarget:x,set:(e,t,r,o)=>x(t,r,o).metallicF0Factor=e,getPropertyName:[()=>"metallicF0Factor"]},specularColorFactor:{type:"Color3",get:(e,t,r)=>x(e,t,r).metallicReflectanceColor,getTarget:x,set:(e,t,r,o)=>x(t,r,o).metallicReflectanceColor.copyFrom(e),getPropertyName:[()=>"metallicReflectanceColor"]},specularTexture:{extensions:{KHR_texture_transform:f("metallicReflectanceTexture")}},specularColorTexture:{extensions:{KHR_texture_transform:f("reflectanceTexture")}}},KHR_materials_transmission:{transmissionFactor:{type:"number",get:(e,t,r)=>x(e,t,r).subSurface.refractionIntensity,getTarget:x,set:(e,t,r,o)=>x(t,r,o).subSurface.refractionIntensity=e,getPropertyName:[()=>"subSurface.refractionIntensity"]},transmissionTexture:{extensions:{KHR_texture_transform:f("subSurface","refractionIntensityTexture")}}},KHR_materials_diffuse_transmission:{diffuseTransmissionFactor:{type:"number",get:(e,t,r)=>x(e,t,r).subSurface.translucencyIntensity,getTarget:x,set:(e,t,r,o)=>x(t,r,o).subSurface.translucencyIntensity=e},diffuseTransmissionTexture:{extensions:{KHR_texture_transform:f("subSurface","translucencyIntensityTexture")}},diffuseTransmissionColorFactor:{type:"Color3",get:(e,t,r)=>x(e,t,r).subSurface.translucencyColor,getTarget:x,set:(e,t,r,o)=>e&&x(t,r,o).subSurface.translucencyColor?.copyFrom(e)},diffuseTransmissionColorTexture:{extensions:{KHR_texture_transform:f("subSurface","translucencyColorTexture")}}},KHR_materials_volume:{attenuationColor:{type:"Color3",get:(e,t,r)=>x(e,t,r).subSurface.tintColor,getTarget:x,set:(e,t,r,o)=>x(t,r,o).subSurface.tintColor.copyFrom(e)},attenuationDistance:{type:"number",get:(e,t,r)=>x(e,t,r).subSurface.tintColorAtDistance,getTarget:x,set:(e,t,r,o)=>x(t,r,o).subSurface.tintColorAtDistance=e},thicknessFactor:{type:"number",get:(e,t,r)=>x(e,t,r).subSurface.maximumThickness,getTarget:x,set:(e,t,r,o)=>x(t,r,o).subSurface.maximumThickness=e},thicknessTexture:{extensions:{KHR_texture_transform:f("subSurface","thicknessTexture")}}}}}},extensions:{KHR_lights_punctual:{lights:{length:{type:"number",get:e=>e.length,getTarget:e=>e.map((e=>e._babylonLight)),getPropertyName:[e=>"length"]},__array__:{__target__:!0,color:{type:"Color3",get:e=>e._babylonLight?.diffuse,set:(e,t)=>t._babylonLight?.diffuse.copyFrom(e),getTarget:e=>e._babylonLight,getPropertyName:[e=>"diffuse"]},intensity:{type:"number",get:e=>e._babylonLight?.intensity,set:(e,t)=>t._babylonLight?t._babylonLight.intensity=e:void 0,getTarget:e=>e._babylonLight,getPropertyName:[e=>"intensity"]},range:{type:"number",get:e=>e._babylonLight?.range,set:(e,t)=>t._babylonLight?t._babylonLight.range=e:void 0,getTarget:e=>e._babylonLight,getPropertyName:[e=>"range"]},spot:{innerConeAngle:{type:"number",get:e=>e._babylonLight?.innerAngle,set:(e,t)=>t._babylonLight?t._babylonLight.innerAngle=e:void 0,getTarget:e=>e._babylonLight,getPropertyName:[e=>"innerConeAngle"]},outerConeAngle:{type:"number",get:e=>e._babylonLight?.angle,set:(e,t)=>t._babylonLight?t._babylonLight.angle=e:void 0,getTarget:e=>e._babylonLight,getPropertyName:[e=>"outerConeAngle"]}}}}},EXT_lights_ies:{lights:{length:{type:"number",get:e=>e.length,getTarget:e=>e.map((e=>e._babylonLight)),getPropertyName:[e=>"length"]}}},EXT_lights_image_based:{lights:{length:{type:"number",get:e=>e.length,getTarget:e=>e.map((e=>e._babylonTexture)),getPropertyName:[e=>"length"]},__array__:{__target__:!0,intensity:{type:"number",get:e=>e._babylonTexture?.level,set:(e,t)=>{t._babylonTexture&&(t._babylonTexture.level=e)},getTarget:e=>e._babylonTexture},rotation:{type:"Quaternion",get:e=>e._babylonTexture&&c.FromRotationMatrix(e._babylonTexture?.getReflectionTextureMatrix()),set:(e,r)=>{r._babylonTexture&&(r._babylonTexture.getScene()?.useRightHandedSystem||(e=c.Inverse(e)),t.FromQuaternionToRef(e,r._babylonTexture.getReflectionTextureMatrix()))},getTarget:e=>e._babylonTexture}}}}},animations:{length:{type:"number",get:e=>e.length,getTarget:e=>e.map((e=>e._babylonAnimationGroup)),getPropertyName:[()=>"length"]},__array__:{}},meshes:{length:{type:"number",get:e=>e.length,getTarget:e=>e.map((e=>e.primitives[0]._instanceData?.babylonSourceMesh)),getPropertyName:[()=>"length"]},__array__:{}}};function d(e){return new y(e,b)}function j(e){const t=e.split("/").map((e=>e.replace(/{}/g,"__array__")));let r=b;for(const e of t)e&&(r=r[e]);if(r&&r.type&&r.get)return r}function P(e,t){const r=e.split("/").map((e=>e.replace(/{}/g,"__array__")));let o=b;for(const e of r)e&&(o=o[e]);o&&o.type&&o.get&&(o.interpolation=t)}function C(e,t){const r=e.split("/").map((e=>e.replace(/{}/g,"__array__")));let o=b;for(const e of r)if(e){if(!o[e]){if("?"===e){o.__ignoreObjectTree__=!0;continue}o[e]={},"__array__"===e&&(o[e].__target__=!0)}o=o[e]}Object.assign(o,t)}export{C as A,j as G,P as S,d as a,m as b}; //# sourceMappingURL=objectModelMapping-DJGnHmCN.esm.min.js.map