three-stdlib 2.22.10 → 2.23.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/dist/_polyfill/CompressedArrayTexture.cjs +12 -0
- package/dist/_polyfill/CompressedArrayTexture.js +6 -6
- package/dist/_polyfill/Data3DTexture.cjs +17 -0
- package/dist/_polyfill/Data3DTexture.js +8 -8
- package/dist/animation/{AnimationClipCreator.mjs → AnimationClipCreator.cjs} +18 -18
- package/dist/animation/AnimationClipCreator.js +18 -18
- package/dist/animation/{CCDIKSolver.mjs → CCDIKSolver.cjs} +32 -32
- package/dist/animation/CCDIKSolver.js +32 -32
- package/dist/animation/{MMDAnimationHelper.mjs → MMDAnimationHelper.cjs} +17 -17
- package/dist/animation/MMDAnimationHelper.js +17 -17
- package/dist/animation/{MMDPhysics.mjs → MMDPhysics.cjs} +25 -25
- package/dist/animation/MMDPhysics.js +25 -25
- package/dist/cameras/{CinematicCamera.mjs → CinematicCamera.cjs} +17 -17
- package/dist/cameras/CinematicCamera.js +17 -17
- package/dist/controls/{ArcballControls.mjs → ArcballControls.cjs} +102 -102
- package/dist/controls/ArcballControls.js +102 -102
- package/dist/controls/{DeviceOrientationControls.mjs → DeviceOrientationControls.cjs} +14 -14
- package/dist/controls/DeviceOrientationControls.js +14 -14
- package/dist/controls/{DragControls.mjs → DragControls.cjs} +12 -12
- package/dist/controls/DragControls.js +12 -12
- package/dist/controls/{FirstPersonControls.mjs → FirstPersonControls.cjs} +16 -16
- package/dist/controls/FirstPersonControls.js +16 -16
- package/dist/controls/{FlyControls.mjs → FlyControls.cjs} +10 -10
- package/dist/controls/FlyControls.js +10 -10
- package/dist/controls/{OrbitControls.mjs → OrbitControls.cjs} +52 -54
- package/dist/controls/OrbitControls.d.ts +4 -4
- package/dist/controls/OrbitControls.js +52 -54
- package/dist/controls/{PointerLockControls.mjs → PointerLockControls.cjs} +8 -8
- package/dist/controls/PointerLockControls.js +8 -8
- package/dist/controls/{TrackballControls.mjs → TrackballControls.cjs} +32 -32
- package/dist/controls/TrackballControls.d.ts +2 -2
- package/dist/controls/TrackballControls.js +32 -32
- package/dist/controls/{TransformControls.mjs → TransformControls.cjs} +169 -169
- package/dist/controls/TransformControls.js +169 -169
- package/dist/controls/experimental/{CameraControls.mjs → CameraControls.cjs} +59 -59
- package/dist/controls/experimental/CameraControls.js +59 -59
- package/dist/csm/{CSM.mjs → CSM.cjs} +17 -17
- package/dist/csm/CSM.js +17 -17
- package/dist/csm/{CSMFrustum.mjs → CSMFrustum.cjs} +7 -7
- package/dist/csm/CSMFrustum.js +7 -7
- package/dist/csm/{CSMHelper.mjs → CSMHelper.cjs} +14 -14
- package/dist/csm/CSMHelper.js +14 -14
- package/dist/csm/{CSMShader.mjs → CSMShader.cjs} +5 -5
- package/dist/csm/CSMShader.js +5 -5
- package/dist/curves/{CurveExtras.mjs → CurveExtras.cjs} +45 -45
- package/dist/curves/CurveExtras.js +45 -45
- package/dist/curves/{NURBSCurve.mjs → NURBSCurve.cjs} +11 -11
- package/dist/curves/NURBSCurve.js +11 -11
- package/dist/curves/{NURBSSurface.mjs → NURBSSurface.cjs} +7 -7
- package/dist/curves/NURBSSurface.js +7 -7
- package/dist/curves/{NURBSUtils.mjs → NURBSUtils.cjs} +17 -17
- package/dist/curves/NURBSUtils.js +17 -17
- package/dist/deprecated/{Geometry.mjs → Geometry.cjs} +51 -51
- package/dist/deprecated/Geometry.js +51 -51
- package/dist/effects/{AnaglyphEffect.mjs → AnaglyphEffect.cjs} +14 -14
- package/dist/effects/AnaglyphEffect.js +14 -14
- package/dist/effects/{AsciiEffect.mjs → AsciiEffect.cjs} +3 -3
- package/dist/effects/AsciiEffect.js +3 -3
- package/dist/effects/{OutlineEffect.mjs → OutlineEffect.cjs} +8 -8
- package/dist/effects/OutlineEffect.js +8 -8
- package/dist/effects/{ParallaxBarrierEffect.mjs → ParallaxBarrierEffect.cjs} +12 -12
- package/dist/effects/ParallaxBarrierEffect.js +12 -12
- package/dist/effects/{PeppersGhostEffect.mjs → PeppersGhostEffect.cjs} +11 -11
- package/dist/effects/PeppersGhostEffect.js +11 -11
- package/dist/effects/{StereoEffect.mjs → StereoEffect.cjs} +6 -6
- package/dist/effects/StereoEffect.js +6 -6
- package/dist/environments/RoomEnvironment.cjs +95 -0
- package/dist/environments/RoomEnvironment.js +23 -40
- package/dist/exporters/{ColladaExporter.mjs → ColladaExporter.cjs} +16 -16
- package/dist/exporters/ColladaExporter.js +16 -16
- package/dist/exporters/{DRACOExporter.mjs → DRACOExporter.cjs} +8 -8
- package/dist/exporters/DRACOExporter.js +8 -8
- package/dist/exporters/{GLTFExporter.mjs → GLTFExporter.cjs} +52 -49
- package/dist/exporters/GLTFExporter.js +52 -49
- package/dist/exporters/{MMDExporter.mjs → MMDExporter.cjs} +10 -10
- package/dist/exporters/MMDExporter.js +10 -10
- package/dist/exporters/{OBJExporter.mjs → OBJExporter.cjs} +13 -13
- package/dist/exporters/OBJExporter.js +13 -13
- package/dist/exporters/{PLYExporter.mjs → PLYExporter.cjs} +8 -8
- package/dist/exporters/PLYExporter.js +8 -8
- package/dist/exporters/{STLExporter.mjs → STLExporter.cjs} +12 -12
- package/dist/exporters/STLExporter.js +12 -12
- package/dist/exporters/{USDZExporter.mjs → USDZExporter.cjs} +10 -10
- package/dist/exporters/USDZExporter.js +10 -10
- package/dist/geometries/{BoxLineGeometry.mjs → BoxLineGeometry.cjs} +6 -6
- package/dist/geometries/BoxLineGeometry.js +6 -6
- package/dist/geometries/ConvexGeometry.cjs +26 -0
- package/dist/geometries/ConvexGeometry.js +9 -9
- package/dist/geometries/{DecalGeometry.mjs → DecalGeometry.cjs} +16 -16
- package/dist/geometries/DecalGeometry.js +16 -16
- package/dist/geometries/{LightningStrike.mjs → LightningStrike.cjs} +45 -45
- package/dist/geometries/LightningStrike.js +45 -45
- package/dist/geometries/{ParametricGeometries.mjs → ParametricGeometries.cjs} +11 -11
- package/dist/geometries/ParametricGeometries.js +11 -11
- package/dist/geometries/{ParametricGeometry.mjs → ParametricGeometry.cjs} +11 -11
- package/dist/geometries/ParametricGeometry.js +11 -11
- package/dist/geometries/{RoundedBoxGeometry.mjs → RoundedBoxGeometry.cjs} +10 -10
- package/dist/geometries/RoundedBoxGeometry.js +10 -10
- package/dist/geometries/{TeapotGeometry.mjs → TeapotGeometry.cjs} +21 -21
- package/dist/geometries/TeapotGeometry.js +21 -21
- package/dist/geometries/{TextGeometry.mjs → TextGeometry.cjs} +6 -6
- package/dist/geometries/TextGeometry.js +6 -6
- package/dist/helpers/{LightProbeHelper.mjs → LightProbeHelper.cjs} +7 -7
- package/dist/helpers/LightProbeHelper.js +7 -7
- package/dist/helpers/{PositionalAudioHelper.mjs → PositionalAudioHelper.cjs} +11 -11
- package/dist/helpers/PositionalAudioHelper.js +11 -11
- package/dist/helpers/{RectAreaLightHelper.mjs → RectAreaLightHelper.cjs} +11 -11
- package/dist/helpers/RectAreaLightHelper.js +11 -11
- package/dist/helpers/{VertexNormalsHelper.mjs → VertexNormalsHelper.cjs} +11 -11
- package/dist/helpers/VertexNormalsHelper.js +11 -11
- package/dist/helpers/{VertexTangentsHelper.mjs → VertexTangentsHelper.cjs} +10 -10
- package/dist/helpers/VertexTangentsHelper.js +10 -10
- package/dist/index.cjs +613 -0
- package/dist/index.js +613 -613
- package/dist/interactive/{HTMLMesh.mjs → HTMLMesh.cjs} +11 -11
- package/dist/interactive/HTMLMesh.js +11 -11
- package/dist/interactive/{InteractiveGroup.mjs → InteractiveGroup.cjs} +8 -8
- package/dist/interactive/InteractiveGroup.js +8 -8
- package/dist/interactive/{SelectionBox.mjs → SelectionBox.cjs} +21 -21
- package/dist/interactive/SelectionBox.js +21 -21
- package/dist/interactive/{SelectionHelper.mjs → SelectionHelper.cjs} +7 -7
- package/dist/interactive/SelectionHelper.js +7 -7
- package/dist/libs/{MeshoptDecoder.mjs → MeshoptDecoder.cjs} +3 -3
- package/dist/libs/MeshoptDecoder.js +3 -3
- package/dist/libs/{MotionControllers.mjs → MotionControllers.cjs} +6 -6
- package/dist/libs/MotionControllers.js +6 -6
- package/dist/lights/{LightProbeGenerator.mjs → LightProbeGenerator.cjs} +16 -16
- package/dist/lights/LightProbeGenerator.js +16 -16
- package/dist/lights/{RectAreaLightUniformsLib.mjs → RectAreaLightUniformsLib.cjs} +42 -42
- package/dist/lights/RectAreaLightUniformsLib.js +42 -42
- package/dist/lines/Line2.cjs +13 -0
- package/dist/lines/Line2.js +8 -8
- package/dist/lines/{LineGeometry.mjs → LineGeometry.cjs} +5 -5
- package/dist/lines/LineGeometry.js +5 -5
- package/dist/lines/{LineMaterial.mjs → LineMaterial.cjs} +10 -10
- package/dist/lines/LineMaterial.js +10 -10
- package/dist/lines/{LineSegments2.mjs → LineSegments2.cjs} +28 -28
- package/dist/lines/LineSegments2.js +28 -28
- package/dist/lines/{LineSegmentsGeometry.mjs → LineSegmentsGeometry.cjs} +18 -18
- package/dist/lines/LineSegmentsGeometry.js +18 -18
- package/dist/lines/Wireframe.cjs +32 -0
- package/dist/lines/Wireframe.js +13 -13
- package/dist/lines/WireframeGeometry2.cjs +13 -0
- package/dist/lines/WireframeGeometry2.js +7 -7
- package/dist/loaders/{3DMLoader.mjs → 3DMLoader.cjs} +37 -37
- package/dist/loaders/3DMLoader.js +37 -37
- package/dist/loaders/{3MFLoader.mjs → 3MFLoader.cjs} +53 -53
- package/dist/loaders/3MFLoader.js +53 -53
- package/dist/loaders/{AMFLoader.mjs → AMFLoader.cjs} +19 -19
- package/dist/loaders/AMFLoader.js +19 -19
- package/dist/loaders/{AssimpLoader.mjs → AssimpLoader.cjs} +41 -41
- package/dist/loaders/AssimpLoader.js +41 -41
- package/dist/loaders/{BVHLoader.mjs → BVHLoader.cjs} +18 -18
- package/dist/loaders/BVHLoader.js +18 -18
- package/dist/loaders/{BasisTextureLoader.mjs → BasisTextureLoader.cjs} +22 -22
- package/dist/loaders/BasisTextureLoader.js +22 -22
- package/dist/loaders/{ColladaLoader.mjs → ColladaLoader.cjs} +76 -76
- package/dist/loaders/ColladaLoader.js +76 -76
- package/dist/loaders/{DDSLoader.mjs → DDSLoader.cjs} +10 -10
- package/dist/loaders/DDSLoader.js +10 -10
- package/dist/loaders/{DRACOLoader.mjs → DRACOLoader.cjs} +12 -12
- package/dist/loaders/DRACOLoader.js +12 -12
- package/dist/loaders/{EXRLoader.mjs → EXRLoader.cjs} +23 -23
- package/dist/loaders/EXRLoader.js +23 -23
- package/dist/loaders/{FBXLoader.mjs → FBXLoader.cjs} +116 -116
- package/dist/loaders/FBXLoader.js +116 -116
- package/dist/loaders/{FontLoader.mjs → FontLoader.cjs} +9 -9
- package/dist/loaders/FontLoader.js +9 -9
- package/dist/loaders/{GCodeLoader.mjs → GCodeLoader.cjs} +13 -13
- package/dist/loaders/GCodeLoader.js +13 -13
- package/dist/loaders/{GLTFLoader.mjs → GLTFLoader.cjs} +112 -112
- package/dist/loaders/GLTFLoader.js +112 -112
- package/dist/loaders/{HDRCubeTextureLoader.mjs → HDRCubeTextureLoader.cjs} +15 -15
- package/dist/loaders/HDRCubeTextureLoader.js +15 -15
- package/dist/loaders/{KMZLoader.mjs → KMZLoader.cjs} +13 -13
- package/dist/loaders/KMZLoader.js +13 -13
- package/dist/loaders/{KTX2Loader.mjs → KTX2Loader.cjs} +65 -65
- package/dist/loaders/KTX2Loader.js +65 -65
- package/dist/loaders/{KTXLoader.mjs → KTXLoader.cjs} +5 -5
- package/dist/loaders/KTXLoader.js +5 -5
- package/dist/loaders/{LDrawLoader.mjs → LDrawLoader.cjs} +39 -39
- package/dist/loaders/LDrawLoader.js +39 -39
- package/dist/loaders/{LUT3dlLoader.mjs → LUT3dlLoader.cjs} +22 -22
- package/dist/loaders/LUT3dlLoader.js +22 -22
- package/dist/loaders/{LUTCubeLoader.mjs → LUTCubeLoader.cjs} +22 -22
- package/dist/loaders/LUTCubeLoader.js +22 -22
- package/dist/loaders/{LWOLoader.mjs → LWOLoader.cjs} +42 -42
- package/dist/loaders/LWOLoader.js +42 -42
- package/dist/loaders/{LottieLoader.mjs → LottieLoader.cjs} +8 -8
- package/dist/loaders/LottieLoader.js +8 -8
- package/dist/loaders/{MD2Loader.mjs → MD2Loader.cjs} +15 -15
- package/dist/loaders/MD2Loader.js +15 -15
- package/dist/loaders/{MDDLoader.mjs → MDDLoader.cjs} +9 -9
- package/dist/loaders/MDDLoader.js +9 -9
- package/dist/loaders/{MMDLoader.mjs → MMDLoader.cjs} +59 -59
- package/dist/loaders/MMDLoader.js +59 -59
- package/dist/loaders/{MTLLoader.mjs → MTLLoader.cjs} +17 -17
- package/dist/loaders/MTLLoader.js +17 -17
- package/dist/loaders/{NRRDLoader.mjs → NRRDLoader.cjs} +17 -17
- package/dist/loaders/NRRDLoader.js +17 -17
- package/dist/loaders/{OBJLoader.mjs → OBJLoader.cjs} +37 -37
- package/dist/loaders/OBJLoader.js +37 -37
- package/dist/loaders/{PCDLoader.mjs → PCDLoader.cjs} +13 -13
- package/dist/loaders/PCDLoader.js +13 -13
- package/dist/loaders/{PDBLoader.mjs → PDBLoader.cjs} +11 -11
- package/dist/loaders/PDBLoader.js +11 -11
- package/dist/loaders/{PLYLoader.mjs → PLYLoader.cjs} +13 -13
- package/dist/loaders/PLYLoader.js +13 -13
- package/dist/loaders/{PRWMLoader.mjs → PRWMLoader.cjs} +9 -9
- package/dist/loaders/PRWMLoader.js +9 -9
- package/dist/loaders/{PVRLoader.mjs → PVRLoader.cjs} +11 -11
- package/dist/loaders/PVRLoader.js +11 -11
- package/dist/loaders/{RGBELoader.mjs → RGBELoader.cjs} +18 -18
- package/dist/loaders/RGBELoader.js +18 -18
- package/dist/loaders/{RGBMLoader.mjs → RGBMLoader.cjs} +16 -16
- package/dist/loaders/RGBMLoader.js +16 -16
- package/dist/loaders/{STLLoader.mjs → STLLoader.cjs} +15 -15
- package/dist/loaders/STLLoader.js +15 -15
- package/dist/loaders/{SVGLoader.mjs → SVGLoader.cjs} +55 -55
- package/dist/loaders/SVGLoader.js +55 -55
- package/dist/loaders/{TDSLoader.mjs → TDSLoader.cjs} +20 -20
- package/dist/loaders/TDSLoader.js +20 -20
- package/dist/loaders/{TGALoader.mjs → TGALoader.cjs} +6 -6
- package/dist/loaders/TGALoader.js +6 -6
- package/dist/loaders/{TTFLoader.mjs → TTFLoader.cjs} +9 -9
- package/dist/loaders/TTFLoader.js +9 -9
- package/dist/loaders/{TiltLoader.mjs → TiltLoader.cjs} +26 -26
- package/dist/loaders/TiltLoader.js +26 -26
- package/dist/loaders/{VOXLoader.mjs → VOXLoader.cjs} +18 -18
- package/dist/loaders/VOXLoader.js +18 -18
- package/dist/loaders/{VRMLLoader.mjs → VRMLLoader.cjs} +125 -125
- package/dist/loaders/VRMLLoader.js +125 -125
- package/dist/loaders/{VRMLoader.mjs → VRMLoader.cjs} +7 -7
- package/dist/loaders/VRMLoader.js +7 -7
- package/dist/loaders/{VTKLoader.mjs → VTKLoader.cjs} +24 -24
- package/dist/loaders/VTKLoader.js +24 -24
- package/dist/loaders/{XLoader.mjs → XLoader.cjs} +42 -42
- package/dist/loaders/XLoader.js +42 -42
- package/dist/loaders/{XYZLoader.mjs → XYZLoader.cjs} +9 -9
- package/dist/loaders/XYZLoader.js +9 -9
- package/dist/loaders/lwo/{IFFParser.mjs → IFFParser.cjs} +7 -7
- package/dist/loaders/lwo/IFFParser.js +7 -7
- package/dist/loaders/lwo/{LWO2Parser.mjs → LWO2Parser.cjs} +3 -3
- package/dist/loaders/lwo/LWO2Parser.js +3 -3
- package/dist/loaders/lwo/{LWO3Parser.mjs → LWO3Parser.cjs} +3 -3
- package/dist/loaders/lwo/LWO3Parser.js +3 -3
- package/dist/math/{Capsule.mjs → Capsule.cjs} +8 -8
- package/dist/math/Capsule.js +8 -8
- package/dist/math/{ColorConverter.mjs → ColorConverter.cjs} +7 -7
- package/dist/math/ColorConverter.js +7 -7
- package/dist/math/{ConvexHull.mjs → ConvexHull.cjs} +18 -18
- package/dist/math/ConvexHull.js +18 -18
- package/dist/math/{ImprovedNoise.mjs → ImprovedNoise.cjs} +3 -3
- package/dist/math/ImprovedNoise.js +3 -3
- package/dist/math/{Lut.mjs → Lut.cjs} +14 -14
- package/dist/math/Lut.js +14 -14
- package/dist/math/{MeshSurfaceSampler.mjs → MeshSurfaceSampler.cjs} +6 -6
- package/dist/math/MeshSurfaceSampler.js +6 -6
- package/dist/math/{OBB.mjs → OBB.cjs} +21 -21
- package/dist/math/OBB.js +21 -21
- package/dist/math/{Octree.mjs → Octree.cjs} +19 -19
- package/dist/math/Octree.js +19 -19
- package/dist/math/{SimplexNoise.mjs → SimplexNoise.cjs} +3 -3
- package/dist/math/SimplexNoise.js +3 -3
- package/dist/misc/{ConvexObjectBreaker.mjs → ConvexObjectBreaker.cjs} +25 -25
- package/dist/misc/ConvexObjectBreaker.js +25 -25
- package/dist/misc/{GPUComputationRenderer.mjs → GPUComputationRenderer.cjs} +19 -19
- package/dist/misc/GPUComputationRenderer.js +19 -19
- package/dist/misc/{Gyroscope.mjs → Gyroscope.cjs} +11 -11
- package/dist/misc/Gyroscope.js +11 -11
- package/dist/misc/{MD2Character.mjs → MD2Character.cjs} +14 -14
- package/dist/misc/MD2Character.js +14 -14
- package/dist/misc/{MD2CharacterComplex.mjs → MD2CharacterComplex.cjs} +20 -20
- package/dist/misc/MD2CharacterComplex.js +20 -20
- package/dist/misc/{MorphAnimMesh.mjs → MorphAnimMesh.cjs} +8 -8
- package/dist/misc/MorphAnimMesh.js +8 -8
- package/dist/misc/{MorphBlendMesh.mjs → MorphBlendMesh.cjs} +6 -6
- package/dist/misc/MorphBlendMesh.js +6 -6
- package/dist/misc/{ProgressiveLightmap.mjs → ProgressiveLightmap.cjs} +17 -17
- package/dist/misc/ProgressiveLightmap.js +17 -17
- package/dist/misc/{RollerCoaster.mjs → RollerCoaster.cjs} +77 -77
- package/dist/misc/RollerCoaster.js +77 -77
- package/dist/misc/{Timer.mjs → Timer.cjs} +3 -3
- package/dist/misc/Timer.js +3 -3
- package/dist/misc/{TubePainter.mjs → TubePainter.cjs} +24 -24
- package/dist/misc/TubePainter.js +24 -24
- package/dist/misc/{Volume.mjs → Volume.cjs} +18 -18
- package/dist/misc/Volume.js +18 -18
- package/dist/misc/{VolumeSlice.mjs → VolumeSlice.cjs} +10 -10
- package/dist/misc/VolumeSlice.js +10 -10
- package/dist/misc/{WebGL.mjs → WebGL.cjs} +7 -7
- package/dist/misc/WebGL.js +7 -7
- package/dist/modifiers/{CurveModifier.mjs → CurveModifier.cjs} +17 -17
- package/dist/modifiers/CurveModifier.js +17 -17
- package/dist/modifiers/{EdgeSplitModifier.mjs → EdgeSplitModifier.cjs} +12 -13
- package/dist/modifiers/EdgeSplitModifier.js +13 -12
- package/dist/modifiers/{SimplifyModifier.mjs → SimplifyModifier.cjs} +12 -12
- package/dist/modifiers/SimplifyModifier.js +12 -12
- package/dist/modifiers/{TessellateModifier.mjs → TessellateModifier.cjs} +30 -30
- package/dist/modifiers/TessellateModifier.js +30 -30
- package/dist/objects/{GroundProjectedEnv.mjs → GroundProjectedEnv.cjs} +8 -8
- package/dist/objects/GroundProjectedEnv.js +8 -8
- package/dist/objects/{Lensflare.mjs → Lensflare.cjs} +37 -37
- package/dist/objects/Lensflare.js +37 -37
- package/dist/objects/{LightningStorm.mjs → LightningStorm.cjs} +17 -17
- package/dist/objects/LightningStorm.js +17 -17
- package/dist/objects/{MarchingCubes.mjs → MarchingCubes.cjs} +21 -21
- package/dist/objects/MarchingCubes.js +21 -21
- package/dist/objects/{Reflector.mjs → Reflector.cjs} +23 -23
- package/dist/objects/Reflector.js +23 -23
- package/dist/objects/{ReflectorForSSRPass.mjs → ReflectorForSSRPass.cjs} +33 -33
- package/dist/objects/ReflectorForSSRPass.js +33 -33
- package/dist/objects/ReflectorRTT.cjs +10 -0
- package/dist/objects/ReflectorRTT.js +5 -5
- package/dist/objects/{Refractor.mjs → Refractor.cjs} +26 -26
- package/dist/objects/Refractor.js +26 -26
- package/dist/objects/{ShadowMesh.mjs → ShadowMesh.cjs} +9 -9
- package/dist/objects/ShadowMesh.js +9 -9
- package/dist/objects/{Sky.mjs → Sky.cjs} +11 -11
- package/dist/objects/Sky.js +11 -11
- package/dist/objects/{Water.mjs → Water.cjs} +33 -33
- package/dist/objects/Water.js +33 -33
- package/dist/objects/{Water2.mjs → Water2.cjs} +20 -20
- package/dist/objects/Water2.js +20 -20
- package/dist/physics/{AmmoPhysics.mjs → AmmoPhysics.cjs} +3 -3
- package/dist/physics/AmmoPhysics.js +3 -3
- package/dist/postprocessing/{AdaptiveToneMappingPass.mjs → AdaptiveToneMappingPass.cjs} +32 -32
- package/dist/postprocessing/AdaptiveToneMappingPass.js +32 -32
- package/dist/postprocessing/{AfterimagePass.mjs → AfterimagePass.cjs} +21 -21
- package/dist/postprocessing/AfterimagePass.js +21 -21
- package/dist/postprocessing/{BloomPass.mjs → BloomPass.cjs} +20 -20
- package/dist/postprocessing/BloomPass.js +20 -20
- package/dist/postprocessing/{BokehPass.mjs → BokehPass.cjs} +19 -19
- package/dist/postprocessing/BokehPass.js +19 -19
- package/dist/postprocessing/{ClearPass.mjs → ClearPass.cjs} +7 -7
- package/dist/postprocessing/ClearPass.js +7 -7
- package/dist/postprocessing/{CubeTexturePass.mjs → CubeTexturePass.cjs} +14 -14
- package/dist/postprocessing/CubeTexturePass.js +14 -14
- package/dist/postprocessing/{DotScreenPass.mjs → DotScreenPass.cjs} +12 -12
- package/dist/postprocessing/DotScreenPass.js +12 -12
- package/dist/postprocessing/{EffectComposer.mjs → EffectComposer.cjs} +20 -20
- package/dist/postprocessing/EffectComposer.js +20 -20
- package/dist/postprocessing/{FilmPass.mjs → FilmPass.cjs} +12 -12
- package/dist/postprocessing/FilmPass.js +12 -12
- package/dist/postprocessing/{GlitchPass.mjs → GlitchPass.cjs} +26 -26
- package/dist/postprocessing/GlitchPass.js +26 -26
- package/dist/postprocessing/{HalftonePass.mjs → HalftonePass.cjs} +13 -13
- package/dist/postprocessing/HalftonePass.js +13 -13
- package/dist/postprocessing/{LUTPass.mjs → LUTPass.cjs} +5 -5
- package/dist/postprocessing/LUTPass.js +5 -5
- package/dist/postprocessing/{MaskPass.mjs → MaskPass.cjs} +7 -7
- package/dist/postprocessing/MaskPass.js +7 -7
- package/dist/postprocessing/{OutlinePass.mjs → OutlinePass.cjs} +45 -45
- package/dist/postprocessing/OutlinePass.js +45 -45
- package/dist/postprocessing/{Pass.mjs → Pass.cjs} +8 -8
- package/dist/postprocessing/Pass.js +8 -8
- package/dist/postprocessing/{RenderPass.mjs → RenderPass.cjs} +7 -7
- package/dist/postprocessing/RenderPass.js +7 -7
- package/dist/postprocessing/{RenderPixelatedPass.mjs → RenderPixelatedPass.cjs} +18 -18
- package/dist/postprocessing/RenderPixelatedPass.js +18 -18
- package/dist/postprocessing/{SAOPass.mjs → SAOPass.cjs} +69 -69
- package/dist/postprocessing/SAOPass.js +69 -69
- package/dist/postprocessing/{SMAAPass.mjs → SMAAPass.cjs} +30 -30
- package/dist/postprocessing/SMAAPass.js +30 -30
- package/dist/postprocessing/{SSAARenderPass.mjs → SSAARenderPass.cjs} +19 -19
- package/dist/postprocessing/SSAARenderPass.js +19 -19
- package/dist/postprocessing/{SSAOPass.mjs → SSAOPass.cjs} +63 -63
- package/dist/postprocessing/SSAOPass.js +63 -63
- package/dist/postprocessing/{SSRPass.mjs → SSRPass.cjs} +86 -86
- package/dist/postprocessing/SSRPass.js +86 -86
- package/dist/postprocessing/{SavePass.mjs → SavePass.cjs} +13 -13
- package/dist/postprocessing/SavePass.js +13 -13
- package/dist/postprocessing/{ShaderPass.mjs → ShaderPass.cjs} +10 -10
- package/dist/postprocessing/ShaderPass.js +10 -10
- package/dist/postprocessing/{TAARenderPass.mjs → TAARenderPass.cjs} +8 -8
- package/dist/postprocessing/TAARenderPass.js +8 -8
- package/dist/postprocessing/{TexturePass.mjs → TexturePass.cjs} +11 -11
- package/dist/postprocessing/TexturePass.js +11 -11
- package/dist/postprocessing/{UnrealBloomPass.mjs → UnrealBloomPass.cjs} +36 -36
- package/dist/postprocessing/UnrealBloomPass.js +36 -36
- package/dist/postprocessing/{WaterPass.mjs → WaterPass.cjs} +10 -10
- package/dist/postprocessing/WaterPass.js +10 -10
- package/dist/renderers/{CSS2DRenderer.mjs → CSS2DRenderer.cjs} +12 -12
- package/dist/renderers/CSS2DRenderer.js +12 -12
- package/dist/renderers/{CSS3DRenderer.mjs → CSS3DRenderer.cjs} +12 -12
- package/dist/renderers/CSS3DRenderer.js +12 -12
- package/dist/renderers/{Projector.mjs → Projector.cjs} +21 -21
- package/dist/renderers/Projector.js +21 -21
- package/dist/renderers/{SVGRenderer.mjs → SVGRenderer.cjs} +12 -12
- package/dist/renderers/SVGRenderer.js +12 -12
- package/dist/shaders/{ACESFilmicToneMappingShader.mjs → ACESFilmicToneMappingShader.cjs} +3 -3
- package/dist/shaders/ACESFilmicToneMappingShader.js +3 -3
- package/dist/shaders/{AfterimageShader.mjs → AfterimageShader.cjs} +3 -3
- package/dist/shaders/AfterimageShader.js +3 -3
- package/dist/shaders/{BasicShader.mjs → BasicShader.cjs} +3 -3
- package/dist/shaders/BasicShader.js +3 -3
- package/dist/shaders/{BleachBypassShader.mjs → BleachBypassShader.cjs} +3 -3
- package/dist/shaders/BleachBypassShader.js +3 -3
- package/dist/shaders/{BlendShader.mjs → BlendShader.cjs} +3 -3
- package/dist/shaders/BlendShader.js +3 -3
- package/dist/shaders/{BokehShader.mjs → BokehShader.cjs} +3 -3
- package/dist/shaders/BokehShader.js +3 -3
- package/dist/shaders/{BokehShader2.mjs → BokehShader2.cjs} +6 -6
- package/dist/shaders/BokehShader2.js +6 -6
- package/dist/shaders/{BrightnessContrastShader.mjs → BrightnessContrastShader.cjs} +3 -3
- package/dist/shaders/BrightnessContrastShader.js +3 -3
- package/dist/shaders/{ColorCorrectionShader.mjs → ColorCorrectionShader.cjs} +7 -7
- package/dist/shaders/ColorCorrectionShader.js +7 -7
- package/dist/shaders/{ColorifyShader.mjs → ColorifyShader.cjs} +5 -5
- package/dist/shaders/ColorifyShader.js +5 -5
- package/dist/shaders/{ConvolutionShader.mjs → ConvolutionShader.cjs} +5 -5
- package/dist/shaders/ConvolutionShader.js +5 -5
- package/dist/shaders/{CopyShader.mjs → CopyShader.cjs} +3 -3
- package/dist/shaders/CopyShader.js +3 -3
- package/dist/shaders/{DOFMipMapShader.mjs → DOFMipMapShader.cjs} +3 -3
- package/dist/shaders/DOFMipMapShader.js +3 -3
- package/dist/shaders/{DepthLimitedBlurShader.mjs → DepthLimitedBlurShader.cjs} +7 -7
- package/dist/shaders/DepthLimitedBlurShader.js +7 -7
- package/dist/shaders/{DigitalGlitch.mjs → DigitalGlitch.cjs} +3 -3
- package/dist/shaders/DigitalGlitch.js +3 -3
- package/dist/shaders/{DotScreenShader.mjs → DotScreenShader.cjs} +6 -6
- package/dist/shaders/DotScreenShader.js +6 -6
- package/dist/shaders/{FXAAShader.mjs → FXAAShader.cjs} +5 -5
- package/dist/shaders/FXAAShader.js +5 -5
- package/dist/shaders/{FilmShader.mjs → FilmShader.cjs} +3 -3
- package/dist/shaders/FilmShader.js +3 -3
- package/dist/shaders/{FocusShader.mjs → FocusShader.cjs} +3 -3
- package/dist/shaders/FocusShader.js +3 -3
- package/dist/shaders/{FreiChenShader.mjs → FreiChenShader.cjs} +5 -5
- package/dist/shaders/FreiChenShader.js +5 -5
- package/dist/shaders/{FresnelShader.mjs → FresnelShader.cjs} +3 -3
- package/dist/shaders/FresnelShader.js +3 -3
- package/dist/shaders/{GammaCorrectionShader.mjs → GammaCorrectionShader.cjs} +3 -3
- package/dist/shaders/GammaCorrectionShader.js +3 -3
- package/dist/shaders/{GodRaysShader.mjs → GodRaysShader.cjs} +11 -11
- package/dist/shaders/GodRaysShader.js +11 -11
- package/dist/shaders/{HalftoneShader.mjs → HalftoneShader.cjs} +3 -3
- package/dist/shaders/HalftoneShader.js +3 -3
- package/dist/shaders/{HorizontalBlurShader.mjs → HorizontalBlurShader.cjs} +3 -3
- package/dist/shaders/HorizontalBlurShader.js +3 -3
- package/dist/shaders/{HorizontalTiltShiftShader.mjs → HorizontalTiltShiftShader.cjs} +3 -3
- package/dist/shaders/HorizontalTiltShiftShader.js +3 -3
- package/dist/shaders/{HueSaturationShader.mjs → HueSaturationShader.cjs} +3 -3
- package/dist/shaders/HueSaturationShader.js +3 -3
- package/dist/shaders/{KaleidoShader.mjs → KaleidoShader.cjs} +3 -3
- package/dist/shaders/KaleidoShader.js +3 -3
- package/dist/shaders/{LuminosityHighPassShader.mjs → LuminosityHighPassShader.cjs} +5 -5
- package/dist/shaders/LuminosityHighPassShader.js +5 -5
- package/dist/shaders/{LuminosityShader.mjs → LuminosityShader.cjs} +3 -3
- package/dist/shaders/LuminosityShader.js +3 -3
- package/dist/shaders/{MirrorShader.mjs → MirrorShader.cjs} +3 -3
- package/dist/shaders/MirrorShader.js +3 -3
- package/dist/shaders/{NormalMapShader.mjs → NormalMapShader.cjs} +6 -6
- package/dist/shaders/NormalMapShader.js +6 -6
- package/dist/shaders/{ParallaxShader.mjs → ParallaxShader.cjs} +3 -3
- package/dist/shaders/ParallaxShader.js +3 -3
- package/dist/shaders/{PixelShader.mjs → PixelShader.cjs} +3 -3
- package/dist/shaders/PixelShader.js +3 -3
- package/dist/shaders/{RGBShiftShader.mjs → RGBShiftShader.cjs} +3 -3
- package/dist/shaders/RGBShiftShader.js +3 -3
- package/dist/shaders/{SAOShader.mjs → SAOShader.cjs} +7 -7
- package/dist/shaders/SAOShader.js +7 -7
- package/dist/shaders/{SMAAShader.mjs → SMAAShader.cjs} +9 -9
- package/dist/shaders/SMAAShader.js +9 -9
- package/dist/shaders/{SSAOShader.mjs → SSAOShader.cjs} +10 -10
- package/dist/shaders/SSAOShader.js +10 -10
- package/dist/shaders/{SSRShader.mjs → SSRShader.cjs} +10 -10
- package/dist/shaders/SSRShader.js +10 -10
- package/dist/shaders/{SepiaShader.mjs → SepiaShader.cjs} +3 -3
- package/dist/shaders/SepiaShader.js +3 -3
- package/dist/shaders/{SobelOperatorShader.mjs → SobelOperatorShader.cjs} +5 -5
- package/dist/shaders/SobelOperatorShader.js +5 -5
- package/dist/shaders/{SubsurfaceScatteringShader.mjs → SubsurfaceScatteringShader.cjs} +13 -13
- package/dist/shaders/SubsurfaceScatteringShader.js +13 -13
- package/dist/shaders/{TechnicolorShader.mjs → TechnicolorShader.cjs} +3 -3
- package/dist/shaders/TechnicolorShader.js +3 -3
- package/dist/shaders/{ToneMapShader.mjs → ToneMapShader.cjs} +3 -3
- package/dist/shaders/ToneMapShader.js +3 -3
- package/dist/shaders/{ToonShader.mjs → ToonShader.cjs} +32 -32
- package/dist/shaders/ToonShader.js +32 -32
- package/dist/shaders/{TriangleBlurShader.mjs → TriangleBlurShader.cjs} +5 -5
- package/dist/shaders/TriangleBlurShader.js +5 -5
- package/dist/shaders/{UnpackDepthRGBAShader.mjs → UnpackDepthRGBAShader.cjs} +3 -3
- package/dist/shaders/UnpackDepthRGBAShader.js +3 -3
- package/dist/shaders/{VerticalBlurShader.mjs → VerticalBlurShader.cjs} +3 -3
- package/dist/shaders/VerticalBlurShader.js +3 -3
- package/dist/shaders/{VerticalTiltShiftShader.mjs → VerticalTiltShiftShader.cjs} +3 -3
- package/dist/shaders/VerticalTiltShiftShader.js +3 -3
- package/dist/shaders/{VignetteShader.mjs → VignetteShader.cjs} +3 -3
- package/dist/shaders/VignetteShader.js +3 -3
- package/dist/shaders/{VolumeShader.mjs → VolumeShader.cjs} +6 -6
- package/dist/shaders/VolumeShader.js +6 -6
- package/dist/shaders/{WaterRefractionShader.mjs → WaterRefractionShader.cjs} +3 -3
- package/dist/shaders/WaterRefractionShader.js +3 -3
- package/dist/shaders/types.cjs +1 -0
- package/dist/shaders/types.js +1 -1
- package/dist/textures/{FlakesTexture.mjs → FlakesTexture.cjs} +3 -3
- package/dist/textures/FlakesTexture.js +3 -3
- package/dist/types/Loader.cjs +26 -0
- package/dist/types/Loader.js +5 -22
- package/dist/types/helpers.cjs +4 -0
- package/dist/types/helpers.js +3 -3
- package/dist/utils/{BufferGeometryUtils.mjs → BufferGeometryUtils.cjs} +41 -41
- package/dist/utils/BufferGeometryUtils.js +41 -41
- package/dist/utils/{GeometryCompressionUtils.mjs → GeometryCompressionUtils.cjs} +94 -94
- package/dist/utils/GeometryCompressionUtils.js +94 -94
- package/dist/utils/{GeometryUtils.mjs → GeometryUtils.cjs} +18 -18
- package/dist/utils/GeometryUtils.js +18 -18
- package/dist/utils/{RoughnessMipmapper.mjs → RoughnessMipmapper.cjs} +13 -13
- package/dist/utils/RoughnessMipmapper.js +13 -13
- package/dist/utils/{SceneUtils.mjs → SceneUtils.cjs} +8 -8
- package/dist/utils/SceneUtils.js +8 -8
- package/dist/utils/{ShadowMapViewer.mjs → ShadowMapViewer.cjs} +18 -18
- package/dist/utils/ShadowMapViewer.js +18 -18
- package/dist/utils/{SkeletonUtils.mjs → SkeletonUtils.cjs} +10 -10
- package/dist/utils/SkeletonUtils.js +10 -10
- package/dist/utils/{UVsDebug.mjs → UVsDebug.cjs} +7 -7
- package/dist/utils/UVsDebug.js +7 -7
- package/dist/utils/{WorkerPool.mjs → WorkerPool.cjs} +3 -3
- package/dist/utils/WorkerPool.js +3 -3
- package/dist/webxr/{ARButton.mjs → ARButton.cjs} +3 -3
- package/dist/webxr/ARButton.js +3 -3
- package/dist/webxr/{OculusHandModel.mjs → OculusHandModel.cjs} +9 -9
- package/dist/webxr/OculusHandModel.js +9 -9
- package/dist/webxr/{OculusHandPointerModel.mjs → OculusHandPointerModel.cjs} +41 -24
- package/dist/webxr/OculusHandPointerModel.js +24 -41
- package/dist/webxr/Text2D.cjs +48 -0
- package/dist/webxr/Text2D.js +9 -26
- package/dist/webxr/{VRButton.mjs → VRButton.cjs} +3 -3
- package/dist/webxr/VRButton.js +3 -3
- package/dist/webxr/{XRControllerModelFactory.mjs → XRControllerModelFactory.cjs} +18 -18
- package/dist/webxr/XRControllerModelFactory.js +18 -18
- package/dist/webxr/{XREstimatedLight.mjs → XREstimatedLight.cjs} +8 -8
- package/dist/webxr/XREstimatedLight.js +8 -8
- package/dist/webxr/{XRHandMeshModel.mjs → XRHandMeshModel.cjs} +5 -5
- package/dist/webxr/XRHandMeshModel.js +5 -5
- package/dist/webxr/{XRHandModelFactory.mjs → XRHandModelFactory.cjs} +10 -10
- package/dist/webxr/XRHandModelFactory.js +10 -10
- package/dist/webxr/{XRHandPrimitiveModel.mjs → XRHandPrimitiveModel.cjs} +11 -11
- package/dist/webxr/XRHandPrimitiveModel.js +11 -11
- package/package.json +3 -3
- package/dist/_polyfill/CompressedArrayTexture.mjs +0 -12
- package/dist/_polyfill/Data3DTexture.mjs +0 -17
- package/dist/environments/RoomEnvironment.mjs +0 -78
- package/dist/geometries/ConvexGeometry.mjs +0 -26
- package/dist/index.mjs +0 -613
- package/dist/lines/Line2.mjs +0 -13
- package/dist/lines/Wireframe.mjs +0 -32
- package/dist/lines/WireframeGeometry2.mjs +0 -13
- package/dist/objects/ReflectorRTT.mjs +0 -10
- package/dist/shaders/types.mjs +0 -1
- package/dist/types/Loader.mjs +0 -9
- package/dist/types/helpers.mjs +0 -4
- package/dist/webxr/Text2D.mjs +0 -31
|
@@ -1,19 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const fflate = require("fflate");
|
|
5
|
-
const NURBSCurve = require("../curves/NURBSCurve.js");
|
|
1
|
+
import { Loader, LoaderUtils, FileLoader, TextureLoader, RepeatWrapping, ClampToEdgeWrapping, Texture, MeshPhongMaterial, MeshLambertMaterial, Color, EquirectangularReflectionMapping, Matrix4, Group, Bone, PropertyBinding, Object3D, OrthographicCamera, PerspectiveCamera, PointLight, MathUtils, SpotLight, DirectionalLight, SkinnedMesh, Mesh, LineBasicMaterial, Line, Vector3, Skeleton, AmbientLight, BufferGeometry, Float32BufferAttribute, Uint16BufferAttribute, Matrix3, Vector4, AnimationClip, Quaternion, Euler, VectorKeyframeTrack, QuaternionKeyframeTrack, NumberKeyframeTrack } from "three";
|
|
2
|
+
import { unzlibSync } from "fflate";
|
|
3
|
+
import { NURBSCurve } from "../curves/NURBSCurve.js";
|
|
6
4
|
let fbxTree;
|
|
7
5
|
let connections;
|
|
8
6
|
let sceneGraph;
|
|
9
|
-
class FBXLoader extends
|
|
7
|
+
class FBXLoader extends Loader {
|
|
10
8
|
constructor(manager) {
|
|
11
9
|
super(manager);
|
|
12
10
|
}
|
|
13
11
|
load(url, onLoad, onProgress, onError) {
|
|
14
12
|
const scope = this;
|
|
15
|
-
const path = scope.path === "" ?
|
|
16
|
-
const loader = new
|
|
13
|
+
const path = scope.path === "" ? LoaderUtils.extractUrlBase(url) : scope.path;
|
|
14
|
+
const loader = new FileLoader(this.manager);
|
|
17
15
|
loader.setPath(scope.path);
|
|
18
16
|
loader.setResponseType("arraybuffer");
|
|
19
17
|
loader.setRequestHeader(scope.requestHeader);
|
|
@@ -49,7 +47,7 @@ class FBXLoader extends THREE.Loader {
|
|
|
49
47
|
}
|
|
50
48
|
fbxTree = new TextParser().parse(FBXText);
|
|
51
49
|
}
|
|
52
|
-
const textureLoader = new
|
|
50
|
+
const textureLoader = new TextureLoader(this.manager).setPath(this.resourcePath || path).setCrossOrigin(this.crossOrigin);
|
|
53
51
|
return new FBXTreeParser(textureLoader, this.manager).parse(fbxTree);
|
|
54
52
|
}
|
|
55
53
|
}
|
|
@@ -189,8 +187,8 @@ class FBXTreeParser {
|
|
|
189
187
|
const wrapModeV = textureNode.WrapModeV;
|
|
190
188
|
const valueU = wrapModeU !== void 0 ? wrapModeU.value : 0;
|
|
191
189
|
const valueV = wrapModeV !== void 0 ? wrapModeV.value : 0;
|
|
192
|
-
texture.wrapS = valueU === 0 ?
|
|
193
|
-
texture.wrapT = valueV === 0 ?
|
|
190
|
+
texture.wrapS = valueU === 0 ? RepeatWrapping : ClampToEdgeWrapping;
|
|
191
|
+
texture.wrapT = valueV === 0 ? RepeatWrapping : ClampToEdgeWrapping;
|
|
194
192
|
if ("Scaling" in textureNode) {
|
|
195
193
|
const values = textureNode.Scaling.value;
|
|
196
194
|
texture.repeat.x = values[0];
|
|
@@ -215,7 +213,7 @@ class FBXTreeParser {
|
|
|
215
213
|
const loader = this.manager.getHandler(".tga");
|
|
216
214
|
if (loader === null) {
|
|
217
215
|
console.warn("FBXLoader: TGA loader not found, creating placeholder texture for", textureNode.RelativeFilename);
|
|
218
|
-
texture = new
|
|
216
|
+
texture = new Texture();
|
|
219
217
|
} else {
|
|
220
218
|
loader.setPath(this.textureLoader.path);
|
|
221
219
|
texture = loader.load(fileName);
|
|
@@ -225,7 +223,7 @@ class FBXTreeParser {
|
|
|
225
223
|
"FBXLoader: PSD textures are not supported, creating placeholder texture for",
|
|
226
224
|
textureNode.RelativeFilename
|
|
227
225
|
);
|
|
228
|
-
texture = new
|
|
226
|
+
texture = new Texture();
|
|
229
227
|
} else {
|
|
230
228
|
texture = this.textureLoader.load(fileName);
|
|
231
229
|
}
|
|
@@ -261,14 +259,14 @@ class FBXTreeParser {
|
|
|
261
259
|
let material;
|
|
262
260
|
switch (type.toLowerCase()) {
|
|
263
261
|
case "phong":
|
|
264
|
-
material = new
|
|
262
|
+
material = new MeshPhongMaterial();
|
|
265
263
|
break;
|
|
266
264
|
case "lambert":
|
|
267
|
-
material = new
|
|
265
|
+
material = new MeshLambertMaterial();
|
|
268
266
|
break;
|
|
269
267
|
default:
|
|
270
268
|
console.warn('THREE.FBXLoader: unknown material type "%s". Defaulting to MeshPhongMaterial.', type);
|
|
271
|
-
material = new
|
|
269
|
+
material = new MeshPhongMaterial();
|
|
272
270
|
break;
|
|
273
271
|
}
|
|
274
272
|
material.setValues(parameters);
|
|
@@ -283,17 +281,17 @@ class FBXTreeParser {
|
|
|
283
281
|
parameters.bumpScale = materialNode.BumpFactor.value;
|
|
284
282
|
}
|
|
285
283
|
if (materialNode.Diffuse) {
|
|
286
|
-
parameters.color = new
|
|
284
|
+
parameters.color = new Color().fromArray(materialNode.Diffuse.value);
|
|
287
285
|
} else if (materialNode.DiffuseColor && (materialNode.DiffuseColor.type === "Color" || materialNode.DiffuseColor.type === "ColorRGB")) {
|
|
288
|
-
parameters.color = new
|
|
286
|
+
parameters.color = new Color().fromArray(materialNode.DiffuseColor.value);
|
|
289
287
|
}
|
|
290
288
|
if (materialNode.DisplacementFactor) {
|
|
291
289
|
parameters.displacementScale = materialNode.DisplacementFactor.value;
|
|
292
290
|
}
|
|
293
291
|
if (materialNode.Emissive) {
|
|
294
|
-
parameters.emissive = new
|
|
292
|
+
parameters.emissive = new Color().fromArray(materialNode.Emissive.value);
|
|
295
293
|
} else if (materialNode.EmissiveColor && (materialNode.EmissiveColor.type === "Color" || materialNode.EmissiveColor.type === "ColorRGB")) {
|
|
296
|
-
parameters.emissive = new
|
|
294
|
+
parameters.emissive = new Color().fromArray(materialNode.EmissiveColor.value);
|
|
297
295
|
}
|
|
298
296
|
if (materialNode.EmissiveFactor) {
|
|
299
297
|
parameters.emissiveIntensity = parseFloat(materialNode.EmissiveFactor.value);
|
|
@@ -311,9 +309,9 @@ class FBXTreeParser {
|
|
|
311
309
|
parameters.shininess = materialNode.Shininess.value;
|
|
312
310
|
}
|
|
313
311
|
if (materialNode.Specular) {
|
|
314
|
-
parameters.specular = new
|
|
312
|
+
parameters.specular = new Color().fromArray(materialNode.Specular.value);
|
|
315
313
|
} else if (materialNode.SpecularColor && materialNode.SpecularColor.type === "Color") {
|
|
316
|
-
parameters.specular = new
|
|
314
|
+
parameters.specular = new Color().fromArray(materialNode.SpecularColor.value);
|
|
317
315
|
}
|
|
318
316
|
const scope = this;
|
|
319
317
|
connections.get(ID).children.forEach(function(child) {
|
|
@@ -354,7 +352,7 @@ class FBXTreeParser {
|
|
|
354
352
|
case "ReflectionColor":
|
|
355
353
|
parameters.envMap = scope.getTexture(textureMap, child.ID);
|
|
356
354
|
if (parameters.envMap !== void 0) {
|
|
357
|
-
parameters.envMap.mapping =
|
|
355
|
+
parameters.envMap.mapping = EquirectangularReflectionMapping;
|
|
358
356
|
if ("colorSpace" in parameters.envMap)
|
|
359
357
|
parameters.envMap.colorSpace = "srgb";
|
|
360
358
|
else
|
|
@@ -444,7 +442,7 @@ class FBXTreeParser {
|
|
|
444
442
|
ID: child.ID,
|
|
445
443
|
indices: [],
|
|
446
444
|
weights: [],
|
|
447
|
-
transformLink: new
|
|
445
|
+
transformLink: new Matrix4().fromArray(boneNode.TransformLink.a)
|
|
448
446
|
// transform: new Matrix4().fromArray( boneNode.Transform.a ),
|
|
449
447
|
// linkMode: boneNode.Mode,
|
|
450
448
|
};
|
|
@@ -482,7 +480,7 @@ class FBXTreeParser {
|
|
|
482
480
|
}
|
|
483
481
|
// create the main Group() to be returned by the loader
|
|
484
482
|
parseScene(deformers, geometryMap, materialMap) {
|
|
485
|
-
sceneGraph = new
|
|
483
|
+
sceneGraph = new Group();
|
|
486
484
|
const modelMap = this.parseModels(deformers.skeletons, geometryMap, materialMap);
|
|
487
485
|
const modelNodes = fbxTree.Objects.Model;
|
|
488
486
|
const scope = this;
|
|
@@ -544,14 +542,14 @@ class FBXTreeParser {
|
|
|
544
542
|
break;
|
|
545
543
|
case "LimbNode":
|
|
546
544
|
case "Root":
|
|
547
|
-
model = new
|
|
545
|
+
model = new Bone();
|
|
548
546
|
break;
|
|
549
547
|
case "Null":
|
|
550
548
|
default:
|
|
551
|
-
model = new
|
|
549
|
+
model = new Group();
|
|
552
550
|
break;
|
|
553
551
|
}
|
|
554
|
-
model.name = node.attrName ?
|
|
552
|
+
model.name = node.attrName ? PropertyBinding.sanitizeNodeName(node.attrName) : "";
|
|
555
553
|
model.ID = id;
|
|
556
554
|
}
|
|
557
555
|
this.getTransformData(model, node);
|
|
@@ -567,9 +565,9 @@ class FBXTreeParser {
|
|
|
567
565
|
skeleton.rawBones.forEach(function(rawBone, i) {
|
|
568
566
|
if (rawBone.ID === parent.ID) {
|
|
569
567
|
const subBone = bone;
|
|
570
|
-
bone = new
|
|
568
|
+
bone = new Bone();
|
|
571
569
|
bone.matrixWorld.copy(rawBone.transformLink);
|
|
572
|
-
bone.name = name ?
|
|
570
|
+
bone.name = name ? PropertyBinding.sanitizeNodeName(name) : "";
|
|
573
571
|
bone.ID = id;
|
|
574
572
|
skeleton.bones[i] = bone;
|
|
575
573
|
if (subBone !== null) {
|
|
@@ -592,7 +590,7 @@ class FBXTreeParser {
|
|
|
592
590
|
}
|
|
593
591
|
});
|
|
594
592
|
if (cameraAttribute === void 0) {
|
|
595
|
-
model = new
|
|
593
|
+
model = new Object3D();
|
|
596
594
|
} else {
|
|
597
595
|
let type = 0;
|
|
598
596
|
if (cameraAttribute.CameraProjectionType !== void 0 && cameraAttribute.CameraProjectionType.value === 1) {
|
|
@@ -620,12 +618,12 @@ class FBXTreeParser {
|
|
|
620
618
|
const focalLength = cameraAttribute.FocalLength ? cameraAttribute.FocalLength.value : null;
|
|
621
619
|
switch (type) {
|
|
622
620
|
case 0:
|
|
623
|
-
model = new
|
|
621
|
+
model = new PerspectiveCamera(fov, aspect, nearClippingPlane, farClippingPlane);
|
|
624
622
|
if (focalLength !== null)
|
|
625
623
|
model.setFocalLength(focalLength);
|
|
626
624
|
break;
|
|
627
625
|
case 1:
|
|
628
|
-
model = new
|
|
626
|
+
model = new OrthographicCamera(
|
|
629
627
|
-width / 2,
|
|
630
628
|
width / 2,
|
|
631
629
|
height / 2,
|
|
@@ -636,7 +634,7 @@ class FBXTreeParser {
|
|
|
636
634
|
break;
|
|
637
635
|
default:
|
|
638
636
|
console.warn("THREE.FBXLoader: Unknown camera type " + type + ".");
|
|
639
|
-
model = new
|
|
637
|
+
model = new Object3D();
|
|
640
638
|
break;
|
|
641
639
|
}
|
|
642
640
|
}
|
|
@@ -653,7 +651,7 @@ class FBXTreeParser {
|
|
|
653
651
|
}
|
|
654
652
|
});
|
|
655
653
|
if (lightAttribute === void 0) {
|
|
656
|
-
model = new
|
|
654
|
+
model = new Object3D();
|
|
657
655
|
} else {
|
|
658
656
|
let type;
|
|
659
657
|
if (lightAttribute.LightType === void 0) {
|
|
@@ -663,7 +661,7 @@ class FBXTreeParser {
|
|
|
663
661
|
}
|
|
664
662
|
let color = 16777215;
|
|
665
663
|
if (lightAttribute.Color !== void 0) {
|
|
666
|
-
color = new
|
|
664
|
+
color = new Color().fromArray(lightAttribute.Color.value);
|
|
667
665
|
}
|
|
668
666
|
let intensity = lightAttribute.Intensity === void 0 ? 1 : lightAttribute.Intensity.value / 100;
|
|
669
667
|
if (lightAttribute.CastLightOnObject !== void 0 && lightAttribute.CastLightOnObject.value === 0) {
|
|
@@ -680,28 +678,28 @@ class FBXTreeParser {
|
|
|
680
678
|
const decay = 1;
|
|
681
679
|
switch (type) {
|
|
682
680
|
case 0:
|
|
683
|
-
model = new
|
|
681
|
+
model = new PointLight(color, intensity, distance, decay);
|
|
684
682
|
break;
|
|
685
683
|
case 1:
|
|
686
|
-
model = new
|
|
684
|
+
model = new DirectionalLight(color, intensity);
|
|
687
685
|
break;
|
|
688
686
|
case 2:
|
|
689
687
|
let angle = Math.PI / 3;
|
|
690
688
|
if (lightAttribute.InnerAngle !== void 0) {
|
|
691
|
-
angle =
|
|
689
|
+
angle = MathUtils.degToRad(lightAttribute.InnerAngle.value);
|
|
692
690
|
}
|
|
693
691
|
let penumbra = 0;
|
|
694
692
|
if (lightAttribute.OuterAngle !== void 0) {
|
|
695
|
-
penumbra =
|
|
693
|
+
penumbra = MathUtils.degToRad(lightAttribute.OuterAngle.value);
|
|
696
694
|
penumbra = Math.max(penumbra, 1);
|
|
697
695
|
}
|
|
698
|
-
model = new
|
|
696
|
+
model = new SpotLight(color, intensity, distance, angle, penumbra, decay);
|
|
699
697
|
break;
|
|
700
698
|
default:
|
|
701
699
|
console.warn(
|
|
702
700
|
"THREE.FBXLoader: Unknown light type " + lightAttribute.LightType.value + ", defaulting to a PointLight."
|
|
703
701
|
);
|
|
704
|
-
model = new
|
|
702
|
+
model = new PointLight(color, intensity);
|
|
705
703
|
break;
|
|
706
704
|
}
|
|
707
705
|
if (lightAttribute.CastShadows !== void 0 && lightAttribute.CastShadows.value === 1) {
|
|
@@ -728,7 +726,7 @@ class FBXTreeParser {
|
|
|
728
726
|
} else if (materials.length > 0) {
|
|
729
727
|
material = materials[0];
|
|
730
728
|
} else {
|
|
731
|
-
material = new
|
|
729
|
+
material = new MeshPhongMaterial({ color: 13421772 });
|
|
732
730
|
materials.push(material);
|
|
733
731
|
}
|
|
734
732
|
if ("color" in geometry.attributes) {
|
|
@@ -737,10 +735,10 @@ class FBXTreeParser {
|
|
|
737
735
|
});
|
|
738
736
|
}
|
|
739
737
|
if (geometry.FBX_Deformer) {
|
|
740
|
-
model = new
|
|
738
|
+
model = new SkinnedMesh(geometry, material);
|
|
741
739
|
model.normalizeSkinWeights();
|
|
742
740
|
} else {
|
|
743
|
-
model = new
|
|
741
|
+
model = new Mesh(geometry, material);
|
|
744
742
|
}
|
|
745
743
|
return model;
|
|
746
744
|
}
|
|
@@ -750,8 +748,8 @@ class FBXTreeParser {
|
|
|
750
748
|
geo = geometryMap.get(child.ID);
|
|
751
749
|
return geo;
|
|
752
750
|
}, null);
|
|
753
|
-
const material = new
|
|
754
|
-
return new
|
|
751
|
+
const material = new LineBasicMaterial({ color: 3342591, linewidth: 1 });
|
|
752
|
+
return new Line(geometry, material);
|
|
755
753
|
}
|
|
756
754
|
// parse the model node for transform data
|
|
757
755
|
getTransformData(model, modelNode) {
|
|
@@ -794,7 +792,7 @@ class FBXTreeParser {
|
|
|
794
792
|
model.target.position.fromArray(pos);
|
|
795
793
|
sceneGraph.add(model.target);
|
|
796
794
|
} else {
|
|
797
|
-
model.lookAt(new
|
|
795
|
+
model.lookAt(new Vector3().fromArray(pos));
|
|
798
796
|
}
|
|
799
797
|
}
|
|
800
798
|
}
|
|
@@ -813,7 +811,7 @@ class FBXTreeParser {
|
|
|
813
811
|
geoRelationships.parents.forEach(function(geoConnParent) {
|
|
814
812
|
if (modelMap.has(geoConnParent.ID)) {
|
|
815
813
|
const model = modelMap.get(geoConnParent.ID);
|
|
816
|
-
model.bind(new
|
|
814
|
+
model.bind(new Skeleton(skeleton.bones), bindMatrices[geoConnParent.ID]);
|
|
817
815
|
}
|
|
818
816
|
});
|
|
819
817
|
}
|
|
@@ -829,10 +827,10 @@ class FBXTreeParser {
|
|
|
829
827
|
const poseNodes = BindPoseNode[nodeID].PoseNode;
|
|
830
828
|
if (Array.isArray(poseNodes)) {
|
|
831
829
|
poseNodes.forEach(function(poseNode) {
|
|
832
|
-
bindMatrices[poseNode.Node] = new
|
|
830
|
+
bindMatrices[poseNode.Node] = new Matrix4().fromArray(poseNode.Matrix.a);
|
|
833
831
|
});
|
|
834
832
|
} else {
|
|
835
|
-
bindMatrices[poseNodes.Node] = new
|
|
833
|
+
bindMatrices[poseNodes.Node] = new Matrix4().fromArray(poseNodes.Matrix.a);
|
|
836
834
|
}
|
|
837
835
|
}
|
|
838
836
|
}
|
|
@@ -847,8 +845,8 @@ class FBXTreeParser {
|
|
|
847
845
|
const g = ambientColor[1];
|
|
848
846
|
const b = ambientColor[2];
|
|
849
847
|
if (r !== 0 || g !== 0 || b !== 0) {
|
|
850
|
-
const color = new
|
|
851
|
-
sceneGraph.add(new
|
|
848
|
+
const color = new Color(r, g, b);
|
|
849
|
+
sceneGraph.add(new AmbientLight(color, 1));
|
|
852
850
|
}
|
|
853
851
|
}
|
|
854
852
|
}
|
|
@@ -914,25 +912,25 @@ class GeometryParser {
|
|
|
914
912
|
}
|
|
915
913
|
// Generate a BufferGeometry from a node in FBXTree.Objects.Geometry
|
|
916
914
|
genGeometry(geoNode, skeleton, morphTargets, preTransform) {
|
|
917
|
-
const geo = new
|
|
915
|
+
const geo = new BufferGeometry();
|
|
918
916
|
if (geoNode.attrName)
|
|
919
917
|
geo.name = geoNode.attrName;
|
|
920
918
|
const geoInfo = this.parseGeoNode(geoNode, skeleton);
|
|
921
919
|
const buffers = this.genBuffers(geoInfo);
|
|
922
|
-
const positionAttribute = new
|
|
920
|
+
const positionAttribute = new Float32BufferAttribute(buffers.vertex, 3);
|
|
923
921
|
positionAttribute.applyMatrix4(preTransform);
|
|
924
922
|
geo.setAttribute("position", positionAttribute);
|
|
925
923
|
if (buffers.colors.length > 0) {
|
|
926
|
-
geo.setAttribute("color", new
|
|
924
|
+
geo.setAttribute("color", new Float32BufferAttribute(buffers.colors, 3));
|
|
927
925
|
}
|
|
928
926
|
if (skeleton) {
|
|
929
|
-
geo.setAttribute("skinIndex", new
|
|
930
|
-
geo.setAttribute("skinWeight", new
|
|
927
|
+
geo.setAttribute("skinIndex", new Uint16BufferAttribute(buffers.weightsIndices, 4));
|
|
928
|
+
geo.setAttribute("skinWeight", new Float32BufferAttribute(buffers.vertexWeights, 4));
|
|
931
929
|
geo.FBX_Deformer = skeleton;
|
|
932
930
|
}
|
|
933
931
|
if (buffers.normal.length > 0) {
|
|
934
|
-
const normalMatrix = new
|
|
935
|
-
const normalAttribute = new
|
|
932
|
+
const normalMatrix = new Matrix3().getNormalMatrix(preTransform);
|
|
933
|
+
const normalAttribute = new Float32BufferAttribute(buffers.normal, 3);
|
|
936
934
|
normalAttribute.applyNormalMatrix(normalMatrix);
|
|
937
935
|
geo.setAttribute("normal", normalAttribute);
|
|
938
936
|
}
|
|
@@ -941,7 +939,7 @@ class GeometryParser {
|
|
|
941
939
|
if (i === 0) {
|
|
942
940
|
name = "uv";
|
|
943
941
|
}
|
|
944
|
-
geo.setAttribute(name, new
|
|
942
|
+
geo.setAttribute(name, new Float32BufferAttribute(buffers.uvs[i], 2));
|
|
945
943
|
});
|
|
946
944
|
if (geoInfo.material && geoInfo.material.mappingType !== "AllSame") {
|
|
947
945
|
let prevMaterialIndex = buffers.materialIndex[0];
|
|
@@ -1239,7 +1237,7 @@ class GeometryParser {
|
|
|
1239
1237
|
vertexPositions: morphPositions
|
|
1240
1238
|
};
|
|
1241
1239
|
const morphBuffers = this.genBuffers(morphGeoInfo);
|
|
1242
|
-
const positionAttribute = new
|
|
1240
|
+
const positionAttribute = new Float32BufferAttribute(morphBuffers.vertex, 3);
|
|
1243
1241
|
positionAttribute.name = name || morphGeoNode.attrName;
|
|
1244
1242
|
positionAttribute.applyMatrix4(preTransform);
|
|
1245
1243
|
parentGeo.morphAttributes.position.push(positionAttribute);
|
|
@@ -1327,23 +1325,23 @@ class GeometryParser {
|
|
|
1327
1325
|
}
|
|
1328
1326
|
// Generate a NurbGeometry from a node in FBXTree.Objects.Geometry
|
|
1329
1327
|
parseNurbsGeometry(geoNode) {
|
|
1330
|
-
if (NURBSCurve
|
|
1328
|
+
if (NURBSCurve === void 0) {
|
|
1331
1329
|
console.error(
|
|
1332
1330
|
"THREE.FBXLoader: The loader relies on NURBSCurve for any nurbs present in the model. Nurbs will show up as empty geometry."
|
|
1333
1331
|
);
|
|
1334
|
-
return new
|
|
1332
|
+
return new BufferGeometry();
|
|
1335
1333
|
}
|
|
1336
1334
|
const order = parseInt(geoNode.Order);
|
|
1337
1335
|
if (isNaN(order)) {
|
|
1338
1336
|
console.error("THREE.FBXLoader: Invalid Order %s given for geometry ID: %s", geoNode.Order, geoNode.id);
|
|
1339
|
-
return new
|
|
1337
|
+
return new BufferGeometry();
|
|
1340
1338
|
}
|
|
1341
1339
|
const degree = order - 1;
|
|
1342
1340
|
const knots = geoNode.KnotVector.a;
|
|
1343
1341
|
const controlPoints = [];
|
|
1344
1342
|
const pointsValues = geoNode.Points.a;
|
|
1345
1343
|
for (let i = 0, l = pointsValues.length; i < l; i += 4) {
|
|
1346
|
-
controlPoints.push(new
|
|
1344
|
+
controlPoints.push(new Vector4().fromArray(pointsValues, i));
|
|
1347
1345
|
}
|
|
1348
1346
|
let startKnot, endKnot;
|
|
1349
1347
|
if (geoNode.Form === "Closed") {
|
|
@@ -1355,9 +1353,9 @@ class GeometryParser {
|
|
|
1355
1353
|
controlPoints.push(controlPoints[i]);
|
|
1356
1354
|
}
|
|
1357
1355
|
}
|
|
1358
|
-
const curve = new NURBSCurve
|
|
1356
|
+
const curve = new NURBSCurve(degree, knots, controlPoints, startKnot, endKnot);
|
|
1359
1357
|
const points = curve.getPoints(controlPoints.length * 12);
|
|
1360
|
-
return new
|
|
1358
|
+
return new BufferGeometry().setFromPoints(points);
|
|
1361
1359
|
}
|
|
1362
1360
|
}
|
|
1363
1361
|
class AnimationParser {
|
|
@@ -1455,7 +1453,7 @@ class AnimationParser {
|
|
|
1455
1453
|
return;
|
|
1456
1454
|
}
|
|
1457
1455
|
const node = {
|
|
1458
|
-
modelName: rawModel.attrName ?
|
|
1456
|
+
modelName: rawModel.attrName ? PropertyBinding.sanitizeNodeName(rawModel.attrName) : "",
|
|
1459
1457
|
ID: rawModel.id,
|
|
1460
1458
|
initialPosition: [0, 0, 0],
|
|
1461
1459
|
initialRotation: [0, 0, 0],
|
|
@@ -1469,7 +1467,7 @@ class AnimationParser {
|
|
|
1469
1467
|
}
|
|
1470
1468
|
});
|
|
1471
1469
|
if (!node.transform)
|
|
1472
|
-
node.transform = new
|
|
1470
|
+
node.transform = new Matrix4();
|
|
1473
1471
|
if ("PreRotation" in rawModel)
|
|
1474
1472
|
node.preRotation = rawModel.PreRotation.value;
|
|
1475
1473
|
if ("PostRotation" in rawModel)
|
|
@@ -1489,7 +1487,7 @@ class AnimationParser {
|
|
|
1489
1487
|
const modelID = connections.get(geoID).parents[0].ID;
|
|
1490
1488
|
const rawModel = fbxTree.Objects.Model[modelID];
|
|
1491
1489
|
const node = {
|
|
1492
|
-
modelName: rawModel.attrName ?
|
|
1490
|
+
modelName: rawModel.attrName ? PropertyBinding.sanitizeNodeName(rawModel.attrName) : "",
|
|
1493
1491
|
morphName: fbxTree.Objects.Deformer[deformerID].attrName
|
|
1494
1492
|
};
|
|
1495
1493
|
layerCurveNodes[i] = node;
|
|
@@ -1529,17 +1527,17 @@ class AnimationParser {
|
|
|
1529
1527
|
rawClip.layer.forEach(function(rawTracks) {
|
|
1530
1528
|
tracks = tracks.concat(scope.generateTracks(rawTracks));
|
|
1531
1529
|
});
|
|
1532
|
-
return new
|
|
1530
|
+
return new AnimationClip(rawClip.name, -1, tracks);
|
|
1533
1531
|
}
|
|
1534
1532
|
generateTracks(rawTracks) {
|
|
1535
1533
|
const tracks = [];
|
|
1536
|
-
let initialPosition = new
|
|
1537
|
-
let initialRotation = new
|
|
1538
|
-
let initialScale = new
|
|
1534
|
+
let initialPosition = new Vector3();
|
|
1535
|
+
let initialRotation = new Quaternion();
|
|
1536
|
+
let initialScale = new Vector3();
|
|
1539
1537
|
if (rawTracks.transform)
|
|
1540
1538
|
rawTracks.transform.decompose(initialPosition, initialRotation, initialScale);
|
|
1541
1539
|
initialPosition = initialPosition.toArray();
|
|
1542
|
-
initialRotation = new
|
|
1540
|
+
initialRotation = new Euler().setFromQuaternion(initialRotation, rawTracks.eulerOrder).toArray();
|
|
1543
1541
|
initialScale = initialScale.toArray();
|
|
1544
1542
|
if (rawTracks.T !== void 0 && Object.keys(rawTracks.T.curves).length > 0) {
|
|
1545
1543
|
const positionTrack = this.generateVectorTrack(
|
|
@@ -1578,37 +1576,37 @@ class AnimationParser {
|
|
|
1578
1576
|
generateVectorTrack(modelName, curves, initialValue, type) {
|
|
1579
1577
|
const times = this.getTimesForAllAxes(curves);
|
|
1580
1578
|
const values = this.getKeyframeTrackValues(times, curves, initialValue);
|
|
1581
|
-
return new
|
|
1579
|
+
return new VectorKeyframeTrack(modelName + "." + type, times, values);
|
|
1582
1580
|
}
|
|
1583
1581
|
generateRotationTrack(modelName, curves, initialValue, preRotation, postRotation, eulerOrder) {
|
|
1584
1582
|
if (curves.x !== void 0) {
|
|
1585
1583
|
this.interpolateRotations(curves.x);
|
|
1586
|
-
curves.x.values = curves.x.values.map(
|
|
1584
|
+
curves.x.values = curves.x.values.map(MathUtils.degToRad);
|
|
1587
1585
|
}
|
|
1588
1586
|
if (curves.y !== void 0) {
|
|
1589
1587
|
this.interpolateRotations(curves.y);
|
|
1590
|
-
curves.y.values = curves.y.values.map(
|
|
1588
|
+
curves.y.values = curves.y.values.map(MathUtils.degToRad);
|
|
1591
1589
|
}
|
|
1592
1590
|
if (curves.z !== void 0) {
|
|
1593
1591
|
this.interpolateRotations(curves.z);
|
|
1594
|
-
curves.z.values = curves.z.values.map(
|
|
1592
|
+
curves.z.values = curves.z.values.map(MathUtils.degToRad);
|
|
1595
1593
|
}
|
|
1596
1594
|
const times = this.getTimesForAllAxes(curves);
|
|
1597
1595
|
const values = this.getKeyframeTrackValues(times, curves, initialValue);
|
|
1598
1596
|
if (preRotation !== void 0) {
|
|
1599
|
-
preRotation = preRotation.map(
|
|
1597
|
+
preRotation = preRotation.map(MathUtils.degToRad);
|
|
1600
1598
|
preRotation.push(eulerOrder);
|
|
1601
|
-
preRotation = new
|
|
1602
|
-
preRotation = new
|
|
1599
|
+
preRotation = new Euler().fromArray(preRotation);
|
|
1600
|
+
preRotation = new Quaternion().setFromEuler(preRotation);
|
|
1603
1601
|
}
|
|
1604
1602
|
if (postRotation !== void 0) {
|
|
1605
|
-
postRotation = postRotation.map(
|
|
1603
|
+
postRotation = postRotation.map(MathUtils.degToRad);
|
|
1606
1604
|
postRotation.push(eulerOrder);
|
|
1607
|
-
postRotation = new
|
|
1608
|
-
postRotation = new
|
|
1605
|
+
postRotation = new Euler().fromArray(postRotation);
|
|
1606
|
+
postRotation = new Quaternion().setFromEuler(postRotation).invert();
|
|
1609
1607
|
}
|
|
1610
|
-
const quaternion = new
|
|
1611
|
-
const euler = new
|
|
1608
|
+
const quaternion = new Quaternion();
|
|
1609
|
+
const euler = new Euler();
|
|
1612
1610
|
const quaternionValues = [];
|
|
1613
1611
|
for (let i = 0; i < values.length; i += 3) {
|
|
1614
1612
|
euler.set(values[i], values[i + 1], values[i + 2], eulerOrder);
|
|
@@ -1619,7 +1617,7 @@ class AnimationParser {
|
|
|
1619
1617
|
quaternion.multiply(postRotation);
|
|
1620
1618
|
quaternion.toArray(quaternionValues, i / 3 * 4);
|
|
1621
1619
|
}
|
|
1622
|
-
return new
|
|
1620
|
+
return new QuaternionKeyframeTrack(modelName + ".quaternion", times, quaternionValues);
|
|
1623
1621
|
}
|
|
1624
1622
|
generateMorphTrack(rawTracks) {
|
|
1625
1623
|
const curves = rawTracks.DeformPercent.curves.morph;
|
|
@@ -1627,7 +1625,7 @@ class AnimationParser {
|
|
|
1627
1625
|
return val / 100;
|
|
1628
1626
|
});
|
|
1629
1627
|
const morphNum = sceneGraph.getObjectByName(rawTracks.modelName).morphTargetDictionary[rawTracks.morphName];
|
|
1630
|
-
return new
|
|
1628
|
+
return new NumberKeyframeTrack(
|
|
1631
1629
|
rawTracks.modelName + ".morphTargetInfluences[" + morphNum + "]",
|
|
1632
1630
|
curves.times,
|
|
1633
1631
|
values
|
|
@@ -2085,7 +2083,7 @@ class BinaryParser {
|
|
|
2085
2083
|
return reader.getInt64Array(arrayLength);
|
|
2086
2084
|
}
|
|
2087
2085
|
}
|
|
2088
|
-
const data =
|
|
2086
|
+
const data = unzlibSync(new Uint8Array(reader.getArrayBuffer(compressedLength)));
|
|
2089
2087
|
const reader2 = new BinaryReader(data.buffer);
|
|
2090
2088
|
switch (type) {
|
|
2091
2089
|
case "b":
|
|
@@ -2240,7 +2238,7 @@ class BinaryReader {
|
|
|
2240
2238
|
const nullByte = a.indexOf(0);
|
|
2241
2239
|
if (nullByte >= 0)
|
|
2242
2240
|
a = a.slice(0, nullByte);
|
|
2243
|
-
return
|
|
2241
|
+
return LoaderUtils.decodeText(new Uint8Array(a));
|
|
2244
2242
|
}
|
|
2245
2243
|
}
|
|
2246
2244
|
class FBXTree {
|
|
@@ -2327,36 +2325,36 @@ function getData(polygonVertexIndex, polygonIndex, vertexIndex, infoObject) {
|
|
|
2327
2325
|
const to = from + infoObject.dataSize;
|
|
2328
2326
|
return slice(dataArray, infoObject.buffer, from, to);
|
|
2329
2327
|
}
|
|
2330
|
-
const tempEuler = /* @__PURE__ */ new
|
|
2331
|
-
const tempVec = /* @__PURE__ */ new
|
|
2328
|
+
const tempEuler = /* @__PURE__ */ new Euler();
|
|
2329
|
+
const tempVec = /* @__PURE__ */ new Vector3();
|
|
2332
2330
|
function generateTransform(transformData) {
|
|
2333
|
-
const lTranslationM = new
|
|
2334
|
-
const lPreRotationM = new
|
|
2335
|
-
const lRotationM = new
|
|
2336
|
-
const lPostRotationM = new
|
|
2337
|
-
const lScalingM = new
|
|
2338
|
-
const lScalingPivotM = new
|
|
2339
|
-
const lScalingOffsetM = new
|
|
2340
|
-
const lRotationOffsetM = new
|
|
2341
|
-
const lRotationPivotM = new
|
|
2342
|
-
const lParentGX = new
|
|
2343
|
-
const lParentLX = new
|
|
2344
|
-
const lGlobalT = new
|
|
2331
|
+
const lTranslationM = new Matrix4();
|
|
2332
|
+
const lPreRotationM = new Matrix4();
|
|
2333
|
+
const lRotationM = new Matrix4();
|
|
2334
|
+
const lPostRotationM = new Matrix4();
|
|
2335
|
+
const lScalingM = new Matrix4();
|
|
2336
|
+
const lScalingPivotM = new Matrix4();
|
|
2337
|
+
const lScalingOffsetM = new Matrix4();
|
|
2338
|
+
const lRotationOffsetM = new Matrix4();
|
|
2339
|
+
const lRotationPivotM = new Matrix4();
|
|
2340
|
+
const lParentGX = new Matrix4();
|
|
2341
|
+
const lParentLX = new Matrix4();
|
|
2342
|
+
const lGlobalT = new Matrix4();
|
|
2345
2343
|
const inheritType = transformData.inheritType ? transformData.inheritType : 0;
|
|
2346
2344
|
if (transformData.translation)
|
|
2347
2345
|
lTranslationM.setPosition(tempVec.fromArray(transformData.translation));
|
|
2348
2346
|
if (transformData.preRotation) {
|
|
2349
|
-
const array = transformData.preRotation.map(
|
|
2347
|
+
const array = transformData.preRotation.map(MathUtils.degToRad);
|
|
2350
2348
|
array.push(transformData.eulerOrder);
|
|
2351
2349
|
lPreRotationM.makeRotationFromEuler(tempEuler.fromArray(array));
|
|
2352
2350
|
}
|
|
2353
2351
|
if (transformData.rotation) {
|
|
2354
|
-
const array = transformData.rotation.map(
|
|
2352
|
+
const array = transformData.rotation.map(MathUtils.degToRad);
|
|
2355
2353
|
array.push(transformData.eulerOrder);
|
|
2356
2354
|
lRotationM.makeRotationFromEuler(tempEuler.fromArray(array));
|
|
2357
2355
|
}
|
|
2358
2356
|
if (transformData.postRotation) {
|
|
2359
|
-
const array = transformData.postRotation.map(
|
|
2357
|
+
const array = transformData.postRotation.map(MathUtils.degToRad);
|
|
2360
2358
|
array.push(transformData.eulerOrder);
|
|
2361
2359
|
lPostRotationM.makeRotationFromEuler(tempEuler.fromArray(array));
|
|
2362
2360
|
lPostRotationM.invert();
|
|
@@ -2376,20 +2374,20 @@ function generateTransform(transformData) {
|
|
|
2376
2374
|
lParentGX.copy(transformData.parentMatrixWorld);
|
|
2377
2375
|
}
|
|
2378
2376
|
const lLRM = lPreRotationM.clone().multiply(lRotationM).multiply(lPostRotationM);
|
|
2379
|
-
const lParentGRM = new
|
|
2377
|
+
const lParentGRM = new Matrix4();
|
|
2380
2378
|
lParentGRM.extractRotation(lParentGX);
|
|
2381
|
-
const lParentTM = new
|
|
2379
|
+
const lParentTM = new Matrix4();
|
|
2382
2380
|
lParentTM.copyPosition(lParentGX);
|
|
2383
2381
|
const lParentGRSM = lParentTM.clone().invert().multiply(lParentGX);
|
|
2384
2382
|
const lParentGSM = lParentGRM.clone().invert().multiply(lParentGRSM);
|
|
2385
2383
|
const lLSM = lScalingM;
|
|
2386
|
-
const lGlobalRS = new
|
|
2384
|
+
const lGlobalRS = new Matrix4();
|
|
2387
2385
|
if (inheritType === 0) {
|
|
2388
2386
|
lGlobalRS.copy(lParentGRM).multiply(lLRM).multiply(lParentGSM).multiply(lLSM);
|
|
2389
2387
|
} else if (inheritType === 1) {
|
|
2390
2388
|
lGlobalRS.copy(lParentGRM).multiply(lParentGSM).multiply(lLRM).multiply(lLSM);
|
|
2391
2389
|
} else {
|
|
2392
|
-
const lParentLSM = new
|
|
2390
|
+
const lParentLSM = new Matrix4().scale(new Vector3().setFromMatrixScale(lParentLX));
|
|
2393
2391
|
const lParentLSM_inv = lParentLSM.clone().invert();
|
|
2394
2392
|
const lParentGSM_noLocal = lParentGSM.clone().multiply(lParentLSM_inv);
|
|
2395
2393
|
lGlobalRS.copy(lParentGRM).multiply(lLRM).multiply(lParentGSM_noLocal).multiply(lLSM);
|
|
@@ -2397,7 +2395,7 @@ function generateTransform(transformData) {
|
|
|
2397
2395
|
const lRotationPivotM_inv = lRotationPivotM.clone().invert();
|
|
2398
2396
|
const lScalingPivotM_inv = lScalingPivotM.clone().invert();
|
|
2399
2397
|
let lTransform = lTranslationM.clone().multiply(lRotationOffsetM).multiply(lRotationPivotM).multiply(lPreRotationM).multiply(lRotationM).multiply(lPostRotationM).multiply(lRotationPivotM_inv).multiply(lScalingOffsetM).multiply(lScalingPivotM).multiply(lScalingM).multiply(lScalingPivotM_inv);
|
|
2400
|
-
const lLocalTWithAllPivotAndOffsetInfo = new
|
|
2398
|
+
const lLocalTWithAllPivotAndOffsetInfo = new Matrix4().copyPosition(lTransform);
|
|
2401
2399
|
const lGlobalTranslation = lParentGX.clone().multiply(lLocalTWithAllPivotAndOffsetInfo);
|
|
2402
2400
|
lGlobalT.copyPosition(lGlobalTranslation);
|
|
2403
2401
|
lTransform = lGlobalT.clone().multiply(lGlobalRS);
|
|
@@ -2438,7 +2436,7 @@ function convertArrayBufferToString(buffer, from, to) {
|
|
|
2438
2436
|
from = 0;
|
|
2439
2437
|
if (to === void 0)
|
|
2440
2438
|
to = buffer.byteLength;
|
|
2441
|
-
return
|
|
2439
|
+
return LoaderUtils.decodeText(new Uint8Array(buffer, from, to));
|
|
2442
2440
|
}
|
|
2443
2441
|
function append(a, b) {
|
|
2444
2442
|
for (let i = 0, j = a.length, l = b.length; i < l; i++, j++) {
|
|
@@ -2454,4 +2452,6 @@ function slice(a, b, from, to) {
|
|
|
2454
2452
|
function inject(a1, index, a2) {
|
|
2455
2453
|
return a1.slice(0, index).concat(a2).concat(a1.slice(index));
|
|
2456
2454
|
}
|
|
2457
|
-
|
|
2455
|
+
export {
|
|
2456
|
+
FBXLoader
|
|
2457
|
+
};
|