three-stdlib 2.15.2 → 2.16.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1218) hide show
  1. package/BufferGeometryUtils-1a7a235c.js +655 -0
  2. package/BufferGeometryUtils-971dfde3.js +1 -0
  3. package/Nodes-4f766d71.js +471 -0
  4. package/Nodes-9aa16d74.js +1 -0
  5. package/animation/AnimationClipCreator.cjs.js +1 -0
  6. package/animation/AnimationClipCreator.js +52 -32
  7. package/animation/CCDIKSolver.cjs.js +1 -0
  8. package/animation/CCDIKSolver.js +275 -207
  9. package/animation/MMDAnimationHelper.cjs.js +1 -0
  10. package/animation/MMDAnimationHelper.js +341 -150
  11. package/animation/MMDPhysics.cjs.js +1 -0
  12. package/animation/MMDPhysics.js +361 -154
  13. package/cameras/CinematicCamera.cjs.js +1 -0
  14. package/cameras/CinematicCamera.js +77 -67
  15. package/controls/ArcballControls.cjs.js +1 -0
  16. package/controls/ArcballControls.js +1449 -544
  17. package/controls/DeviceOrientationControls.cjs.js +1 -0
  18. package/controls/DeviceOrientationControls.js +97 -52
  19. package/controls/DragControls.cjs.js +1 -0
  20. package/controls/DragControls.js +187 -85
  21. package/controls/FirstPersonControls.cjs.js +1 -0
  22. package/controls/FirstPersonControls.js +193 -123
  23. package/controls/FlyControls.cjs.js +1 -0
  24. package/controls/FlyControls.js +152 -82
  25. package/controls/OrbitControls.cjs.js +1 -0
  26. package/controls/OrbitControls.js +481 -232
  27. package/controls/PointerLockControls.cjs.js +1 -0
  28. package/controls/PointerLockControls.js +99 -63
  29. package/controls/TrackballControls.cjs.js +1 -0
  30. package/controls/TrackballControls.js +383 -211
  31. package/controls/TransformControls.cjs.js +1 -0
  32. package/controls/TransformControls.js +782 -575
  33. package/controls/experimental/CameraControls.cjs.js +1 -0
  34. package/controls/experimental/CameraControls.js +609 -329
  35. package/csm/CSM.cjs.js +1 -0
  36. package/csm/CSM.js +108 -47
  37. package/csm/CSMFrustum.cjs.js +1 -0
  38. package/csm/CSMFrustum.js +29 -14
  39. package/csm/CSMHelper.cjs.js +1 -0
  40. package/csm/CSMHelper.js +34 -20
  41. package/csm/CSMShader.cjs.js +1 -0
  42. package/csm/CSMShader.js +11 -7
  43. package/curves/CurveExtras.cjs.js +1 -0
  44. package/curves/CurveExtras.js +115 -73
  45. package/curves/NURBSCurve.cjs.js +1 -0
  46. package/curves/NURBSCurve.js +43 -15
  47. package/curves/NURBSSurface.cjs.js +1 -0
  48. package/curves/NURBSSurface.js +27 -11
  49. package/curves/NURBSUtils.cjs.js +1 -0
  50. package/curves/NURBSUtils.js +203 -54
  51. package/custom.d.cjs.js +1 -0
  52. package/{shaders/types.mjs → custom.d.js} +0 -0
  53. package/deprecated/Geometry.cjs.js +1 -0
  54. package/deprecated/Geometry.js +486 -191
  55. package/effects/AnaglyphEffect.cjs.js +1 -0
  56. package/effects/AnaglyphEffect.js +60 -95
  57. package/effects/AsciiEffect.cjs.js +1 -0
  58. package/effects/AsciiEffect.js +110 -80
  59. package/effects/OutlineEffect.cjs.js +1 -0
  60. package/effects/OutlineEffect.js +204 -121
  61. package/effects/ParallaxBarrierEffect.cjs.js +1 -0
  62. package/effects/ParallaxBarrierEffect.js +38 -39
  63. package/effects/PeppersGhostEffect.cjs.js +1 -0
  64. package/effects/PeppersGhostEffect.js +68 -19
  65. package/effects/StereoEffect.cjs.js +1 -0
  66. package/effects/StereoEffect.js +16 -12
  67. package/environments/RoomEnvironment.cjs.js +1 -0
  68. package/environments/RoomEnvironment.js +47 -52
  69. package/exporters/ColladaExporter.cjs.js +1 -0
  70. package/exporters/ColladaExporter.js +241 -115
  71. package/exporters/DRACOExporter.cjs.js +1 -0
  72. package/exporters/DRACOExporter.js +121 -67
  73. package/exporters/GLTFExporter.cjs.js +1 -0
  74. package/exporters/GLTFExporter.js +1014 -463
  75. package/exporters/MMDExporter.cjs.js +1 -0
  76. package/exporters/MMDExporter.js +102 -44
  77. package/exporters/OBJExporter.cjs.js +1 -0
  78. package/exporters/OBJExporter.js +140 -78
  79. package/exporters/PLYExporter.cjs.js +1 -0
  80. package/exporters/PLYExporter.js +154 -93
  81. package/exporters/STLExporter.cjs.js +1 -0
  82. package/exporters/STLExporter.js +81 -30
  83. package/exporters/USDZExporter.cjs.js +1 -0
  84. package/exporters/USDZExporter.js +144 -84
  85. package/geometries/BoxLineGeometry.cjs.js +1 -0
  86. package/geometries/BoxLineGeometry.js +14 -7
  87. package/geometries/ConvexGeometry.cjs.js +1 -0
  88. package/geometries/ConvexGeometry.js +23 -14
  89. package/geometries/DecalGeometry.cjs.js +1 -0
  90. package/geometries/DecalGeometry.js +162 -108
  91. package/geometries/LightningStrike.cjs.js +1 -0
  92. package/geometries/LightningStrike.js +294 -101
  93. package/geometries/ParametricGeometries.cjs.js +1 -0
  94. package/geometries/ParametricGeometries.js +76 -26
  95. package/geometries/ParametricGeometry.cjs.js +1 -0
  96. package/geometries/ParametricGeometry.js +48 -24
  97. package/geometries/RoundedBoxGeometry.cjs.js +1 -0
  98. package/geometries/RoundedBoxGeometry.js +64 -33
  99. package/geometries/TeapotGeometry.cjs.js +1 -0
  100. package/geometries/TeapotGeometry.js +174 -1434
  101. package/geometries/TextGeometry.cjs.js +1 -0
  102. package/geometries/TextGeometry.js +17 -9
  103. package/helpers/LightProbeHelper.cjs.js +1 -0
  104. package/helpers/LightProbeHelper.js +21 -53
  105. package/helpers/PositionalAudioHelper.cjs.js +1 -0
  106. package/helpers/PositionalAudioHelper.js +30 -23
  107. package/helpers/RectAreaLightHelper.cjs.js +1 -0
  108. package/helpers/RectAreaLightHelper.js +33 -17
  109. package/helpers/VertexNormalsHelper.cjs.js +1 -0
  110. package/helpers/VertexNormalsHelper.js +41 -20
  111. package/helpers/VertexTangentsHelper.cjs.js +1 -0
  112. package/helpers/VertexTangentsHelper.js +36 -18
  113. package/index.cjs.js +1 -0
  114. package/index.js +333 -968
  115. package/interactive/InteractiveGroup.cjs.js +1 -0
  116. package/interactive/InteractiveGroup.d.ts +5 -0
  117. package/interactive/InteractiveGroup.js +87 -0
  118. package/interactive/SelectionBox.cjs.js +1 -0
  119. package/interactive/SelectionBox.js +46 -31
  120. package/interactive/SelectionHelper.cjs.js +1 -0
  121. package/interactive/SelectionHelper.js +21 -16
  122. package/libs/MeshoptDecoder.cjs.js +1 -0
  123. package/libs/MeshoptDecoder.js +58 -147
  124. package/libs/MotionControllers.cjs.js +1 -0
  125. package/libs/MotionControllers.js +208 -66
  126. package/lights/LightProbeGenerator.cjs.js +1 -0
  127. package/lights/LightProbeGenerator.js +96 -40
  128. package/lights/RectAreaLightUniformsLib.cjs.js +1 -0
  129. package/lights/RectAreaLightUniformsLib.js +9 -32842
  130. package/lines/Line2.cjs.js +1 -0
  131. package/lines/Line2.js +12 -9
  132. package/lines/LineGeometry.cjs.js +1 -0
  133. package/lines/LineGeometry.js +19 -7
  134. package/lines/LineMaterial.cjs.js +1 -0
  135. package/lines/LineMaterial.js +89 -51
  136. package/lines/LineSegments2.cjs.js +1 -0
  137. package/lines/LineSegments2.js +165 -56
  138. package/lines/LineSegmentsGeometry.cjs.js +1 -0
  139. package/lines/LineSegmentsGeometry.js +71 -29
  140. package/lines/Wireframe.cjs.js +1 -0
  141. package/lines/Wireframe.js +29 -15
  142. package/lines/WireframeGeometry2.cjs.js +1 -0
  143. package/lines/WireframeGeometry2.js +9 -8
  144. package/loaders/3DMLoader.cjs.js +1 -0
  145. package/loaders/3DMLoader.js +469 -234
  146. package/loaders/3MFLoader.cjs.js +1 -0
  147. package/loaders/3MFLoader.js +555 -340
  148. package/loaders/AMFLoader.cjs.js +1 -0
  149. package/loaders/AMFLoader.js +219 -114
  150. package/loaders/AssimpLoader.cjs.js +1 -0
  151. package/loaders/AssimpLoader.js +725 -328
  152. package/loaders/BVHLoader.cjs.js +1 -0
  153. package/loaders/BVHLoader.js +200 -94
  154. package/loaders/BasisTextureLoader.cjs.js +1 -0
  155. package/loaders/BasisTextureLoader.js +357 -229
  156. package/loaders/ColladaLoader.cjs.js +1 -0
  157. package/loaders/ColladaLoader.js +1522 -932
  158. package/loaders/DDSLoader.cjs.js +1 -0
  159. package/loaders/DDSLoader.js +108 -42
  160. package/loaders/DRACOLoader.cjs.js +1 -0
  161. package/loaders/DRACOLoader.js +210 -103
  162. package/loaders/EXRLoader.cjs.js +1 -0
  163. package/loaders/EXRLoader.js +809 -461
  164. package/loaders/FBXLoader.cjs.js +1 -0
  165. package/loaders/FBXLoader.js +1397 -842
  166. package/loaders/FontLoader.cjs.js +1 -0
  167. package/loaders/FontLoader.js +66 -33
  168. package/loaders/GCodeLoader.cjs.js +1 -0
  169. package/loaders/GCodeLoader.js +111 -63
  170. package/loaders/GLTFLoader.cjs.js +1 -0
  171. package/loaders/GLTFLoader.js +1484 -771
  172. package/loaders/HDRCubeTextureLoader.cjs.js +1 -0
  173. package/loaders/HDRCubeTextureLoader.js +50 -45
  174. package/loaders/KMZLoader.cjs.js +1 -0
  175. package/loaders/KMZLoader.js +55 -42
  176. package/loaders/KTX2Loader.cjs.js +1 -0
  177. package/loaders/KTX2Loader.js +362 -229
  178. package/loaders/KTXLoader.cjs.js +1 -0
  179. package/loaders/KTXLoader.js +99 -37
  180. package/loaders/LDrawLoader.cjs.js +1 -0
  181. package/loaders/LDrawLoader.js +746 -313
  182. package/loaders/LUT3dlLoader.cjs.js +1 -0
  183. package/loaders/LUT3dlLoader.js +62 -50
  184. package/loaders/LUTCubeLoader.cjs.js +1 -0
  185. package/loaders/LUTCubeLoader.js +56 -45
  186. package/loaders/LWOLoader.cjs.js +1 -0
  187. package/loaders/LWOLoader.js +339 -227
  188. package/loaders/LottieLoader.cjs.js +1 -0
  189. package/loaders/LottieLoader.js +38 -36
  190. package/loaders/MD2Loader.cjs.js +1 -0
  191. package/loaders/MD2Loader.js +91 -248
  192. package/loaders/MDDLoader.cjs.js +1 -0
  193. package/loaders/MDDLoader.js +45 -25
  194. package/loaders/MMDLoader.cjs.js +1 -0
  195. package/loaders/MMDLoader.js +795 -359
  196. package/loaders/MTLLoader.cjs.js +1 -0
  197. package/loaders/MTLLoader.js +201 -91
  198. package/loaders/NRRDLoader.cjs.js +1 -0
  199. package/loaders/NRRDLoader.js +263 -182
  200. package/loaders/NodeMaterialLoader.cjs.js +1 -0
  201. package/loaders/NodeMaterialLoader.js +14 -121
  202. package/loaders/OBJLoader.cjs.js +1 -0
  203. package/loaders/OBJLoader.js +283 -161
  204. package/loaders/PCDLoader.cjs.js +1 -0
  205. package/loaders/PCDLoader.js +164 -145
  206. package/loaders/PDBLoader.cjs.js +1 -0
  207. package/loaders/PDBLoader.js +63 -45
  208. package/loaders/PLYLoader.cjs.js +1 -0
  209. package/loaders/PLYLoader.js +203 -106
  210. package/loaders/PRWMLoader.cjs.js +1 -0
  211. package/loaders/PRWMLoader.js +110 -73
  212. package/loaders/PVRLoader.cjs.js +1 -0
  213. package/loaders/PVRLoader.js +93 -32
  214. package/loaders/RGBELoader.cjs.js +1 -0
  215. package/loaders/RGBELoader.js +233 -96
  216. package/loaders/RGBMLoader.cjs.js +1 -0
  217. package/loaders/RGBMLoader.js +514 -344
  218. package/loaders/STLLoader.cjs.js +1 -0
  219. package/loaders/STLLoader.js +165 -59
  220. package/loaders/SVGLoader.cjs.js +1 -0
  221. package/loaders/SVGLoader.js +851 -481
  222. package/loaders/TDSLoader.cjs.js +1 -0
  223. package/loaders/TDSLoader.js +527 -137
  224. package/loaders/TGALoader.cjs.js +1 -0
  225. package/loaders/TGALoader.js +205 -94
  226. package/loaders/TTFLoader.cjs.js +1 -0
  227. package/loaders/TTFLoader.js +79 -58
  228. package/loaders/TiltLoader.cjs.js +1 -0
  229. package/loaders/TiltLoader.js +167 -129
  230. package/loaders/VOXLoader.cjs.js +1 -0
  231. package/loaders/VOXLoader.js +84 -320
  232. package/loaders/VRMLLoader.cjs.js +1 -0
  233. package/loaders/VRMLLoader.js +1268 -786
  234. package/loaders/VRMLoader.cjs.js +1 -0
  235. package/loaders/VRMLoader.js +31 -23
  236. package/loaders/VTKLoader.cjs.js +1 -0
  237. package/loaders/VTKLoader.js +407 -219
  238. package/loaders/XLoader.cjs.js +1 -0
  239. package/loaders/XLoader.js +1259 -1083
  240. package/loaders/XYZLoader.cjs.js +1 -0
  241. package/loaders/XYZLoader.js +34 -28
  242. package/loaders/lwo/IFFParser.cjs.js +1 -0
  243. package/loaders/lwo/IFFParser.js +492 -238
  244. package/loaders/lwo/LWO2Parser.cjs.js +1 -0
  245. package/loaders/lwo/LWO2Parser.js +279 -176
  246. package/loaders/lwo/LWO3Parser.cjs.js +1 -0
  247. package/loaders/lwo/LWO3Parser.js +247 -160
  248. package/math/Capsule.cjs.js +1 -0
  249. package/math/Capsule.js +43 -56
  250. package/math/ColorConverter.cjs.js +1 -0
  251. package/math/ColorConverter.js +32 -18
  252. package/math/ConvexHull.cjs.js +1 -0
  253. package/math/ConvexHull.js +357 -97
  254. package/math/ImprovedNoise.cjs.js +1 -0
  255. package/math/ImprovedNoise.js +32 -282
  256. package/math/Lut.cjs.js +1 -0
  257. package/math/Lut.js +35 -51
  258. package/math/MeshSurfaceSampler.cjs.js +1 -0
  259. package/math/MeshSurfaceSampler.js +68 -25
  260. package/math/OBB.cjs.js +1 -0
  261. package/math/OBB.js +152 -91
  262. package/math/Octree.cjs.js +1 -0
  263. package/math/Octree.js +139 -76
  264. package/math/SimplexNoise.cjs.js +1 -0
  265. package/math/SimplexNoise.js +238 -217
  266. package/misc/ConvexObjectBreaker.cjs.js +1 -0
  267. package/misc/ConvexObjectBreaker.js +185 -79
  268. package/misc/GPUComputationRenderer.cjs.js +1 -0
  269. package/misc/GPUComputationRenderer.js +194 -69
  270. package/misc/Gyroscope.cjs.js +1 -0
  271. package/misc/Gyroscope.js +22 -16
  272. package/misc/MD2Character.cjs.js +1 -0
  273. package/misc/MD2Character.js +74 -52
  274. package/misc/MD2CharacterComplex.cjs.js +1 -0
  275. package/misc/MD2CharacterComplex.js +163 -112
  276. package/misc/MorphAnimMesh.cjs.js +1 -0
  277. package/misc/MorphAnimMesh.js +28 -20
  278. package/misc/MorphBlendMesh.cjs.js +1 -0
  279. package/misc/MorphBlendMesh.js +69 -45
  280. package/misc/ProgressiveLightmap.cjs.js +1 -0
  281. package/misc/ProgressiveLightmap.js +187 -70
  282. package/misc/RollerCoaster.cjs.js +1 -0
  283. package/misc/RollerCoaster.js +135 -106
  284. package/misc/TubePainter.cjs.js +1 -0
  285. package/misc/TubePainter.js +92 -74
  286. package/misc/Volume.cjs.js +1 -0
  287. package/misc/Volume.js +270 -108
  288. package/misc/VolumeSlice.cjs.js +1 -0
  289. package/misc/VolumeSlice.js +122 -34
  290. package/misc/WebGL.cjs.js +1 -0
  291. package/misc/WebGL.js +34 -37
  292. package/modifiers/CurveModifier.cjs.js +1 -0
  293. package/modifiers/CurveModifier.js +151 -46
  294. package/modifiers/EdgeSplitModifier.cjs.js +1 -0
  295. package/modifiers/EdgeSplitModifier.js +90 -46
  296. package/modifiers/SimplifyModifier.cjs.js +1 -0
  297. package/modifiers/SimplifyModifier.js +202 -77
  298. package/modifiers/TessellateModifier.cjs.js +1 -0
  299. package/modifiers/TessellateModifier.js +90 -65
  300. package/nodes/Nodes.cjs.js +1 -0
  301. package/nodes/Nodes.js +140 -274
  302. package/nodes/ShaderNode.cjs.js +1 -0
  303. package/nodes/ShaderNode.js +196 -296
  304. package/nodes/accessors/BufferNode.cjs.js +1 -0
  305. package/nodes/accessors/BufferNode.js +8 -4
  306. package/nodes/accessors/CameraNode.cjs.js +1 -0
  307. package/nodes/accessors/CameraNode.js +25 -20
  308. package/nodes/accessors/CubeTextureNode.cjs.js +1 -0
  309. package/nodes/accessors/CubeTextureNode.js +26 -14
  310. package/nodes/accessors/MaterialNode.cjs.js +1 -0
  311. package/nodes/accessors/MaterialNode.js +53 -43
  312. package/nodes/accessors/MaterialReferenceNode.cjs.js +1 -0
  313. package/nodes/accessors/MaterialReferenceNode.js +6 -3
  314. package/nodes/accessors/ModelNode.cjs.js +1 -0
  315. package/nodes/accessors/ModelNode.js +5 -3
  316. package/nodes/accessors/ModelViewProjectionNode.cjs.js +1 -0
  317. package/nodes/accessors/ModelViewProjectionNode.js +13 -14
  318. package/nodes/accessors/NormalNode.cjs.js +1 -0
  319. package/nodes/accessors/NormalNode.js +39 -40
  320. package/nodes/accessors/Object3DNode.cjs.js +1 -0
  321. package/nodes/accessors/Object3DNode.js +50 -40
  322. package/nodes/accessors/PointUVNode.cjs.js +1 -0
  323. package/nodes/accessors/PointUVNode.js +9 -5
  324. package/nodes/accessors/PositionNode.cjs.js +1 -0
  325. package/nodes/accessors/PositionNode.js +41 -42
  326. package/nodes/accessors/ReferenceNode.cjs.js +1 -0
  327. package/nodes/accessors/ReferenceNode.js +17 -10
  328. package/nodes/accessors/ReflectNode.cjs.js +1 -0
  329. package/nodes/accessors/ReflectNode.js +26 -23
  330. package/nodes/accessors/SkinningNode.cjs.js +1 -0
  331. package/nodes/accessors/SkinningNode.js +48 -46
  332. package/nodes/accessors/TextureNode.cjs.js +1 -0
  333. package/nodes/accessors/TextureNode.js +29 -14
  334. package/nodes/accessors/UVNode.cjs.js +1 -0
  335. package/nodes/accessors/UVNode.js +11 -5
  336. package/nodes/core/ArrayUniformNode.cjs.js +1 -0
  337. package/nodes/core/ArrayUniformNode.js +7 -3
  338. package/nodes/core/AttributeNode.cjs.js +1 -0
  339. package/nodes/core/AttributeNode.js +12 -5
  340. package/nodes/core/BypassNode.cjs.js +1 -0
  341. package/nodes/core/BypassNode.js +12 -5
  342. package/nodes/core/CodeNode.cjs.js +1 -0
  343. package/nodes/core/CodeNode.js +12 -4
  344. package/nodes/core/ConstNode.cjs.js +1 -0
  345. package/nodes/core/ConstNode.js +7 -3
  346. package/nodes/core/ContextNode.cjs.js +1 -0
  347. package/nodes/core/ContextNode.js +8 -3
  348. package/nodes/core/ExpressionNode.cjs.js +1 -0
  349. package/nodes/core/ExpressionNode.js +9 -5
  350. package/nodes/core/FunctionCallNode.cjs.js +1 -0
  351. package/nodes/core/FunctionCallNode.js +15 -6
  352. package/nodes/core/FunctionNode.cjs.js +1 -0
  353. package/nodes/core/FunctionNode.js +25 -10
  354. package/nodes/core/InputNode.cjs.js +1 -0
  355. package/nodes/core/InputNode.js +23 -12
  356. package/nodes/core/Node.cjs.js +1 -0
  357. package/nodes/core/Node.js +75 -35
  358. package/nodes/core/NodeAttribute.cjs.js +1 -0
  359. package/nodes/core/NodeAttribute.js +4 -2
  360. package/nodes/core/NodeBuilder.cjs.js +1 -0
  361. package/nodes/core/NodeBuilder.js +224 -110
  362. package/nodes/core/NodeCode.cjs.js +1 -0
  363. package/nodes/core/NodeCode.js +7 -4
  364. package/nodes/core/NodeFrame.cjs.js +1 -0
  365. package/nodes/core/NodeFrame.js +12 -9
  366. package/nodes/core/NodeFunction.cjs.js +1 -0
  367. package/nodes/core/NodeFunction.js +17 -0
  368. package/nodes/core/NodeFunctionInput.cjs.js +1 -0
  369. package/nodes/core/NodeFunctionInput.js +5 -3
  370. package/nodes/core/NodeKeywords.cjs.js +1 -0
  371. package/nodes/core/NodeKeywords.js +16 -5
  372. package/nodes/core/NodeParser.cjs.js +1 -0
  373. package/nodes/core/NodeParser.js +8 -0
  374. package/nodes/core/NodeUniform.cjs.js +1 -0
  375. package/nodes/core/NodeUniform.js +7 -3
  376. package/nodes/core/NodeUtils.cjs.js +1 -0
  377. package/nodes/core/NodeUtils.js +43 -39
  378. package/nodes/core/NodeVar.cjs.js +1 -0
  379. package/nodes/core/NodeVar.js +4 -2
  380. package/nodes/core/NodeVary.cjs.js +1 -0
  381. package/nodes/core/NodeVary.js +4 -2
  382. package/nodes/core/PropertyNode.cjs.js +1 -0
  383. package/nodes/core/PropertyNode.js +10 -4
  384. package/nodes/core/TempNode.cjs.js +1 -0
  385. package/nodes/core/TempNode.js +11 -5
  386. package/nodes/core/UniformNode.cjs.js +1 -0
  387. package/nodes/core/UniformNode.js +10 -4
  388. package/nodes/core/VarNode.cjs.js +1 -0
  389. package/nodes/core/VarNode.js +11 -3
  390. package/nodes/core/VaryNode.cjs.js +1 -0
  391. package/nodes/core/VaryNode.js +15 -6
  392. package/nodes/core/constants.cjs.js +1 -0
  393. package/nodes/core/constants.js +7 -20
  394. package/nodes/display/ColorSpaceNode.cjs.js +1 -0
  395. package/nodes/display/ColorSpaceNode.js +38 -34
  396. package/nodes/display/NormalMapNode.cjs.js +1 -0
  397. package/nodes/display/NormalMapNode.js +53 -35
  398. package/nodes/fog/FogNode.cjs.js +1 -0
  399. package/nodes/fog/FogNode.js +9 -5
  400. package/nodes/fog/FogRangeNode.cjs.js +1 -0
  401. package/nodes/fog/FogRangeNode.js +9 -5
  402. package/nodes/functions/BSDFs.cjs.js +1 -0
  403. package/nodes/functions/BSDFs.js +118 -61
  404. package/nodes/functions/PhysicalMaterialFunctions.cjs.js +1 -0
  405. package/nodes/functions/PhysicalMaterialFunctions.js +57 -0
  406. package/nodes/lights/LightContextNode.cjs.js +1 -0
  407. package/nodes/lights/LightContextNode.js +23 -14
  408. package/nodes/lights/LightNode.cjs.js +1 -0
  409. package/nodes/lights/LightNode.js +31 -27
  410. package/nodes/lights/LightsNode.cjs.js +1 -0
  411. package/nodes/lights/LightsNode.js +28 -9
  412. package/nodes/loaders/NodeLoader.cjs.js +1 -0
  413. package/nodes/loaders/NodeLoader.js +42 -27
  414. package/nodes/loaders/NodeMaterialLoader.cjs.js +1 -0
  415. package/nodes/loaders/NodeMaterialLoader.js +10 -4
  416. package/nodes/loaders/NodeObjectLoader.cjs.js +1 -0
  417. package/nodes/loaders/NodeObjectLoader.js +19 -9
  418. package/nodes/materials/LineBasicNodeMaterial.cjs.js +1 -0
  419. package/nodes/materials/LineBasicNodeMaterial.js +10 -5
  420. package/nodes/materials/Materials.cjs.js +1 -0
  421. package/nodes/materials/Materials.js +17 -14
  422. package/nodes/materials/MeshBasicNodeMaterial.cjs.js +1 -0
  423. package/nodes/materials/MeshBasicNodeMaterial.js +10 -5
  424. package/nodes/materials/MeshStandardNodeMaterial.cjs.js +1 -0
  425. package/nodes/materials/MeshStandardNodeMaterial.js +8 -5
  426. package/nodes/materials/NodeMaterial.cjs.js +1 -0
  427. package/nodes/materials/NodeMaterial.js +36 -20
  428. package/nodes/materials/PointsNodeMaterial.cjs.js +1 -0
  429. package/nodes/materials/PointsNodeMaterial.js +10 -5
  430. package/nodes/math/CondNode.cjs.js +1 -0
  431. package/nodes/math/CondNode.js +23 -11
  432. package/nodes/math/MathNode.cjs.js +1 -0
  433. package/nodes/math/MathNode.js +142 -98
  434. package/nodes/math/OperatorNode.cjs.js +1 -0
  435. package/nodes/math/OperatorNode.js +46 -24
  436. package/nodes/parsers/GLSLNodeFunction.cjs.js +1 -0
  437. package/nodes/parsers/GLSLNodeFunction.js +101 -0
  438. package/nodes/parsers/GLSLNodeParser.cjs.js +1 -0
  439. package/nodes/parsers/GLSLNodeParser.js +13 -0
  440. package/nodes/parsers/WGSLNodeFunction.cjs.js +1 -0
  441. package/nodes/parsers/WGSLNodeFunction.js +71 -0
  442. package/nodes/parsers/WGSLNodeParser.cjs.js +1 -0
  443. package/nodes/parsers/WGSLNodeParser.js +13 -0
  444. package/nodes/procedural/CheckerNode.cjs.js +1 -0
  445. package/nodes/procedural/CheckerNode.js +19 -13
  446. package/nodes/utils/ArrayElementNode.cjs.js +1 -0
  447. package/nodes/utils/ArrayElementNode.js +8 -4
  448. package/nodes/utils/ConvertNode.cjs.js +1 -0
  449. package/nodes/utils/ConvertNode.js +8 -3
  450. package/nodes/utils/JoinNode.cjs.js +1 -0
  451. package/nodes/utils/JoinNode.js +11 -7
  452. package/nodes/utils/MatcapUVNode.cjs.js +1 -0
  453. package/nodes/utils/MatcapUVNode.js +11 -8
  454. package/nodes/utils/OscNode.cjs.js +1 -0
  455. package/nodes/utils/OscNode.js +33 -27
  456. package/nodes/utils/SplitNode.cjs.js +1 -0
  457. package/nodes/utils/SplitNode.js +20 -6
  458. package/nodes/utils/SpriteSheetUVNode.cjs.js +1 -0
  459. package/nodes/utils/SpriteSheetUVNode.js +23 -23
  460. package/nodes/utils/TimerNode.cjs.js +1 -0
  461. package/nodes/utils/TimerNode.js +24 -20
  462. package/objects/GroundProjectedEnv.cjs.js +1 -0
  463. package/objects/GroundProjectedEnv.js +37 -22
  464. package/objects/Lensflare.cjs.js +1 -0
  465. package/objects/Lensflare.js +156 -86
  466. package/objects/LightningStorm.cjs.js +1 -0
  467. package/objects/LightningStorm.js +102 -38
  468. package/objects/MarchingCubes.cjs.js +1 -0
  469. package/objects/MarchingCubes.js +303 -150
  470. package/objects/Reflector.cjs.js +1 -0
  471. package/objects/Reflector.js +72 -50
  472. package/objects/ReflectorForSSRPass.cjs.js +1 -0
  473. package/objects/ReflectorForSSRPass.js +131 -80
  474. package/objects/ReflectorRTT.cjs.js +1 -0
  475. package/objects/ReflectorRTT.js +7 -6
  476. package/objects/Refractor.cjs.js +1 -0
  477. package/objects/Refractor.js +106 -64
  478. package/objects/ShadowMesh.cjs.js +1 -0
  479. package/objects/ShadowMesh.js +17 -8
  480. package/objects/Sky.cjs.js +1 -0
  481. package/objects/Sky.js +80 -119
  482. package/objects/Water.cjs.js +1 -0
  483. package/objects/Water.js +127 -83
  484. package/objects/Water2.cjs.js +1 -0
  485. package/objects/Water2.js +108 -72
  486. package/offscreen/jank.cjs.js +1 -0
  487. package/offscreen/jank.js +14 -10
  488. package/offscreen/offscreen.cjs.js +1 -0
  489. package/offscreen/offscreen.js +5 -4
  490. package/offscreen/scene.cjs.js +1 -0
  491. package/offscreen/scene.js +48 -45
  492. package/package.json +3 -3
  493. package/physics/AmmoPhysics.cjs.js +1 -0
  494. package/physics/AmmoPhysics.js +71 -30
  495. package/postprocessing/AdaptiveToneMappingPass.cjs.js +1 -0
  496. package/postprocessing/AdaptiveToneMappingPass.js +123 -97
  497. package/postprocessing/AfterimagePass.cjs.js +1 -0
  498. package/postprocessing/AfterimagePass.js +49 -28
  499. package/postprocessing/BloomPass.cjs.js +1 -0
  500. package/postprocessing/BloomPass.js +69 -43
  501. package/postprocessing/BokehPass.cjs.js +1 -0
  502. package/postprocessing/BokehPass.js +69 -39
  503. package/postprocessing/ClearPass.cjs.js +1 -0
  504. package/postprocessing/ClearPass.js +25 -10
  505. package/postprocessing/CubeTexturePass.cjs.js +1 -0
  506. package/postprocessing/CubeTexturePass.js +27 -28
  507. package/postprocessing/DotScreenPass.cjs.js +1 -0
  508. package/postprocessing/DotScreenPass.js +32 -24
  509. package/postprocessing/EffectComposer.cjs.js +1 -0
  510. package/postprocessing/EffectComposer.js +86 -39
  511. package/postprocessing/FilmPass.cjs.js +1 -0
  512. package/postprocessing/FilmPass.js +30 -25
  513. package/postprocessing/GlitchPass.cjs.js +1 -0
  514. package/postprocessing/GlitchPass.js +61 -38
  515. package/postprocessing/HalftonePass.cjs.js +1 -0
  516. package/postprocessing/HalftonePass.js +39 -19
  517. package/postprocessing/LUTPass.cjs.js +1 -0
  518. package/postprocessing/LUTPass.js +38 -13
  519. package/postprocessing/MaskPass.cjs.js +1 -0
  520. package/postprocessing/MaskPass.js +38 -19
  521. package/postprocessing/OutlinePass.cjs.js +1 -0
  522. package/postprocessing/OutlinePass.js +277 -135
  523. package/postprocessing/Pass.cjs.js +1 -0
  524. package/postprocessing/Pass.js +44 -20
  525. package/postprocessing/RenderPass.cjs.js +1 -0
  526. package/postprocessing/RenderPass.js +36 -13
  527. package/postprocessing/RenderPixelatedPass.cjs.js +1 -0
  528. package/postprocessing/RenderPixelatedPass.js +58 -44
  529. package/postprocessing/SAOPass.cjs.js +1 -0
  530. package/postprocessing/SAOPass.js +189 -154
  531. package/postprocessing/SMAAPass.cjs.js +1 -0
  532. package/postprocessing/SMAAPass.js +84 -64
  533. package/postprocessing/SSAARenderPass.cjs.js +1 -0
  534. package/postprocessing/SSAARenderPass.js +69 -121
  535. package/postprocessing/SSAOPass.cjs.js +1 -0
  536. package/postprocessing/SSAOPass.js +172 -123
  537. package/postprocessing/SSRPass.cjs.js +1 -0
  538. package/postprocessing/SSRPass.js +280 -211
  539. package/postprocessing/SavePass.cjs.js +1 -0
  540. package/postprocessing/SavePass.js +25 -20
  541. package/postprocessing/ShaderPass.cjs.js +1 -0
  542. package/postprocessing/ShaderPass.js +30 -14
  543. package/postprocessing/TAARenderPass.cjs.js +1 -0
  544. package/postprocessing/TAARenderPass.js +61 -42
  545. package/postprocessing/TexturePass.cjs.js +1 -0
  546. package/postprocessing/TexturePass.js +22 -21
  547. package/postprocessing/UnrealBloomPass.cjs.js +1 -0
  548. package/postprocessing/UnrealBloomPass.js +213 -105
  549. package/renderers/CSS2DRenderer.cjs.js +1 -0
  550. package/renderers/CSS2DRenderer.js +56 -44
  551. package/renderers/CSS3DRenderer.cjs.js +1 -0
  552. package/renderers/CSS3DRenderer.js +86 -53
  553. package/renderers/Projector.cjs.js +1 -0
  554. package/renderers/Projector.js +274 -107
  555. package/renderers/SVGRenderer.cjs.js +1 -0
  556. package/renderers/SVGRenderer.js +182 -72
  557. package/renderers/nodes/accessors/CameraNode.cjs.js +1 -0
  558. package/renderers/nodes/accessors/CameraNode.js +40 -29
  559. package/renderers/nodes/accessors/ModelNode.cjs.js +1 -0
  560. package/renderers/nodes/accessors/ModelNode.js +37 -28
  561. package/renderers/nodes/accessors/ModelViewProjectionNode.cjs.js +1 -0
  562. package/renderers/nodes/accessors/ModelViewProjectionNode.js +23 -10
  563. package/renderers/nodes/accessors/NormalNode.cjs.js +1 -0
  564. package/renderers/nodes/accessors/NormalNode.js +45 -35
  565. package/renderers/nodes/accessors/PositionNode.cjs.js +1 -0
  566. package/renderers/nodes/accessors/PositionNode.js +19 -18
  567. package/renderers/nodes/accessors/UVNode.cjs.js +1 -0
  568. package/renderers/nodes/accessors/UVNode.js +10 -5
  569. package/renderers/nodes/core/AttributeNode.cjs.js +1 -0
  570. package/renderers/nodes/core/AttributeNode.js +14 -5
  571. package/renderers/nodes/core/InputNode.cjs.js +1 -0
  572. package/renderers/nodes/core/InputNode.js +14 -4
  573. package/renderers/nodes/core/Node.cjs.js +1 -0
  574. package/renderers/nodes/core/Node.js +17 -7
  575. package/renderers/nodes/core/NodeAttribute.cjs.js +1 -0
  576. package/renderers/nodes/core/NodeAttribute.js +6 -3
  577. package/renderers/nodes/core/NodeBuilder.cjs.js +1 -0
  578. package/renderers/nodes/core/NodeBuilder.js +154 -87
  579. package/renderers/nodes/core/NodeFrame.cjs.js +1 -0
  580. package/renderers/nodes/core/NodeFrame.js +12 -9
  581. package/renderers/nodes/core/NodeSlot.cjs.js +1 -0
  582. package/renderers/nodes/core/NodeSlot.js +3 -2
  583. package/renderers/nodes/core/NodeUniform.cjs.js +1 -0
  584. package/renderers/nodes/core/NodeUniform.js +9 -4
  585. package/renderers/nodes/core/NodeVary.cjs.js +1 -0
  586. package/renderers/nodes/core/NodeVary.js +7 -4
  587. package/renderers/nodes/core/VaryNode.cjs.js +1 -0
  588. package/renderers/nodes/core/VaryNode.js +12 -6
  589. package/renderers/nodes/core/constants.cjs.js +1 -0
  590. package/renderers/nodes/core/constants.js +13 -16
  591. package/renderers/nodes/inputs/ColorNode.cjs.js +1 -0
  592. package/renderers/nodes/inputs/ColorNode.js +11 -5
  593. package/renderers/nodes/inputs/FloatNode.cjs.js +1 -0
  594. package/renderers/nodes/inputs/FloatNode.js +11 -5
  595. package/renderers/nodes/inputs/Matrix3Node.cjs.js +1 -0
  596. package/renderers/nodes/inputs/Matrix3Node.js +13 -7
  597. package/renderers/nodes/inputs/Matrix4Node.cjs.js +1 -0
  598. package/renderers/nodes/inputs/Matrix4Node.js +13 -7
  599. package/renderers/nodes/inputs/TextureNode.cjs.js +1 -0
  600. package/renderers/nodes/inputs/TextureNode.js +15 -7
  601. package/renderers/nodes/inputs/Vector2Node.cjs.js +1 -0
  602. package/renderers/nodes/inputs/Vector2Node.js +11 -5
  603. package/renderers/nodes/inputs/Vector3Node.cjs.js +1 -0
  604. package/renderers/nodes/inputs/Vector3Node.js +13 -7
  605. package/renderers/nodes/inputs/Vector4Node.cjs.js +1 -0
  606. package/renderers/nodes/inputs/Vector4Node.js +13 -7
  607. package/renderers/nodes/math/MathNode.cjs.js +1 -0
  608. package/renderers/nodes/math/MathNode.js +30 -20
  609. package/renderers/nodes/math/OperatorNode.cjs.js +1 -0
  610. package/renderers/nodes/math/OperatorNode.js +20 -4
  611. package/renderers/nodes/utils/SwitchNode.cjs.js +1 -0
  612. package/renderers/nodes/utils/SwitchNode.js +9 -4
  613. package/renderers/nodes/utils/TimerNode.cjs.js +1 -0
  614. package/renderers/nodes/utils/TimerNode.js +10 -5
  615. package/renderers/webgpu/WebGPU.cjs.js +1 -0
  616. package/renderers/webgpu/WebGPU.js +16 -14
  617. package/renderers/webgpu/WebGPUAttributes.cjs.js +1 -0
  618. package/renderers/webgpu/WebGPUAttributes.js +23 -16
  619. package/renderers/webgpu/WebGPUBackground.cjs.js +1 -0
  620. package/renderers/webgpu/WebGPUBackground.js +30 -13
  621. package/renderers/webgpu/WebGPUBinding.cjs.js +1 -0
  622. package/renderers/webgpu/WebGPUBinding.js +7 -4
  623. package/renderers/webgpu/WebGPUBindings.cjs.js +1 -0
  624. package/renderers/webgpu/WebGPUBindings.js +57 -21
  625. package/renderers/webgpu/WebGPUComputePipelines.cjs.js +1 -0
  626. package/renderers/webgpu/WebGPUComputePipelines.js +25 -14
  627. package/renderers/webgpu/WebGPUGeometries.cjs.js +1 -0
  628. package/renderers/webgpu/WebGPUGeometries.js +15 -5
  629. package/renderers/webgpu/WebGPUInfo.cjs.js +1 -0
  630. package/renderers/webgpu/WebGPUInfo.js +8 -3
  631. package/renderers/webgpu/WebGPUObjects.cjs.js +1 -0
  632. package/renderers/webgpu/WebGPUObjects.js +10 -5
  633. package/renderers/webgpu/WebGPUProperties.cjs.js +1 -0
  634. package/renderers/webgpu/WebGPUProperties.js +11 -5
  635. package/renderers/webgpu/WebGPURenderLists.cjs.js +1 -0
  636. package/renderers/webgpu/WebGPURenderLists.js +36 -20
  637. package/renderers/webgpu/WebGPURenderPipelines.cjs.js +1 -0
  638. package/renderers/webgpu/WebGPURenderPipelines.js +387 -260
  639. package/renderers/webgpu/WebGPURenderer.cjs.js +1 -0
  640. package/renderers/webgpu/WebGPURenderer.js +262 -124
  641. package/renderers/webgpu/WebGPUSampledTexture.cjs.js +1 -0
  642. package/renderers/webgpu/WebGPUSampledTexture.js +31 -18
  643. package/renderers/webgpu/WebGPUSampler.cjs.js +1 -0
  644. package/renderers/webgpu/WebGPUSampler.js +12 -7
  645. package/renderers/webgpu/WebGPUStorageBuffer.cjs.js +1 -0
  646. package/renderers/webgpu/WebGPUStorageBuffer.js +12 -7
  647. package/renderers/webgpu/WebGPUTextureRenderer.cjs.js +1 -0
  648. package/renderers/webgpu/WebGPUTextureRenderer.js +11 -5
  649. package/renderers/webgpu/WebGPUTextureUtils.cjs.js +1 -0
  650. package/renderers/webgpu/WebGPUTextureUtils.js +40 -29
  651. package/renderers/webgpu/WebGPUTextures.cjs.js +1 -0
  652. package/renderers/webgpu/WebGPUTextures.js +333 -186
  653. package/renderers/webgpu/WebGPUUniform.cjs.js +1 -0
  654. package/renderers/webgpu/WebGPUUniform.js +51 -25
  655. package/renderers/webgpu/WebGPUUniformsGroup.cjs.js +1 -0
  656. package/renderers/webgpu/WebGPUUniformsGroup.js +72 -32
  657. package/renderers/webgpu/constants.cjs.js +1 -0
  658. package/renderers/webgpu/constants.js +181 -190
  659. package/renderers/webgpu/nodes/ShaderLib.cjs.js +1 -0
  660. package/renderers/webgpu/nodes/ShaderLib.js +2 -2
  661. package/renderers/webgpu/nodes/WebGPUNodeBuilder.cjs.js +1 -0
  662. package/renderers/webgpu/nodes/WebGPUNodeBuilder.js +124 -53
  663. package/renderers/webgpu/nodes/WebGPUNodeUniform.cjs.js +1 -0
  664. package/renderers/webgpu/nodes/WebGPUNodeUniform.js +31 -17
  665. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.cjs.js +1 -0
  666. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.js +9 -8
  667. package/renderers/webgpu/nodes/WebGPUNodes.cjs.js +1 -0
  668. package/renderers/webgpu/nodes/WebGPUNodes.js +45 -7
  669. package/shaders/ACESFilmicToneMappingShader.cjs.js +1 -0
  670. package/shaders/ACESFilmicToneMappingShader.js +24 -44
  671. package/shaders/AfterimageShader.cjs.js +1 -0
  672. package/shaders/AfterimageShader.js +18 -28
  673. package/shaders/BasicShader.cjs.js +1 -0
  674. package/shaders/BasicShader.js +7 -9
  675. package/shaders/BleachBypassShader.cjs.js +1 -0
  676. package/shaders/BleachBypassShader.js +15 -31
  677. package/shaders/BlendShader.cjs.js +1 -0
  678. package/shaders/BlendShader.js +19 -26
  679. package/shaders/BokehShader.cjs.js +1 -0
  680. package/shaders/BokehShader.js +36 -98
  681. package/shaders/BokehShader2.cjs.js +1 -0
  682. package/shaders/BokehShader2.js +90 -261
  683. package/shaders/BrightnessContrastShader.cjs.js +1 -0
  684. package/shaders/BrightnessContrastShader.js +19 -28
  685. package/shaders/ColorCorrectionShader.cjs.js +1 -0
  686. package/shaders/ColorCorrectionShader.js +22 -26
  687. package/shaders/ColorifyShader.cjs.js +1 -0
  688. package/shaders/ColorifyShader.js +16 -24
  689. package/shaders/ConvolutionShader.cjs.js +1 -0
  690. package/shaders/ConvolutionShader.js +36 -40
  691. package/shaders/CopyShader.cjs.js +1 -0
  692. package/shaders/CopyShader.js +13 -21
  693. package/shaders/DOFMipMapShader.cjs.js +1 -0
  694. package/shaders/DOFMipMapShader.js +21 -28
  695. package/shaders/DepthLimitedBlurShader.cjs.js +1 -0
  696. package/shaders/DepthLimitedBlurShader.js +40 -85
  697. package/shaders/DigitalGlitch.cjs.js +1 -0
  698. package/shaders/DigitalGlitch.js +46 -74
  699. package/shaders/DotScreenShader.cjs.js +1 -0
  700. package/shaders/DotScreenShader.js +27 -35
  701. package/shaders/FXAAShader.cjs.js +1 -0
  702. package/shaders/FXAAShader.js +19 -1094
  703. package/shaders/FilmShader.cjs.js +1 -0
  704. package/shaders/FilmShader.js +52 -38
  705. package/shaders/FocusShader.cjs.js +1 -0
  706. package/shaders/FocusShader.js +24 -51
  707. package/shaders/FreiChenShader.cjs.js +1 -0
  708. package/shaders/FreiChenShader.js +24 -57
  709. package/shaders/FresnelShader.cjs.js +1 -0
  710. package/shaders/FresnelShader.js +22 -43
  711. package/shaders/GammaCorrectionShader.cjs.js +1 -0
  712. package/shaders/GammaCorrectionShader.js +11 -19
  713. package/shaders/GodRaysShader.cjs.js +1 -0
  714. package/shaders/GodRaysShader.js +94 -103
  715. package/shaders/HalftoneShader.cjs.js +1 -0
  716. package/shaders/HalftoneShader.js +65 -208
  717. package/shaders/HorizontalBlurShader.cjs.js +1 -0
  718. package/shaders/HorizontalBlurShader.js +23 -7
  719. package/shaders/HorizontalTiltShiftShader.cjs.js +1 -0
  720. package/shaders/HorizontalTiltShiftShader.js +21 -33
  721. package/shaders/HueSaturationShader.cjs.js +1 -0
  722. package/shaders/HueSaturationShader.js +21 -37
  723. package/shaders/KaleidoShader.cjs.js +1 -0
  724. package/shaders/KaleidoShader.js +22 -30
  725. package/shaders/LuminosityHighPassShader.cjs.js +1 -0
  726. package/shaders/LuminosityHighPassShader.js +27 -33
  727. package/shaders/LuminosityShader.cjs.js +1 -0
  728. package/shaders/LuminosityShader.js +11 -21
  729. package/shaders/MirrorShader.cjs.js +1 -0
  730. package/shaders/MirrorShader.js +16 -31
  731. package/shaders/NormalMapShader.cjs.js +1 -0
  732. package/shaders/NormalMapShader.js +23 -27
  733. package/shaders/ParallaxShader.cjs.js +1 -0
  734. package/shaders/ParallaxShader.js +48 -107
  735. package/shaders/PixelShader.cjs.js +1 -0
  736. package/shaders/PixelShader.js +16 -24
  737. package/shaders/RGBShiftShader.cjs.js +1 -0
  738. package/shaders/RGBShiftShader.js +22 -26
  739. package/shaders/SAOShader.cjs.js +1 -0
  740. package/shaders/SAOShader.js +48 -132
  741. package/shaders/SMAAShader.cjs.js +1 -0
  742. package/shaders/SMAAShader.js +135 -256
  743. package/shaders/SSAOShader.cjs.js +1 -0
  744. package/shaders/SSAOShader.js +81 -153
  745. package/shaders/SSRShader.cjs.js +1 -0
  746. package/shaders/SSRShader.js +87 -32
  747. package/shaders/SepiaShader.cjs.js +1 -0
  748. package/shaders/SepiaShader.js +15 -25
  749. package/shaders/SobelOperatorShader.cjs.js +1 -0
  750. package/shaders/SobelOperatorShader.js +29 -40
  751. package/shaders/SubsurfaceScatteringShader.cjs.js +1 -0
  752. package/shaders/SubsurfaceScatteringShader.js +39 -53
  753. package/shaders/TechnicolorShader.cjs.js +1 -0
  754. package/shaders/TechnicolorShader.js +13 -20
  755. package/shaders/ToneMapShader.cjs.js +1 -0
  756. package/shaders/ToneMapShader.js +28 -44
  757. package/shaders/ToonShader.cjs.js +1 -0
  758. package/shaders/ToonShader.js +96 -172
  759. package/shaders/TriangleBlurShader.cjs.js +1 -0
  760. package/shaders/TriangleBlurShader.js +23 -32
  761. package/shaders/UnpackDepthRGBAShader.cjs.js +1 -0
  762. package/shaders/UnpackDepthRGBAShader.js +14 -22
  763. package/shaders/VerticalBlurShader.cjs.js +1 -0
  764. package/shaders/VerticalBlurShader.js +23 -7
  765. package/shaders/VerticalTiltShiftShader.cjs.js +1 -0
  766. package/shaders/VerticalTiltShiftShader.js +21 -33
  767. package/shaders/VignetteShader.cjs.js +1 -0
  768. package/shaders/VignetteShader.js +28 -24
  769. package/shaders/VolumeShader.cjs.js +1 -0
  770. package/shaders/VolumeShader.js +77 -174
  771. package/shaders/WaterRefractionShader.cjs.js +1 -0
  772. package/shaders/WaterRefractionShader.js +6 -38
  773. package/shaders/types.cjs.js +1 -0
  774. package/shaders/types.js +1 -1
  775. package/textures/FlakesTexture.cjs.js +1 -0
  776. package/textures/FlakesTexture.js +10 -8
  777. package/types/helpers.cjs.js +1 -0
  778. package/types/helpers.js +2 -3
  779. package/types/shared.cjs.js +1 -0
  780. package/types/shared.js +1 -0
  781. package/types/utils.cjs.js +1 -0
  782. package/types/utils.js +1 -0
  783. package/utils/BufferGeometryUtils.cjs.js +1 -0
  784. package/utils/BufferGeometryUtils.js +325 -251
  785. package/utils/GeometryCompressionUtils.cjs.js +1 -0
  786. package/utils/GeometryCompressionUtils.js +239 -241
  787. package/utils/GeometryUtils.cjs.js +1 -0
  788. package/utils/GeometryUtils.js +94 -41
  789. package/utils/LDrawUtils.cjs.js +1 -0
  790. package/utils/LDrawUtils.d.ts +5 -0
  791. package/utils/LDrawUtils.js +144 -0
  792. package/utils/RoughnessMipmapper.cjs.js +1 -0
  793. package/utils/RoughnessMipmapper.js +82 -38
  794. package/utils/SceneUtils.cjs.js +1 -0
  795. package/utils/SceneUtils.js +20 -15
  796. package/utils/ShadowMapViewer.cjs.js +1 -0
  797. package/utils/ShadowMapViewer.js +95 -49
  798. package/utils/SkeletonUtils.cjs.js +1 -0
  799. package/utils/SkeletonUtils.js +165 -74
  800. package/utils/UVsDebug.cjs.js +1 -0
  801. package/utils/UVsDebug.js +62 -32
  802. package/utils/WorkerPool.cjs.js +1 -0
  803. package/utils/WorkerPool.js +33 -13
  804. package/webxr/ARButton.cjs.js +1 -0
  805. package/webxr/ARButton.js +98 -72
  806. package/webxr/OculusHandModel.cjs.js +1 -0
  807. package/webxr/OculusHandModel.js +37 -18
  808. package/webxr/OculusHandPointerModel.cjs.js +1 -0
  809. package/webxr/OculusHandPointerModel.js +80 -58
  810. package/webxr/Text2D.cjs.js +1 -0
  811. package/webxr/Text2D.js +19 -37
  812. package/webxr/VRButton.cjs.js +1 -0
  813. package/webxr/VRButton.js +90 -59
  814. package/webxr/XRControllerModelFactory.cjs.js +1 -0
  815. package/webxr/XRControllerModelFactory.js +116 -58
  816. package/webxr/XREstimatedLight.cjs.js +1 -0
  817. package/webxr/XREstimatedLight.js +66 -39
  818. package/webxr/XRHandMeshModel.cjs.js +1 -0
  819. package/webxr/XRHandMeshModel.js +29 -40
  820. package/webxr/XRHandModelFactory.cjs.js +1 -0
  821. package/webxr/XRHandModelFactory.js +31 -28
  822. package/webxr/XRHandPrimitiveModel.cjs.js +1 -0
  823. package/webxr/XRHandPrimitiveModel.js +27 -41
  824. package/animation/AnimationClipCreator.mjs +0 -57
  825. package/animation/CCDIKSolver.mjs +0 -234
  826. package/animation/MMDAnimationHelper.mjs +0 -514
  827. package/animation/MMDPhysics.mjs +0 -769
  828. package/cameras/CinematicCamera.mjs +0 -129
  829. package/controls/ArcballControls.mjs +0 -1737
  830. package/controls/DeviceOrientationControls.mjs +0 -74
  831. package/controls/DragControls.mjs +0 -172
  832. package/controls/FirstPersonControls.mjs +0 -220
  833. package/controls/FlyControls.mjs +0 -239
  834. package/controls/OrbitControls.mjs +0 -731
  835. package/controls/PointerLockControls.mjs +0 -88
  836. package/controls/TrackballControls.mjs +0 -481
  837. package/controls/TransformControls.mjs +0 -1068
  838. package/controls/experimental/CameraControls.mjs +0 -673
  839. package/csm/CSM.mjs +0 -244
  840. package/csm/CSMFrustum.mjs +0 -75
  841. package/csm/CSMHelper.mjs +0 -114
  842. package/csm/CSMShader.mjs +0 -251
  843. package/curves/CurveExtras.mjs +0 -224
  844. package/curves/NURBSCurve.mjs +0 -35
  845. package/curves/NURBSSurface.mjs +0 -28
  846. package/curves/NURBSUtils.mjs +0 -226
  847. package/deprecated/Geometry.mjs +0 -966
  848. package/effects/AnaglyphEffect.mjs +0 -120
  849. package/effects/AsciiEffect.mjs +0 -173
  850. package/effects/OutlineEffect.mjs +0 -295
  851. package/effects/ParallaxBarrierEffect.mjs +0 -64
  852. package/effects/PeppersGhostEffect.mjs +0 -85
  853. package/effects/StereoEffect.mjs +0 -32
  854. package/environments/RoomEnvironment.mjs +0 -78
  855. package/exporters/ColladaExporter.mjs +0 -299
  856. package/exporters/DRACOExporter.mjs +0 -132
  857. package/exporters/GLTFExporter.mjs +0 -1381
  858. package/exporters/MMDExporter.mjs +0 -102
  859. package/exporters/OBJExporter.mjs +0 -166
  860. package/exporters/PLYExporter.mjs +0 -278
  861. package/exporters/STLExporter.mjs +0 -129
  862. package/exporters/USDZExporter.mjs +0 -328
  863. package/geometries/BoxLineGeometry.mjs +0 -45
  864. package/geometries/ConvexGeometry.mjs +0 -29
  865. package/geometries/DecalGeometry.mjs +0 -184
  866. package/geometries/LightningStrike.mjs +0 -547
  867. package/geometries/ParametricGeometries.mjs +0 -129
  868. package/geometries/ParametricGeometry.mjs +0 -63
  869. package/geometries/RoundedBoxGeometry.mjs +0 -91
  870. package/geometries/TeapotGeometry.mjs +0 -1557
  871. package/geometries/TextGeometry.mjs +0 -23
  872. package/helpers/LightProbeHelper.mjs +0 -72
  873. package/helpers/PositionalAudioHelper.mjs +0 -68
  874. package/helpers/RectAreaLightHelper.mjs +0 -44
  875. package/helpers/VertexNormalsHelper.mjs +0 -54
  876. package/helpers/VertexTangentsHelper.mjs +0 -45
  877. package/index.mjs +0 -968
  878. package/interactive/SelectionBox.mjs +0 -137
  879. package/interactive/SelectionHelper.mjs +0 -54
  880. package/libs/MeshoptDecoder.mjs +0 -210
  881. package/libs/MotionControllers.mjs +0 -261
  882. package/lights/LightProbeGenerator.mjs +0 -145
  883. package/lights/RectAreaLightUniformsLib.mjs +0 -32842
  884. package/lines/Line2.mjs +0 -13
  885. package/lines/LineGeometry.mjs +0 -44
  886. package/lines/LineMaterial.mjs +0 -539
  887. package/lines/LineSegments2.mjs +0 -202
  888. package/lines/LineSegmentsGeometry.mjs +0 -124
  889. package/lines/Wireframe.mjs +0 -31
  890. package/lines/WireframeGeometry2.mjs +0 -13
  891. package/loaders/3DMLoader.mjs +0 -802
  892. package/loaders/3MFLoader.mjs +0 -837
  893. package/loaders/AMFLoader.mjs +0 -284
  894. package/loaders/AssimpLoader.mjs +0 -1396
  895. package/loaders/BVHLoader.mjs +0 -207
  896. package/loaders/BasisTextureLoader.mjs +0 -474
  897. package/loaders/ColladaLoader.mjs +0 -2403
  898. package/loaders/DDSLoader.mjs +0 -148
  899. package/loaders/DRACOLoader.mjs +0 -340
  900. package/loaders/EXRLoader.mjs +0 -1351
  901. package/loaders/FBXLoader.mjs +0 -2362
  902. package/loaders/FontLoader.mjs +0 -111
  903. package/loaders/GCodeLoader.mjs +0 -141
  904. package/loaders/GLTFLoader.mjs +0 -2316
  905. package/loaders/HDRCubeTextureLoader.mjs +0 -77
  906. package/loaders/KMZLoader.mjs +0 -75
  907. package/loaders/KTX2Loader.mjs +0 -427
  908. package/loaders/KTXLoader.mjs +0 -87
  909. package/loaders/LDrawLoader.mjs +0 -1409
  910. package/loaders/LUT3dlLoader.mjs +0 -100
  911. package/loaders/LUTCubeLoader.mjs +0 -104
  912. package/loaders/LWOLoader.mjs +0 -625
  913. package/loaders/LottieLoader.mjs +0 -47
  914. package/loaders/MD2Loader.mjs +0 -359
  915. package/loaders/MDDLoader.mjs +0 -58
  916. package/loaders/MMDLoader.mjs +0 -998
  917. package/loaders/MTLLoader.mjs +0 -280
  918. package/loaders/NRRDLoader.mjs +0 -401
  919. package/loaders/NodeMaterialLoader.mjs +0 -146
  920. package/loaders/OBJLoader.mjs +0 -487
  921. package/loaders/PCDLoader.mjs +0 -248
  922. package/loaders/PDBLoader.mjs +0 -246
  923. package/loaders/PLYLoader.mjs +0 -317
  924. package/loaders/PRWMLoader.mjs +0 -160
  925. package/loaders/PVRLoader.mjs +0 -131
  926. package/loaders/RGBELoader.mjs +0 -244
  927. package/loaders/RGBMLoader.mjs +0 -998
  928. package/loaders/STLLoader.mjs +0 -190
  929. package/loaders/SVGLoader.mjs +0 -1709
  930. package/loaders/TDSLoader.mjs +0 -480
  931. package/loaders/TGALoader.mjs +0 -285
  932. package/loaders/TTFLoader.mjs +0 -131
  933. package/loaders/TiltLoader.mjs +0 -373
  934. package/loaders/VOXLoader.mjs +0 -431
  935. package/loaders/VRMLLoader.mjs +0 -2093
  936. package/loaders/VRMLoader.mjs +0 -38
  937. package/loaders/VTKLoader.mjs +0 -646
  938. package/loaders/XLoader.mjs +0 -1258
  939. package/loaders/XYZLoader.mjs +0 -60
  940. package/loaders/lwo/IFFParser.mjs +0 -697
  941. package/loaders/lwo/LWO2Parser.mjs +0 -327
  942. package/loaders/lwo/LWO3Parser.mjs +0 -298
  943. package/math/Capsule.mjs +0 -100
  944. package/math/ColorConverter.mjs +0 -51
  945. package/math/ConvexHull.mjs +0 -574
  946. package/math/ImprovedNoise.mjs +0 -302
  947. package/math/Lut.mjs +0 -135
  948. package/math/MeshSurfaceSampler.mjs +0 -107
  949. package/math/OBB.mjs +0 -235
  950. package/math/Octree.mjs +0 -278
  951. package/math/SimplexNoise.mjs +0 -425
  952. package/misc/ConvexObjectBreaker.mjs +0 -292
  953. package/misc/GPUComputationRenderer.mjs +0 -171
  954. package/misc/Gyroscope.mjs +0 -35
  955. package/misc/MD2Character.mjs +0 -162
  956. package/misc/MD2CharacterComplex.mjs +0 -328
  957. package/misc/MorphAnimMesh.mjs +0 -40
  958. package/misc/MorphBlendMesh.mjs +0 -179
  959. package/misc/ProgressiveLightmap.mjs +0 -166
  960. package/misc/RollerCoaster.mjs +0 -346
  961. package/misc/TubePainter.mjs +0 -123
  962. package/misc/Volume.mjs +0 -244
  963. package/misc/VolumeSlice.mjs +0 -106
  964. package/misc/WebGL.mjs +0 -74
  965. package/modifiers/CurveModifier.mjs +0 -182
  966. package/modifiers/EdgeSplitModifier.mjs +0 -162
  967. package/modifiers/SimplifyModifier.mjs +0 -282
  968. package/modifiers/TessellateModifier.mjs +0 -206
  969. package/nodes/Nodes.mjs +0 -400
  970. package/nodes/ShaderNode.mjs +0 -408
  971. package/nodes/accessors/BufferNode.mjs +0 -15
  972. package/nodes/accessors/CameraNode.mjs +0 -44
  973. package/nodes/accessors/CubeTextureNode.mjs +0 -42
  974. package/nodes/accessors/MaterialNode.mjs +0 -71
  975. package/nodes/accessors/MaterialReferenceNode.mjs +0 -14
  976. package/nodes/accessors/ModelNode.mjs +0 -9
  977. package/nodes/accessors/ModelViewProjectionNode.mjs +0 -24
  978. package/nodes/accessors/NormalNode.mjs +0 -62
  979. package/nodes/accessors/Object3DNode.mjs +0 -76
  980. package/nodes/accessors/PointUVNode.mjs +0 -13
  981. package/nodes/accessors/PositionNode.mjs +0 -65
  982. package/nodes/accessors/ReferenceNode.mjs +0 -37
  983. package/nodes/accessors/ReflectNode.mjs +0 -43
  984. package/nodes/accessors/SkinningNode.mjs +0 -58
  985. package/nodes/accessors/TextureNode.mjs +0 -54
  986. package/nodes/accessors/UVNode.mjs +0 -23
  987. package/nodes/core/ArrayUniformNode.mjs +0 -14
  988. package/nodes/core/AttributeNode.mjs +0 -30
  989. package/nodes/core/BypassNode.mjs +0 -22
  990. package/nodes/core/CodeNode.mjs +0 -28
  991. package/nodes/core/ConstNode.mjs +0 -14
  992. package/nodes/core/ContextNode.mjs +0 -22
  993. package/nodes/core/ExpressionNode.mjs +0 -19
  994. package/nodes/core/FunctionCallNode.mjs +0 -37
  995. package/nodes/core/FunctionNode.mjs +0 -56
  996. package/nodes/core/InputNode.mjs +0 -38
  997. package/nodes/core/Node.mjs +0 -139
  998. package/nodes/core/NodeAttribute.mjs +0 -10
  999. package/nodes/core/NodeBuilder.mjs +0 -395
  1000. package/nodes/core/NodeCode.mjs +0 -11
  1001. package/nodes/core/NodeFrame.mjs +0 -35
  1002. package/nodes/core/NodeFunctionInput.mjs +0 -13
  1003. package/nodes/core/NodeKeywords.mjs +0 -44
  1004. package/nodes/core/NodeUniform.mjs +0 -18
  1005. package/nodes/core/NodeUtils.mjs +0 -57
  1006. package/nodes/core/NodeVar.mjs +0 -10
  1007. package/nodes/core/NodeVary.mjs +0 -10
  1008. package/nodes/core/PropertyNode.mjs +0 -21
  1009. package/nodes/core/TempNode.mjs +0 -25
  1010. package/nodes/core/UniformNode.mjs +0 -23
  1011. package/nodes/core/VarNode.mjs +0 -31
  1012. package/nodes/core/VaryNode.mjs +0 -30
  1013. package/nodes/core/constants.mjs +0 -24
  1014. package/nodes/display/ColorSpaceNode.mjs +0 -63
  1015. package/nodes/display/NormalMapNode.mjs +0 -54
  1016. package/nodes/fog/FogNode.mjs +0 -15
  1017. package/nodes/fog/FogRangeNode.mjs +0 -17
  1018. package/nodes/functions/BSDFs.mjs +0 -64
  1019. package/nodes/lights/LightContextNode.mjs +0 -35
  1020. package/nodes/lights/LightNode.mjs +0 -58
  1021. package/nodes/lights/LightsNode.mjs +0 -59
  1022. package/nodes/loaders/NodeLoader.mjs +0 -66
  1023. package/nodes/loaders/NodeMaterialLoader.mjs +0 -24
  1024. package/nodes/loaders/NodeObjectLoader.mjs +0 -40
  1025. package/nodes/materials/LineBasicNodeMaterial.mjs +0 -27
  1026. package/nodes/materials/Materials.mjs +0 -28
  1027. package/nodes/materials/MeshBasicNodeMaterial.mjs +0 -28
  1028. package/nodes/materials/MeshStandardNodeMaterial.mjs +0 -41
  1029. package/nodes/materials/NodeMaterial.mjs +0 -64
  1030. package/nodes/materials/PointsNodeMaterial.mjs +0 -30
  1031. package/nodes/math/CondNode.mjs +0 -38
  1032. package/nodes/math/MathNode.mjs +0 -163
  1033. package/nodes/math/OperatorNode.mjs +0 -103
  1034. package/nodes/procedural/CheckerNode.mjs +0 -21
  1035. package/nodes/utils/ArrayElementNode.mjs +0 -19
  1036. package/nodes/utils/ConvertNode.mjs +0 -25
  1037. package/nodes/utils/JoinNode.mjs +0 -26
  1038. package/nodes/utils/MatcapUVNode.mjs +0 -16
  1039. package/nodes/utils/OscNode.mjs +0 -50
  1040. package/nodes/utils/SplitNode.mjs +0 -45
  1041. package/nodes/utils/SpriteSheetUVNode.mjs +0 -40
  1042. package/nodes/utils/TimerNode.mjs +0 -44
  1043. package/objects/GroundProjectedEnv.mjs +0 -130
  1044. package/objects/Lensflare.mjs +0 -262
  1045. package/objects/LightningStorm.mjs +0 -110
  1046. package/objects/MarchingCubes.mjs +0 -457
  1047. package/objects/Reflector.mjs +0 -166
  1048. package/objects/ReflectorForSSRPass.mjs +0 -247
  1049. package/objects/ReflectorRTT.mjs +0 -10
  1050. package/objects/Refractor.mjs +0 -178
  1051. package/objects/ShadowMesh.mjs +0 -41
  1052. package/objects/Sky.mjs +0 -124
  1053. package/objects/Water.mjs +0 -235
  1054. package/objects/Water2.mjs +0 -252
  1055. package/offscreen/jank.mjs +0 -27
  1056. package/offscreen/offscreen.mjs +0 -5
  1057. package/offscreen/scene.mjs +0 -52
  1058. package/physics/AmmoPhysics.mjs +0 -165
  1059. package/postprocessing/AdaptiveToneMappingPass.mjs +0 -221
  1060. package/postprocessing/AfterimagePass.mjs +0 -55
  1061. package/postprocessing/BloomPass.mjs +0 -90
  1062. package/postprocessing/BokehPass.mjs +0 -76
  1063. package/postprocessing/ClearPass.mjs +0 -27
  1064. package/postprocessing/CubeTexturePass.mjs +0 -49
  1065. package/postprocessing/DotScreenPass.mjs +0 -40
  1066. package/postprocessing/EffectComposer.mjs +0 -139
  1067. package/postprocessing/FilmPass.mjs +0 -42
  1068. package/postprocessing/GlitchPass.mjs +0 -75
  1069. package/postprocessing/HalftonePass.mjs +0 -44
  1070. package/postprocessing/LUTPass.mjs +0 -136
  1071. package/postprocessing/MaskPass.mjs +0 -60
  1072. package/postprocessing/OutlinePass.mjs +0 -438
  1073. package/postprocessing/Pass.mjs +0 -37
  1074. package/postprocessing/RenderPass.mjs +0 -48
  1075. package/postprocessing/RenderPixelatedPass.mjs +0 -199
  1076. package/postprocessing/SAOPass.mjs +0 -282
  1077. package/postprocessing/SMAAPass.mjs +0 -112
  1078. package/postprocessing/SSAARenderPass.mjs +0 -170
  1079. package/postprocessing/SSAOPass.mjs +0 -265
  1080. package/postprocessing/SSRPass.mjs +0 -432
  1081. package/postprocessing/SavePass.mjs +0 -37
  1082. package/postprocessing/ShaderPass.mjs +0 -39
  1083. package/postprocessing/TAARenderPass.mjs +0 -88
  1084. package/postprocessing/TexturePass.mjs +0 -39
  1085. package/postprocessing/UnrealBloomPass.mjs +0 -220
  1086. package/renderers/CSS2DRenderer.mjs +0 -112
  1087. package/renderers/CSS3DRenderer.mjs +0 -133
  1088. package/renderers/Projector.mjs +0 -511
  1089. package/renderers/SVGRenderer.mjs +0 -306
  1090. package/renderers/nodes/accessors/CameraNode.mjs +0 -63
  1091. package/renderers/nodes/accessors/ModelNode.mjs +0 -61
  1092. package/renderers/nodes/accessors/ModelViewProjectionNode.mjs +0 -21
  1093. package/renderers/nodes/accessors/NormalNode.mjs +0 -61
  1094. package/renderers/nodes/accessors/PositionNode.mjs +0 -30
  1095. package/renderers/nodes/accessors/UVNode.mjs +0 -13
  1096. package/renderers/nodes/core/AttributeNode.mjs +0 -35
  1097. package/renderers/nodes/core/InputNode.mjs +0 -31
  1098. package/renderers/nodes/core/Node.mjs +0 -34
  1099. package/renderers/nodes/core/NodeAttribute.mjs +0 -10
  1100. package/renderers/nodes/core/NodeBuilder.mjs +0 -243
  1101. package/renderers/nodes/core/NodeFrame.mjs +0 -35
  1102. package/renderers/nodes/core/NodeSlot.mjs +0 -10
  1103. package/renderers/nodes/core/NodeUniform.mjs +0 -18
  1104. package/renderers/nodes/core/NodeVary.mjs +0 -11
  1105. package/renderers/nodes/core/VaryNode.mjs +0 -22
  1106. package/renderers/nodes/core/constants.mjs +0 -22
  1107. package/renderers/nodes/inputs/ColorNode.mjs +0 -11
  1108. package/renderers/nodes/inputs/FloatNode.mjs +0 -11
  1109. package/renderers/nodes/inputs/Matrix3Node.mjs +0 -12
  1110. package/renderers/nodes/inputs/Matrix4Node.mjs +0 -12
  1111. package/renderers/nodes/inputs/TextureNode.mjs +0 -20
  1112. package/renderers/nodes/inputs/Vector2Node.mjs +0 -11
  1113. package/renderers/nodes/inputs/Vector3Node.mjs +0 -12
  1114. package/renderers/nodes/inputs/Vector4Node.mjs +0 -12
  1115. package/renderers/nodes/math/MathNode.mjs +0 -55
  1116. package/renderers/nodes/math/OperatorNode.mjs +0 -42
  1117. package/renderers/nodes/utils/SwitchNode.mjs +0 -20
  1118. package/renderers/nodes/utils/TimerNode.mjs +0 -14
  1119. package/renderers/webgpu/WebGPU.mjs +0 -24
  1120. package/renderers/webgpu/WebGPUAttributes.mjs +0 -69
  1121. package/renderers/webgpu/WebGPUBackground.mjs +0 -61
  1122. package/renderers/webgpu/WebGPUBinding.mjs +0 -14
  1123. package/renderers/webgpu/WebGPUBindings.mjs +0 -155
  1124. package/renderers/webgpu/WebGPUComputePipelines.mjs +0 -44
  1125. package/renderers/webgpu/WebGPUGeometries.mjs +0 -41
  1126. package/renderers/webgpu/WebGPUInfo.mjs +0 -46
  1127. package/renderers/webgpu/WebGPUObjects.mjs +0 -25
  1128. package/renderers/webgpu/WebGPUProperties.mjs +0 -22
  1129. package/renderers/webgpu/WebGPURenderLists.mjs +0 -119
  1130. package/renderers/webgpu/WebGPURenderPipelines.mjs +0 -545
  1131. package/renderers/webgpu/WebGPURenderer.mjs +0 -574
  1132. package/renderers/webgpu/WebGPUSampledTexture.mjs +0 -40
  1133. package/renderers/webgpu/WebGPUSampler.mjs +0 -15
  1134. package/renderers/webgpu/WebGPUStorageBuffer.mjs +0 -15
  1135. package/renderers/webgpu/WebGPUTextureRenderer.mjs +0 -23
  1136. package/renderers/webgpu/WebGPUTextureUtils.mjs +0 -98
  1137. package/renderers/webgpu/WebGPUTextures.mjs +0 -484
  1138. package/renderers/webgpu/WebGPUUniform.mjs +0 -81
  1139. package/renderers/webgpu/WebGPUUniformsGroup.mjs +0 -176
  1140. package/renderers/webgpu/constants.mjs +0 -230
  1141. package/renderers/webgpu/nodes/ShaderLib.mjs +0 -42
  1142. package/renderers/webgpu/nodes/WebGPUNodeBuilder.mjs +0 -165
  1143. package/renderers/webgpu/nodes/WebGPUNodeUniform.mjs +0 -73
  1144. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.mjs +0 -15
  1145. package/renderers/webgpu/nodes/WebGPUNodes.mjs +0 -40
  1146. package/shaders/ACESFilmicToneMappingShader.mjs +0 -48
  1147. package/shaders/AfterimageShader.mjs +0 -32
  1148. package/shaders/BasicShader.mjs +0 -12
  1149. package/shaders/BleachBypassShader.mjs +0 -35
  1150. package/shaders/BlendShader.mjs +0 -30
  1151. package/shaders/BokehShader.mjs +0 -106
  1152. package/shaders/BokehShader2.mjs +0 -269
  1153. package/shaders/BrightnessContrastShader.mjs +0 -32
  1154. package/shaders/ColorCorrectionShader.mjs +0 -30
  1155. package/shaders/ColorifyShader.mjs +0 -28
  1156. package/shaders/ConvolutionShader.mjs +0 -55
  1157. package/shaders/CopyShader.mjs +0 -25
  1158. package/shaders/DOFMipMapShader.mjs +0 -32
  1159. package/shaders/DepthLimitedBlurShader.mjs +0 -114
  1160. package/shaders/DigitalGlitch.mjs +0 -78
  1161. package/shaders/DotScreenShader.mjs +0 -39
  1162. package/shaders/FXAAShader.mjs +0 -1098
  1163. package/shaders/FilmShader.mjs +0 -42
  1164. package/shaders/FocusShader.mjs +0 -55
  1165. package/shaders/FreiChenShader.mjs +0 -61
  1166. package/shaders/FresnelShader.mjs +0 -47
  1167. package/shaders/GammaCorrectionShader.mjs +0 -23
  1168. package/shaders/GodRaysShader.mjs +0 -146
  1169. package/shaders/HalftoneShader.mjs +0 -212
  1170. package/shaders/HorizontalBlurShader.mjs +0 -43
  1171. package/shaders/HorizontalTiltShiftShader.mjs +0 -37
  1172. package/shaders/HueSaturationShader.mjs +0 -41
  1173. package/shaders/KaleidoShader.mjs +0 -34
  1174. package/shaders/LuminosityHighPassShader.mjs +0 -37
  1175. package/shaders/LuminosityShader.mjs +0 -25
  1176. package/shaders/MirrorShader.mjs +0 -35
  1177. package/shaders/NormalMapShader.mjs +0 -31
  1178. package/shaders/ParallaxShader.mjs +0 -113
  1179. package/shaders/PixelShader.mjs +0 -28
  1180. package/shaders/RGBShiftShader.mjs +0 -30
  1181. package/shaders/SAOShader.mjs +0 -144
  1182. package/shaders/SMAAShader.mjs +0 -272
  1183. package/shaders/SSAOShader.mjs +0 -172
  1184. package/shaders/SSRShader.mjs +0 -324
  1185. package/shaders/SepiaShader.mjs +0 -29
  1186. package/shaders/SobelOperatorShader.mjs +0 -44
  1187. package/shaders/SubsurfaceScatteringShader.mjs +0 -59
  1188. package/shaders/TechnicolorShader.mjs +0 -24
  1189. package/shaders/ToneMapShader.mjs +0 -48
  1190. package/shaders/ToonShader.mjs +0 -188
  1191. package/shaders/TriangleBlurShader.mjs +0 -36
  1192. package/shaders/UnpackDepthRGBAShader.mjs +0 -26
  1193. package/shaders/VerticalBlurShader.mjs +0 -44
  1194. package/shaders/VerticalTiltShiftShader.mjs +0 -37
  1195. package/shaders/VignetteShader.mjs +0 -28
  1196. package/shaders/VolumeShader.mjs +0 -178
  1197. package/shaders/WaterRefractionShader.mjs +0 -57
  1198. package/textures/FlakesTexture.mjs +0 -30
  1199. package/types/helpers.mjs +0 -4
  1200. package/utils/BufferGeometryUtils.mjs +0 -570
  1201. package/utils/GeometryCompressionUtils.mjs +0 -547
  1202. package/utils/GeometryUtils.mjs +0 -108
  1203. package/utils/RoughnessMipmapper.mjs +0 -213
  1204. package/utils/SceneUtils.mjs +0 -36
  1205. package/utils/ShadowMapViewer.mjs +0 -114
  1206. package/utils/SkeletonUtils.mjs +0 -292
  1207. package/utils/UVsDebug.mjs +0 -85
  1208. package/utils/WorkerPool.mjs +0 -62
  1209. package/webxr/ARButton.mjs +0 -119
  1210. package/webxr/OculusHandModel.mjs +0 -71
  1211. package/webxr/OculusHandPointerModel.mjs +0 -207
  1212. package/webxr/Text2D.mjs +0 -31
  1213. package/webxr/VRButton.mjs +0 -105
  1214. package/webxr/XRControllerModelFactory.mjs +0 -146
  1215. package/webxr/XREstimatedLight.mjs +0 -126
  1216. package/webxr/XRHandMeshModel.mjs +0 -73
  1217. package/webxr/XRHandModelFactory.mjs +0 -61
  1218. package/webxr/XRHandPrimitiveModel.mjs +0 -68
@@ -1,150 +1,165 @@
1
- "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const THREE = require("three");
4
- var XLoader = function() {
5
- var classCallCheck = function(instance, Constructor) {
1
+ import { Vector3, Quaternion, FileLoader, LoaderUtils, Matrix4, Bone, BufferGeometry, Float32BufferAttribute, Uint16BufferAttribute, MeshPhongMaterial, FrontSide, Vector2, SkinnedMesh, Mesh, Skeleton, AnimationClip, AnimationMixer, Loader, TextureLoader } from 'three';
2
+
3
+ var XLoader = function () {
4
+ var classCallCheck = function (instance, Constructor) {
6
5
  if (!(instance instanceof Constructor)) {
7
- throw new TypeError("Cannot call a class as a function");
6
+ throw new TypeError('Cannot call a class as a function');
8
7
  }
9
8
  };
10
- var createClass = function() {
9
+
10
+ var createClass = function () {
11
11
  function defineProperties(target, props) {
12
- for (let i2 = 0; i2 < props.length; i2++) {
13
- var descriptor = props[i2];
12
+ for (let i = 0; i < props.length; i++) {
13
+ var descriptor = props[i];
14
14
  descriptor.enumerable = descriptor.enumerable || false;
15
15
  descriptor.configurable = true;
16
- if ("value" in descriptor)
17
- descriptor.writable = true;
16
+ if ('value' in descriptor) descriptor.writable = true;
18
17
  Object.defineProperty(target, descriptor.key, descriptor);
19
18
  }
20
19
  }
21
- return function(Constructor, protoProps, staticProps) {
22
- if (protoProps)
23
- defineProperties(Constructor.prototype, protoProps);
24
- if (staticProps)
25
- defineProperties(Constructor, staticProps);
20
+
21
+ return function (Constructor, protoProps, staticProps) {
22
+ if (protoProps) defineProperties(Constructor.prototype, protoProps);
23
+ if (staticProps) defineProperties(Constructor, staticProps);
26
24
  return Constructor;
27
25
  };
28
26
  }();
29
- var XboneInf = function XboneInf2() {
30
- classCallCheck(this, XboneInf2);
31
- this.boneName = "";
27
+
28
+ var XboneInf = function XboneInf() {
29
+ classCallCheck(this, XboneInf);
30
+ this.boneName = '';
32
31
  this.BoneIndex = 0;
33
32
  this.Indeces = [];
34
33
  this.Weights = [];
35
34
  this.initMatrix = null;
36
35
  this.OffsetMatrix = null;
37
36
  };
38
- var XAnimationInfo = function XAnimationInfo2() {
39
- classCallCheck(this, XAnimationInfo2);
40
- this.animeName = "";
41
- this.boneName = "";
37
+
38
+ var XAnimationInfo = function XAnimationInfo() {
39
+ classCallCheck(this, XAnimationInfo);
40
+ this.animeName = '';
41
+ this.boneName = '';
42
42
  this.targetBone = null;
43
43
  this.keyType = 4;
44
44
  this.frameStartLv = 0;
45
45
  this.keyFrames = [];
46
46
  this.InverseMx = null;
47
47
  };
48
- var XAnimationObj = function() {
49
- function XAnimationObj2(_flags) {
50
- classCallCheck(this, XAnimationObj2);
48
+
49
+ var XAnimationObj = function () {
50
+ function XAnimationObj(_flags) {
51
+ classCallCheck(this, XAnimationObj);
51
52
  this.fps = 30;
52
- this.name = "xanimation";
53
+ this.name = 'xanimation';
53
54
  this.length = 0;
54
55
  this.hierarchy = [];
55
56
  this.putFlags = _flags;
56
- if (this.putFlags.putPos === void 0) {
57
+
58
+ if (this.putFlags.putPos === undefined) {
57
59
  this.putFlags.putPos = true;
58
60
  }
59
- if (this.putFlags.putRot === void 0) {
61
+
62
+ if (this.putFlags.putRot === undefined) {
60
63
  this.putFlags.putRot = true;
61
64
  }
62
- if (this.putFlags.putScl === void 0) {
65
+
66
+ if (this.putFlags.putScl === undefined) {
63
67
  this.putFlags.putScl = true;
64
68
  }
65
69
  }
66
- createClass(XAnimationObj2, [
67
- {
68
- key: "make",
69
- value: function make(XAnimationInfoArray) {
70
- for (let i2 = 0; i2 < XAnimationInfoArray.length; i2++) {
71
- this.hierarchy.push(this.makeBonekeys(XAnimationInfoArray[i2]));
72
- }
73
- this.length = this.hierarchy[0].keys[this.hierarchy[0].keys.length - 1].time;
70
+
71
+ createClass(XAnimationObj, [{
72
+ key: 'make',
73
+ value: function make(XAnimationInfoArray) {
74
+ for (let i = 0; i < XAnimationInfoArray.length; i++) {
75
+ this.hierarchy.push(this.makeBonekeys(XAnimationInfoArray[i]));
74
76
  }
75
- },
76
- {
77
- key: "clone",
78
- value: function clone() {
77
+
78
+ this.length = this.hierarchy[0].keys[this.hierarchy[0].keys.length - 1].time;
79
+ }
80
+ }, {
81
+ key: 'clone',
82
+ value: function clone() {
83
+ return Object.assign({}, this);
84
+ }
85
+ }, {
86
+ key: 'makeBonekeys',
87
+ value: function makeBonekeys(XAnimationInfo) {
88
+ var refObj = {};
89
+ refObj.name = XAnimationInfo.boneName;
90
+ refObj.parent = '';
91
+ refObj.keys = this.keyFrameRefactor(XAnimationInfo);
92
+
93
+ refObj.copy = function () {
79
94
  return Object.assign({}, this);
80
- }
81
- },
82
- {
83
- key: "makeBonekeys",
84
- value: function makeBonekeys(XAnimationInfo2) {
85
- var refObj = {};
86
- refObj.name = XAnimationInfo2.boneName;
87
- refObj.parent = "";
88
- refObj.keys = this.keyFrameRefactor(XAnimationInfo2);
89
- refObj.copy = function() {
90
- return Object.assign({}, this);
91
- };
92
- return refObj;
93
- }
94
- },
95
- {
96
- key: "keyFrameRefactor",
97
- value: function keyFrameRefactor(XAnimationInfo2) {
98
- var keys = [];
99
- for (let i2 = 0; i2 < XAnimationInfo2.keyFrames.length; i2++) {
100
- var keyframe = {};
101
- keyframe.time = XAnimationInfo2.keyFrames[i2].time * this.fps;
102
- if (XAnimationInfo2.keyFrames[i2].pos && this.putFlags.putPos) {
103
- keyframe.pos = XAnimationInfo2.keyFrames[i2].pos;
104
- }
105
- if (XAnimationInfo2.keyFrames[i2].rot && this.putFlags.putRot) {
106
- keyframe.rot = XAnimationInfo2.keyFrames[i2].rot;
95
+ };
96
+
97
+ return refObj;
98
+ }
99
+ }, {
100
+ key: 'keyFrameRefactor',
101
+ value: function keyFrameRefactor(XAnimationInfo) {
102
+ var keys = [];
103
+
104
+ for (let i = 0; i < XAnimationInfo.keyFrames.length; i++) {
105
+ var keyframe = {};
106
+ keyframe.time = XAnimationInfo.keyFrames[i].time * this.fps;
107
+
108
+ if (XAnimationInfo.keyFrames[i].pos && this.putFlags.putPos) {
109
+ keyframe.pos = XAnimationInfo.keyFrames[i].pos;
110
+ }
111
+
112
+ if (XAnimationInfo.keyFrames[i].rot && this.putFlags.putRot) {
113
+ keyframe.rot = XAnimationInfo.keyFrames[i].rot;
114
+ }
115
+
116
+ if (XAnimationInfo.keyFrames[i].scl && this.putFlags.putScl) {
117
+ keyframe.scl = XAnimationInfo.keyFrames[i].scl;
118
+ }
119
+
120
+ if (XAnimationInfo.keyFrames[i].matrix) {
121
+ keyframe.matrix = XAnimationInfo.keyFrames[i].matrix;
122
+
123
+ if (this.putFlags.putPos) {
124
+ keyframe.pos = new Vector3().setFromMatrixPosition(keyframe.matrix);
107
125
  }
108
- if (XAnimationInfo2.keyFrames[i2].scl && this.putFlags.putScl) {
109
- keyframe.scl = XAnimationInfo2.keyFrames[i2].scl;
126
+
127
+ if (this.putFlags.putRot) {
128
+ keyframe.rot = new Quaternion().setFromRotationMatrix(keyframe.matrix);
110
129
  }
111
- if (XAnimationInfo2.keyFrames[i2].matrix) {
112
- keyframe.matrix = XAnimationInfo2.keyFrames[i2].matrix;
113
- if (this.putFlags.putPos) {
114
- keyframe.pos = new THREE.Vector3().setFromMatrixPosition(keyframe.matrix);
115
- }
116
- if (this.putFlags.putRot) {
117
- keyframe.rot = new THREE.Quaternion().setFromRotationMatrix(keyframe.matrix);
118
- }
119
- if (this.putFlags.putScl) {
120
- keyframe.scl = new THREE.Vector3().setFromMatrixScale(keyframe.matrix);
121
- }
130
+
131
+ if (this.putFlags.putScl) {
132
+ keyframe.scl = new Vector3().setFromMatrixScale(keyframe.matrix);
122
133
  }
123
- keys.push(keyframe);
124
134
  }
125
- return keys;
135
+
136
+ keys.push(keyframe);
126
137
  }
138
+
139
+ return keys;
127
140
  }
128
- ]);
129
- return XAnimationObj2;
141
+ }]);
142
+ return XAnimationObj;
130
143
  }();
131
- var XKeyFrameInfo = function XKeyFrameInfo2() {
132
- classCallCheck(this, XKeyFrameInfo2);
144
+
145
+ var XKeyFrameInfo = function XKeyFrameInfo() {
146
+ classCallCheck(this, XKeyFrameInfo);
133
147
  this.index = 0;
134
148
  this.Frame = 0;
135
- this.time = 0;
149
+ this.time = 0.0;
136
150
  this.matrix = null;
137
151
  };
138
- var XLoader2 = function() {
139
- function XLoader3(manager) {
140
- THREE.Loader.call(this, manager);
141
- classCallCheck(this, XLoader3);
152
+
153
+ var XLoader = function () {
154
+ function XLoader(manager) {
155
+ Loader.call(this, manager);
156
+ classCallCheck(this, XLoader);
142
157
  this.debug = false;
143
- this.texloader = new THREE.TextureLoader(this.manager);
144
- this.url = "";
158
+ this.texloader = new TextureLoader(this.manager);
159
+ this.url = '';
145
160
  this._putMatLength = 0;
146
161
  this._nowMat = null;
147
- this._nowFrameName = "";
162
+ this._nowFrameName = '';
148
163
  this.frameHierarchie = [];
149
164
  this.Hierarchies = {};
150
165
  this.HieStack = [];
@@ -160,1099 +175,1260 @@ var XLoader = function() {
160
175
  this._currentAnime = null;
161
176
  this._currentAnimeFrames = null;
162
177
  }
163
- createClass(XLoader3, [
164
- {
165
- key: "_setArgOption",
166
- value: function _setArgOption(_arg) {
167
- var _start = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
168
- if (!_arg) {
169
- return;
170
- }
171
- for (let i2 = _start; i2 < _arg.length; i2++) {
172
- switch (i2) {
173
- case 0:
174
- this.url = _arg[i2];
175
- break;
176
- case 1:
177
- this.options = _arg[i2];
178
- break;
179
- }
180
- }
181
- if (this.options === void 0) {
182
- this.options = {};
178
+
179
+ createClass(XLoader, [{
180
+ key: '_setArgOption',
181
+ value: function _setArgOption(_arg) {
182
+ var _start = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
183
+
184
+ if (!_arg) {
185
+ return;
186
+ }
187
+
188
+ for (let i = _start; i < _arg.length; i++) {
189
+ switch (i) {
190
+ case 0:
191
+ this.url = _arg[i];
192
+ break;
193
+
194
+ case 1:
195
+ this.options = _arg[i];
196
+ break;
183
197
  }
184
198
  }
185
- },
186
- {
187
- key: "load",
188
- value: function load(_arg, onLoad, onProgress, onError) {
189
- var _this = this;
190
- this._setArgOption(_arg);
191
- var loader = new THREE.FileLoader(this.manager);
192
- loader.setPath(this.path);
193
- loader.setResponseType("arraybuffer");
194
- loader.setRequestHeader(this.requestHeader);
195
- loader.setWithCredentials(this.withCredentials);
196
- loader.load(
197
- this.url,
198
- function(response) {
199
- try {
200
- _this.parse(response, onLoad);
201
- } catch (e) {
202
- if (onError) {
203
- onError(e);
204
- } else {
205
- console.error(e);
206
- }
207
- _this.manager.itemError(_this.url);
208
- }
209
- },
210
- onProgress,
211
- onError
212
- );
199
+
200
+ if (this.options === undefined) {
201
+ this.options = {};
213
202
  }
214
- },
215
- {
216
- key: "_readLine",
217
- value: function _readLine(line) {
218
- var readed = 0;
219
- while (true) {
220
- var find = -1;
221
- find = line.indexOf("//", readed);
222
- if (find === -1) {
223
- find = line.indexOf("#", readed);
203
+ }
204
+ }, {
205
+ key: 'load',
206
+ value: function load(_arg, onLoad, onProgress, onError) {
207
+ var _this = this;
208
+
209
+ this._setArgOption(_arg);
210
+
211
+ var loader = new FileLoader(this.manager);
212
+ loader.setPath(this.path);
213
+ loader.setResponseType('arraybuffer');
214
+ loader.setRequestHeader(this.requestHeader);
215
+ loader.setWithCredentials(this.withCredentials);
216
+ loader.load(this.url, function (response) {
217
+ try {
218
+ _this.parse(response, onLoad);
219
+ } catch (e) {
220
+ if (onError) {
221
+ onError(e);
222
+ } else {
223
+ console.error(e);
224
224
  }
225
- if (find > -1 && find < 2) {
226
- var foundNewLine = -1;
227
- foundNewLine = line.indexOf("\r\n", readed);
225
+
226
+ _this.manager.itemError(_this.url);
227
+ }
228
+ }, onProgress, onError);
229
+ }
230
+ }, {
231
+ key: '_readLine',
232
+ value: function _readLine(line) {
233
+ var readed = 0;
234
+
235
+ while (true) {
236
+ var find = -1;
237
+ find = line.indexOf('//', readed);
238
+
239
+ if (find === -1) {
240
+ find = line.indexOf('#', readed);
241
+ }
242
+
243
+ if (find > -1 && find < 2) {
244
+ var foundNewLine = -1;
245
+ foundNewLine = line.indexOf('\r\n', readed);
246
+
247
+ if (foundNewLine > 0) {
248
+ readed = foundNewLine + 2;
249
+ } else {
250
+ foundNewLine = line.indexOf('\r', readed);
251
+
228
252
  if (foundNewLine > 0) {
229
- readed = foundNewLine + 2;
253
+ readed = foundNewLine + 1;
230
254
  } else {
231
- foundNewLine = line.indexOf("\r", readed);
232
- if (foundNewLine > 0) {
233
- readed = foundNewLine + 1;
234
- } else {
235
- readed = line.indexOf("\n", readed) + 1;
236
- }
255
+ readed = line.indexOf('\n', readed) + 1;
237
256
  }
238
- } else {
239
- break;
240
257
  }
258
+ } else {
259
+ break;
241
260
  }
242
- return line.substr(readed);
243
261
  }
244
- },
245
- {
246
- key: "_readLine",
247
- value: function _readLine(line) {
248
- var readed = 0;
249
- while (true) {
250
- var find = -1;
251
- find = line.indexOf("//", readed);
252
- if (find === -1) {
253
- find = line.indexOf("#", readed);
254
- }
255
- if (find > -1 && find < 2) {
256
- var foundNewLine = -1;
257
- foundNewLine = line.indexOf("\r\n", readed);
262
+
263
+ return line.substr(readed);
264
+ }
265
+ }, {
266
+ key: '_readLine',
267
+ value: function _readLine(line) {
268
+ var readed = 0;
269
+
270
+ while (true) {
271
+ var find = -1;
272
+ find = line.indexOf('//', readed);
273
+
274
+ if (find === -1) {
275
+ find = line.indexOf('#', readed);
276
+ }
277
+
278
+ if (find > -1 && find < 2) {
279
+ var foundNewLine = -1;
280
+ foundNewLine = line.indexOf('\r\n', readed);
281
+
282
+ if (foundNewLine > 0) {
283
+ readed = foundNewLine + 2;
284
+ } else {
285
+ foundNewLine = line.indexOf('\r', readed);
286
+
258
287
  if (foundNewLine > 0) {
259
- readed = foundNewLine + 2;
288
+ readed = foundNewLine + 1;
260
289
  } else {
261
- foundNewLine = line.indexOf("\r", readed);
262
- if (foundNewLine > 0) {
263
- readed = foundNewLine + 1;
264
- } else {
265
- readed = line.indexOf("\n", readed) + 1;
266
- }
290
+ readed = line.indexOf('\n', readed) + 1;
267
291
  }
268
- } else {
269
- break;
270
292
  }
293
+ } else {
294
+ break;
271
295
  }
272
- return line.substr(readed);
273
296
  }
274
- },
275
- {
276
- key: "_isBinary",
277
- value: function _isBinary(binData) {
278
- var reader = new DataView(binData);
279
- var face_size = 32 / 8 * 3 + 32 / 8 * 3 * 3 + 16 / 8;
280
- var n_faces = reader.getUint32(80, true);
281
- var expect = 80 + 32 / 8 + n_faces * face_size;
282
- if (expect === reader.byteLength) {
283
- return true;
284
- }
285
- var fileLength = reader.byteLength;
286
- for (let index = 0; index < fileLength; index++) {
287
- if (reader.getUint8(index, false) > 127) {
288
- return true;
289
- }
290
- }
291
- return false;
297
+
298
+ return line.substr(readed);
299
+ }
300
+ }, {
301
+ key: '_isBinary',
302
+ value: function _isBinary(binData) {
303
+ var reader = new DataView(binData);
304
+ var face_size = 32 / 8 * 3 + 32 / 8 * 3 * 3 + 16 / 8;
305
+ var n_faces = reader.getUint32(80, true);
306
+ var expect = 80 + 32 / 8 + n_faces * face_size;
307
+
308
+ if (expect === reader.byteLength) {
309
+ return true;
292
310
  }
293
- },
294
- {
295
- key: "_ensureBinary",
296
- value: function _ensureBinary(buf) {
297
- if (typeof buf === "string") {
298
- var array_buffer = new Uint8Array(buf.length);
299
- for (let i2 = 0; i2 < buf.length; i2++) {
300
- array_buffer[i2] = buf.charCodeAt(i2) & 255;
301
- }
302
- return array_buffer.buffer || array_buffer;
303
- } else {
304
- return buf;
311
+
312
+ var fileLength = reader.byteLength;
313
+
314
+ for (let index = 0; index < fileLength; index++) {
315
+ if (reader.getUint8(index, false) > 127) {
316
+ return true;
305
317
  }
306
318
  }
307
- },
308
- {
309
- key: "_ensureString",
310
- value: function _ensureString(buf) {
311
- if (typeof buf !== "string") {
312
- return THREE.LoaderUtils.decodeText(new Uint8Array(buf));
313
- } else {
314
- return buf;
319
+
320
+ return false;
321
+ }
322
+ }, {
323
+ key: '_ensureBinary',
324
+ value: function _ensureBinary(buf) {
325
+ if (typeof buf === 'string') {
326
+ var array_buffer = new Uint8Array(buf.length);
327
+
328
+ for (let i = 0; i < buf.length; i++) {
329
+ array_buffer[i] = buf.charCodeAt(i) & 0xff;
315
330
  }
331
+
332
+ return array_buffer.buffer || array_buffer;
333
+ } else {
334
+ return buf;
316
335
  }
317
- },
318
- {
319
- key: "parse",
320
- value: function _parse(data, onLoad) {
321
- var binData = this._ensureBinary(data);
322
- this._data = this._ensureString(data);
323
- this.onLoad = onLoad;
324
- return this._isBinary(binData) ? this._parseBinary(binData) : this._parseASCII();
325
- }
326
- },
327
- {
328
- key: "_parseBinary",
329
- value: function _parseBinary(data) {
330
- return this._parseASCII(THREE.LoaderUtils.decodeText(new Uint8Array(data)));
336
+ }
337
+ }, {
338
+ key: '_ensureString',
339
+ value: function _ensureString(buf) {
340
+ if (typeof buf !== 'string') {
341
+ return LoaderUtils.decodeText(new Uint8Array(buf));
342
+ } else {
343
+ return buf;
331
344
  }
332
- },
333
- {
334
- key: "_parseASCII",
335
- value: function _parseASCII() {
336
- var path;
337
- if (this.resourcePath !== "") {
338
- path = this.resourcePath;
339
- } else if (this.path !== "") {
340
- path = this.path;
341
- } else {
342
- path = THREE.LoaderUtils.extractUrlBase(this.url);
343
- }
344
- this.texloader.setPath(path).setCrossOrigin(this.crossOrigin);
345
- var endRead = 16;
346
- this.Hierarchies.children = [];
347
- this._hierarchieParse(this.Hierarchies, endRead);
348
- this._changeRoot();
349
- this._currentObject = this.Hierarchies.children.shift();
350
- this._mainloop();
345
+ }
346
+ }, {
347
+ key: 'parse',
348
+ value: function _parse(data, onLoad) {
349
+ var binData = this._ensureBinary(data);
350
+
351
+ this._data = this._ensureString(data);
352
+ this.onLoad = onLoad;
353
+ return this._isBinary(binData) ? this._parseBinary(binData) : this._parseASCII();
354
+ }
355
+ }, {
356
+ key: '_parseBinary',
357
+ value: function _parseBinary(data) {
358
+ return this._parseASCII(LoaderUtils.decodeText(new Uint8Array(data)));
359
+ }
360
+ }, {
361
+ key: '_parseASCII',
362
+ value: function _parseASCII() {
363
+ var path;
364
+
365
+ if (this.resourcePath !== '') {
366
+ path = this.resourcePath;
367
+ } else if (this.path !== '') {
368
+ path = this.path;
369
+ } else {
370
+ path = LoaderUtils.extractUrlBase(this.url);
351
371
  }
352
- },
353
- {
354
- key: "_hierarchieParse",
355
- value: function _hierarchieParse(_parent, _end) {
356
- var endRead = _end;
357
- while (true) {
358
- var find1 = this._data.indexOf("{", endRead) + 1;
359
- var findEnd = this._data.indexOf("}", endRead);
360
- var findNext = this._data.indexOf("{", find1) + 1;
361
- if (find1 > 0 && findEnd > find1) {
362
- var _currentObject = {};
363
- _currentObject.children = [];
364
- var nameData = this._readLine(this._data.substr(endRead, find1 - endRead - 1)).trim();
365
- var word = nameData.split(/ /g);
366
- if (word.length > 0) {
367
- _currentObject.type = word[0];
368
- if (word.length >= 2) {
369
- _currentObject.name = word[1];
370
- } else {
371
- _currentObject.name = word[0] + this.Hierarchies.children.length;
372
- }
372
+
373
+ this.texloader.setPath(path).setCrossOrigin(this.crossOrigin);
374
+ var endRead = 16;
375
+ this.Hierarchies.children = [];
376
+
377
+ this._hierarchieParse(this.Hierarchies, endRead);
378
+
379
+ this._changeRoot();
380
+
381
+ this._currentObject = this.Hierarchies.children.shift();
382
+
383
+ this._mainloop();
384
+ }
385
+ }, {
386
+ key: '_hierarchieParse',
387
+ value: function _hierarchieParse(_parent, _end) {
388
+ var endRead = _end;
389
+
390
+ while (true) {
391
+ var find1 = this._data.indexOf('{', endRead) + 1;
392
+
393
+ var findEnd = this._data.indexOf('}', endRead);
394
+
395
+ var findNext = this._data.indexOf('{', find1) + 1;
396
+
397
+ if (find1 > 0 && findEnd > find1) {
398
+ var _currentObject = {};
399
+ _currentObject.children = [];
400
+
401
+ var nameData = this._readLine(this._data.substr(endRead, find1 - endRead - 1)).trim();
402
+
403
+ var word = nameData.split(/ /g);
404
+
405
+ if (word.length > 0) {
406
+ _currentObject.type = word[0];
407
+
408
+ if (word.length >= 2) {
409
+ _currentObject.name = word[1];
373
410
  } else {
374
- _currentObject.name = nameData;
375
- _currentObject.type = "";
411
+ _currentObject.name = word[0] + this.Hierarchies.children.length;
376
412
  }
377
- if (_currentObject.type === "Animation") {
378
- _currentObject.data = this._data.substr(findNext, findEnd - findNext).trim();
379
- var refs = this._hierarchieParse(_currentObject, findEnd + 1);
380
- endRead = refs.end;
381
- _currentObject.children = refs.parent.children;
413
+ } else {
414
+ _currentObject.name = nameData;
415
+ _currentObject.type = '';
416
+ }
417
+
418
+ if (_currentObject.type === 'Animation') {
419
+ _currentObject.data = this._data.substr(findNext, findEnd - findNext).trim();
420
+
421
+ var refs = this._hierarchieParse(_currentObject, findEnd + 1);
422
+
423
+ endRead = refs.end;
424
+ _currentObject.children = refs.parent.children;
425
+ } else {
426
+ var DataEnder = this._data.lastIndexOf(';', findNext > 0 ? Math.min(findNext, findEnd) : findEnd);
427
+
428
+ _currentObject.data = this._data.substr(find1, DataEnder - find1).trim();
429
+
430
+ if (findNext <= 0 || findEnd < findNext) {
431
+ endRead = findEnd + 1;
382
432
  } else {
383
- var DataEnder = this._data.lastIndexOf(";", findNext > 0 ? Math.min(findNext, findEnd) : findEnd);
384
- _currentObject.data = this._data.substr(find1, DataEnder - find1).trim();
385
- if (findNext <= 0 || findEnd < findNext) {
386
- endRead = findEnd + 1;
387
- } else {
388
- var nextStart = Math.max(DataEnder + 1, find1);
389
- var _refs = this._hierarchieParse(_currentObject, nextStart);
390
- endRead = _refs.end;
391
- _currentObject.children = _refs.parent.children;
392
- }
393
- }
394
- _currentObject.parent = _parent;
395
- if (_currentObject.type != "template") {
396
- _parent.children.push(_currentObject);
433
+ var nextStart = Math.max(DataEnder + 1, find1);
434
+
435
+ var _refs = this._hierarchieParse(_currentObject, nextStart);
436
+
437
+ endRead = _refs.end;
438
+ _currentObject.children = _refs.parent.children;
397
439
  }
398
- } else {
399
- endRead = find1 === -1 ? this._data.length : findEnd + 1;
400
- break;
401
440
  }
402
- }
403
- return {
404
- parent: _parent,
405
- end: endRead
406
- };
407
- }
408
- },
409
- {
410
- key: "_mainloop",
411
- value: function _mainloop() {
412
- var _this2 = this;
413
- this._mainProc();
414
- if (this._currentObject.parent || this._currentObject.children.length > 0 || !this._currentObject.worked) {
415
- setTimeout(function() {
416
- _this2._mainloop();
417
- }, 1);
441
+
442
+ _currentObject.parent = _parent;
443
+
444
+ if (_currentObject.type != 'template') {
445
+ _parent.children.push(_currentObject);
446
+ }
418
447
  } else {
419
- setTimeout(function() {
420
- _this2.onLoad({
421
- models: _this2.Meshes,
422
- animations: _this2.animations
423
- });
424
- }, 1);
448
+ endRead = find1 === -1 ? this._data.length : findEnd + 1;
449
+ break;
425
450
  }
426
451
  }
427
- },
428
- {
429
- key: "_mainProc",
430
- value: function _mainProc() {
431
- var breakFlag = false;
432
- while (true) {
433
- if (!this._currentObject.worked) {
434
- switch (this._currentObject.type) {
435
- case "template":
436
- break;
437
- case "AnimTicksPerSecond":
438
- this.animTicksPerSecond = parseInt(this._currentObject.data);
439
- break;
440
- case "Frame":
441
- this._setFrame();
442
- break;
443
- case "FrameTransformMatrix":
444
- this._setFrameTransformMatrix();
445
- break;
446
- case "Mesh":
447
- this._changeRoot();
448
- this._currentGeo = {};
449
- this._currentGeo.name = this._currentObject.name.trim();
450
- this._currentGeo.parentName = this._getParentName(this._currentObject).trim();
451
- this._currentGeo.VertexSetedBoneCount = [];
452
- this._currentGeo.GeometryData = {
453
- vertices: [],
454
- normals: [],
455
- uvs: [],
456
- skinIndices: [],
457
- skinWeights: [],
458
- indices: [],
459
- materialIndices: []
460
- };
461
- this._currentGeo.Materials = [];
462
- this._currentGeo.normalVectors = [];
463
- this._currentGeo.BoneInfs = [];
464
- this._currentGeo.baseFrame = this._currentFrame;
465
- this._makeBoneFrom_CurrentFrame();
466
- this._readVertexDatas();
467
- breakFlag = true;
468
- break;
469
- case "MeshNormals":
470
- this._readVertexDatas();
471
- break;
472
- case "MeshTextureCoords":
473
- this._setMeshTextureCoords();
474
- break;
475
- case "VertexDuplicationIndices":
476
- break;
477
- case "MeshMaterialList":
478
- this._setMeshMaterialList();
479
- break;
480
- case "Material":
481
- this._setMaterial();
482
- break;
483
- case "SkinWeights":
484
- this._setSkinWeights();
485
- break;
486
- case "AnimationSet":
487
- this._changeRoot();
488
- this._currentAnime = {};
489
- this._currentAnime.name = this._currentObject.name.trim();
490
- this._currentAnime.AnimeFrames = [];
491
- break;
492
- case "Animation":
493
- if (this._currentAnimeFrames) {
494
- this._currentAnime.AnimeFrames.push(this._currentAnimeFrames);
495
- }
496
- this._currentAnimeFrames = new XAnimationInfo();
497
- this._currentAnimeFrames.boneName = this._currentObject.data.trim();
498
- break;
499
- case "AnimationKey":
500
- this._readAnimationKey();
501
- breakFlag = true;
502
- break;
503
- }
504
- this._currentObject.worked = true;
505
- }
506
- if (this._currentObject.children.length > 0) {
507
- this._currentObject = this._currentObject.children.shift();
508
- if (this.debug) {
509
- console.log("processing " + this._currentObject.name);
510
- }
511
- if (breakFlag)
452
+
453
+ return {
454
+ parent: _parent,
455
+ end: endRead
456
+ };
457
+ }
458
+ }, {
459
+ key: '_mainloop',
460
+ value: function _mainloop() {
461
+ var _this2 = this;
462
+
463
+ this._mainProc();
464
+
465
+ if (this._currentObject.parent || this._currentObject.children.length > 0 || !this._currentObject.worked) {
466
+ setTimeout(function () {
467
+ _this2._mainloop();
468
+ }, 1);
469
+ } else {
470
+ setTimeout(function () {
471
+ _this2.onLoad({
472
+ models: _this2.Meshes,
473
+ animations: _this2.animations
474
+ });
475
+ }, 1);
476
+ }
477
+ }
478
+ }, {
479
+ key: '_mainProc',
480
+ value: function _mainProc() {
481
+ var breakFlag = false;
482
+
483
+ while (true) {
484
+ if (!this._currentObject.worked) {
485
+ switch (this._currentObject.type) {
486
+ case 'template':
512
487
  break;
513
- } else {
514
- if (this._currentObject.worked) {
515
- if (this._currentObject.parent && !this._currentObject.parent.parent) {
516
- this._changeRoot();
488
+
489
+ case 'AnimTicksPerSecond':
490
+ this.animTicksPerSecond = parseInt(this._currentObject.data);
491
+ break;
492
+
493
+ case 'Frame':
494
+ this._setFrame();
495
+
496
+ break;
497
+
498
+ case 'FrameTransformMatrix':
499
+ this._setFrameTransformMatrix();
500
+
501
+ break;
502
+
503
+ case 'Mesh':
504
+ this._changeRoot();
505
+
506
+ this._currentGeo = {};
507
+ this._currentGeo.name = this._currentObject.name.trim();
508
+ this._currentGeo.parentName = this._getParentName(this._currentObject).trim();
509
+ this._currentGeo.VertexSetedBoneCount = [];
510
+ this._currentGeo.GeometryData = {
511
+ vertices: [],
512
+ normals: [],
513
+ uvs: [],
514
+ skinIndices: [],
515
+ skinWeights: [],
516
+ indices: [],
517
+ materialIndices: []
518
+ };
519
+ this._currentGeo.Materials = [];
520
+ this._currentGeo.normalVectors = [];
521
+ this._currentGeo.BoneInfs = [];
522
+ this._currentGeo.baseFrame = this._currentFrame;
523
+
524
+ this._makeBoneFrom_CurrentFrame();
525
+
526
+ this._readVertexDatas();
527
+
528
+ breakFlag = true;
529
+ break;
530
+
531
+ case 'MeshNormals':
532
+ this._readVertexDatas();
533
+
534
+ break;
535
+
536
+ case 'MeshTextureCoords':
537
+ this._setMeshTextureCoords();
538
+
539
+ break;
540
+
541
+ case 'VertexDuplicationIndices':
542
+ break;
543
+
544
+ case 'MeshMaterialList':
545
+ this._setMeshMaterialList();
546
+
547
+ break;
548
+
549
+ case 'Material':
550
+ this._setMaterial();
551
+
552
+ break;
553
+
554
+ case 'SkinWeights':
555
+ this._setSkinWeights();
556
+
557
+ break;
558
+
559
+ case 'AnimationSet':
560
+ this._changeRoot();
561
+
562
+ this._currentAnime = {};
563
+ this._currentAnime.name = this._currentObject.name.trim();
564
+ this._currentAnime.AnimeFrames = [];
565
+ break;
566
+
567
+ case 'Animation':
568
+ if (this._currentAnimeFrames) {
569
+ this._currentAnime.AnimeFrames.push(this._currentAnimeFrames);
517
570
  }
518
- }
519
- if (this._currentObject.parent) {
520
- this._currentObject = this._currentObject.parent;
521
- } else {
571
+
572
+ this._currentAnimeFrames = new XAnimationInfo();
573
+ this._currentAnimeFrames.boneName = this._currentObject.data.trim();
574
+ break;
575
+
576
+ case 'AnimationKey':
577
+ this._readAnimationKey();
578
+
522
579
  breakFlag = true;
523
- }
524
- if (breakFlag)
525
580
  break;
526
581
  }
582
+
583
+ this._currentObject.worked = true;
527
584
  }
528
- return;
529
- }
530
- },
531
- {
532
- key: "_changeRoot",
533
- value: function _changeRoot() {
534
- if (this._currentGeo != null && this._currentGeo.name) {
535
- this._makeOutputGeometry();
536
- }
537
- this._currentGeo = {};
538
- if (this._currentAnime != null && this._currentAnime.name) {
539
- if (this._currentAnimeFrames) {
540
- this._currentAnime.AnimeFrames.push(this._currentAnimeFrames);
541
- this._currentAnimeFrames = null;
542
- }
543
- this._makeOutputAnimation();
544
- }
545
- this._currentAnime = {};
546
- }
547
- },
548
- {
549
- key: "_getParentName",
550
- value: function _getParentName(_obj) {
551
- if (_obj.parent) {
552
- if (_obj.parent.name) {
553
- return _obj.parent.name;
554
- } else {
555
- return this._getParentName(_obj.parent);
585
+
586
+ if (this._currentObject.children.length > 0) {
587
+ this._currentObject = this._currentObject.children.shift();
588
+
589
+ if (this.debug) {
590
+ console.log('processing ' + this._currentObject.name);
556
591
  }
592
+
593
+ if (breakFlag) break;
557
594
  } else {
558
- return "";
559
- }
560
- }
561
- },
562
- {
563
- key: "_setFrame",
564
- value: function _setFrame() {
565
- this._nowFrameName = this._currentObject.name.trim();
566
- this._currentFrame = {};
567
- this._currentFrame.name = this._nowFrameName;
568
- this._currentFrame.children = [];
569
- if (this._currentObject.parent && this._currentObject.parent.name) {
570
- this._currentFrame.parentName = this._currentObject.parent.name;
571
- }
572
- this.frameHierarchie.push(this._nowFrameName);
573
- this.HieStack[this._nowFrameName] = this._currentFrame;
574
- }
575
- },
576
- {
577
- key: "_setFrameTransformMatrix",
578
- value: function _setFrameTransformMatrix() {
579
- this._currentFrame.FrameTransformMatrix = new THREE.Matrix4();
580
- var data = this._currentObject.data.split(",");
581
- this._ParseMatrixData(this._currentFrame.FrameTransformMatrix, data);
582
- this._makeBoneFrom_CurrentFrame();
583
- }
584
- },
585
- {
586
- key: "_makeBoneFrom_CurrentFrame",
587
- value: function _makeBoneFrom_CurrentFrame() {
588
- if (!this._currentFrame.FrameTransformMatrix) {
589
- return;
590
- }
591
- var b = new THREE.Bone();
592
- b.name = this._currentFrame.name;
593
- b.applyMatrix4(this._currentFrame.FrameTransformMatrix);
594
- b.matrixWorld = b.matrix;
595
- b.FrameTransformMatrix = this._currentFrame.FrameTransformMatrix;
596
- this._currentFrame.putBone = b;
597
- if (this._currentFrame.parentName) {
598
- for (let frame in this.HieStack) {
599
- if (this.HieStack[frame].name === this._currentFrame.parentName) {
600
- this.HieStack[frame].putBone.add(this._currentFrame.putBone);
595
+ if (this._currentObject.worked) {
596
+ if (this._currentObject.parent && !this._currentObject.parent.parent) {
597
+ this._changeRoot();
601
598
  }
602
599
  }
603
- }
604
- }
605
- },
606
- {
607
- key: "_readVertexDatas",
608
- value: function _readVertexDatas() {
609
- var endRead = 0;
610
- var mode = 0;
611
- var mode_local = 0;
612
- var maxLength = 0;
613
- while (true) {
614
- var changeMode = false;
615
- if (mode_local === 0) {
616
- var refO = this._readInt1(endRead);
617
- endRead = refO.endRead;
618
- mode_local = 1;
619
- maxLength = this._currentObject.data.indexOf(";;", endRead) + 1;
620
- if (maxLength <= 0) {
621
- maxLength = this._currentObject.data.length;
622
- }
600
+
601
+ if (this._currentObject.parent) {
602
+ this._currentObject = this._currentObject.parent;
623
603
  } else {
624
- var find = 0;
625
- switch (mode) {
626
- case 0:
627
- find = this._currentObject.data.indexOf(",", endRead) + 1;
628
- break;
629
- case 1:
630
- find = this._currentObject.data.indexOf(";,", endRead) + 1;
631
- break;
632
- }
633
- if (find === 0 || find > maxLength) {
634
- find = maxLength;
635
- mode_local = 0;
636
- changeMode = true;
637
- }
638
- switch (this._currentObject.type) {
639
- case "Mesh":
640
- switch (mode) {
641
- case 0:
642
- this._readVertex1(this._currentObject.data.substr(endRead, find - endRead));
643
- break;
644
- case 1:
645
- this._readFace1(this._currentObject.data.substr(endRead, find - endRead));
646
- break;
647
- }
648
- break;
649
- case "MeshNormals":
650
- switch (mode) {
651
- case 0:
652
- this._readNormalVector1(this._currentObject.data.substr(endRead, find - endRead));
653
- break;
654
- }
655
- break;
656
- }
657
- endRead = find + 1;
658
- if (changeMode) {
659
- mode++;
660
- }
661
- }
662
- if (endRead >= this._currentObject.data.length) {
663
- break;
604
+ breakFlag = true;
664
605
  }
606
+
607
+ if (breakFlag) break;
665
608
  }
666
609
  }
667
- },
668
- {
669
- key: "_readInt1",
670
- value: function _readInt1(start) {
671
- var find = this._currentObject.data.indexOf(";", start);
672
- return {
673
- refI: parseInt(this._currentObject.data.substr(start, find - start)),
674
- endRead: find + 1
675
- };
610
+
611
+ return;
612
+ }
613
+ }, {
614
+ key: '_changeRoot',
615
+ value: function _changeRoot() {
616
+ if (this._currentGeo != null && this._currentGeo.name) {
617
+ this._makeOutputGeometry();
676
618
  }
677
- },
678
- {
679
- key: "_readVertex1",
680
- value: function _readVertex1(line) {
681
- var data = this._readLine(line.trim()).substr(0, line.length - 2).split(";");
682
- this._currentGeo.GeometryData.vertices.push(parseFloat(data[0]), parseFloat(data[1]), parseFloat(data[2]));
683
- this._currentGeo.GeometryData.skinIndices.push(0, 0, 0, 0);
684
- this._currentGeo.GeometryData.skinWeights.push(1, 0, 0, 0);
685
- this._currentGeo.VertexSetedBoneCount.push(0);
619
+
620
+ this._currentGeo = {};
621
+
622
+ if (this._currentAnime != null && this._currentAnime.name) {
623
+ if (this._currentAnimeFrames) {
624
+ this._currentAnime.AnimeFrames.push(this._currentAnimeFrames);
625
+
626
+ this._currentAnimeFrames = null;
627
+ }
628
+
629
+ this._makeOutputAnimation();
686
630
  }
687
- },
688
- {
689
- key: "_readFace1",
690
- value: function _readFace1(line) {
691
- var data = this._readLine(line.trim()).substr(2, line.length - 4).split(",");
692
- this._currentGeo.GeometryData.indices.push(
693
- parseInt(data[0], 10),
694
- parseInt(data[1], 10),
695
- parseInt(data[2], 10)
696
- );
631
+
632
+ this._currentAnime = {};
633
+ }
634
+ }, {
635
+ key: '_getParentName',
636
+ value: function _getParentName(_obj) {
637
+ if (_obj.parent) {
638
+ if (_obj.parent.name) {
639
+ return _obj.parent.name;
640
+ } else {
641
+ return this._getParentName(_obj.parent);
642
+ }
643
+ } else {
644
+ return '';
697
645
  }
698
- },
699
- {
700
- key: "_readNormalVector1",
701
- value: function _readNormalVector1(line) {
702
- var data = this._readLine(line.trim()).substr(0, line.length - 2).split(";");
703
- this._currentGeo.GeometryData.normals.push(parseFloat(data[0]), parseFloat(data[1]), parseFloat(data[2]));
646
+ }
647
+ }, {
648
+ key: '_setFrame',
649
+ value: function _setFrame() {
650
+ this._nowFrameName = this._currentObject.name.trim();
651
+ this._currentFrame = {};
652
+ this._currentFrame.name = this._nowFrameName;
653
+ this._currentFrame.children = [];
654
+
655
+ if (this._currentObject.parent && this._currentObject.parent.name) {
656
+ this._currentFrame.parentName = this._currentObject.parent.name;
704
657
  }
705
- },
706
- {
707
- key: "_buildGeometry",
708
- value: function _buildGeometry() {
709
- var bufferGeometry = new THREE.BufferGeometry();
710
- var position = [];
711
- var normals = [];
712
- var uvs = [];
713
- var skinIndices = [];
714
- var skinWeights = [];
715
- var data = this._currentGeo.GeometryData;
716
- for (let i2 = 0, l = data.indices.length; i2 < l; i2++) {
717
- var stride2 = data.indices[i2] * 2;
718
- var stride3 = data.indices[i2] * 3;
719
- var stride4 = data.indices[i2] * 4;
720
- position.push(data.vertices[stride3], data.vertices[stride3 + 1], data.vertices[stride3 + 2]);
721
- normals.push(data.normals[stride3], data.normals[stride3 + 1], data.normals[stride3 + 2]);
722
- skinIndices.push(
723
- data.skinIndices[stride4],
724
- data.skinIndices[stride4 + 1],
725
- data.skinIndices[stride4 + 2],
726
- data.skinIndices[stride4 + 3]
727
- );
728
- skinWeights.push(
729
- data.skinWeights[stride4],
730
- data.skinWeights[stride4 + 1],
731
- data.skinWeights[stride4 + 2],
732
- data.skinWeights[stride4 + 3]
733
- );
734
- uvs.push(data.uvs[stride2], data.uvs[stride2 + 1]);
735
- }
736
- bufferGeometry.setAttribute("position", new THREE.Float32BufferAttribute(position, 3));
737
- bufferGeometry.setAttribute("normal", new THREE.Float32BufferAttribute(normals, 3));
738
- bufferGeometry.setAttribute("uv", new THREE.Float32BufferAttribute(uvs, 2));
739
- bufferGeometry.setAttribute("skinIndex", new THREE.Uint16BufferAttribute(skinIndices, 4));
740
- bufferGeometry.setAttribute("skinWeight", new THREE.Float32BufferAttribute(skinWeights, 4));
741
- this._computeGroups(bufferGeometry, data.materialIndices);
742
- return bufferGeometry;
658
+
659
+ this.frameHierarchie.push(this._nowFrameName);
660
+ this.HieStack[this._nowFrameName] = this._currentFrame;
661
+ }
662
+ }, {
663
+ key: '_setFrameTransformMatrix',
664
+ value: function _setFrameTransformMatrix() {
665
+ this._currentFrame.FrameTransformMatrix = new Matrix4();
666
+
667
+ var data = this._currentObject.data.split(',');
668
+
669
+ this._ParseMatrixData(this._currentFrame.FrameTransformMatrix, data);
670
+
671
+ this._makeBoneFrom_CurrentFrame();
672
+ }
673
+ }, {
674
+ key: '_makeBoneFrom_CurrentFrame',
675
+ value: function _makeBoneFrom_CurrentFrame() {
676
+ if (!this._currentFrame.FrameTransformMatrix) {
677
+ return;
743
678
  }
744
- },
745
- {
746
- key: "_computeGroups",
747
- value: function _computeGroups(bufferGeometry, materialIndices) {
748
- var group;
749
- var groups = [];
750
- var materialIndex = void 0;
751
- for (let i2 = 0; i2 < materialIndices.length; i2++) {
752
- var currentMaterialIndex = materialIndices[i2];
753
- if (currentMaterialIndex !== materialIndex) {
754
- materialIndex = currentMaterialIndex;
755
- if (group !== void 0) {
756
- group.count = i2 * 3 - group.start;
757
- groups.push(group);
758
- }
759
- group = {
760
- start: i2 * 3,
761
- materialIndex
762
- };
679
+
680
+ var b = new Bone();
681
+ b.name = this._currentFrame.name;
682
+ b.applyMatrix4(this._currentFrame.FrameTransformMatrix);
683
+ b.matrixWorld = b.matrix;
684
+ b.FrameTransformMatrix = this._currentFrame.FrameTransformMatrix;
685
+ this._currentFrame.putBone = b;
686
+
687
+ if (this._currentFrame.parentName) {
688
+ for (let frame in this.HieStack) {
689
+ if (this.HieStack[frame].name === this._currentFrame.parentName) {
690
+ this.HieStack[frame].putBone.add(this._currentFrame.putBone);
763
691
  }
764
692
  }
765
- if (group !== void 0) {
766
- group.count = i * 3 - group.start;
767
- groups.push(group);
768
- }
769
- bufferGeometry.groups = groups;
770
693
  }
771
- },
772
- {
773
- key: "_setMeshTextureCoords",
774
- value: function _setMeshTextureCoords() {
775
- var endRead = 0;
776
- var mode = 0;
777
- var mode_local = 0;
778
- while (true) {
694
+ }
695
+ }, {
696
+ key: '_readVertexDatas',
697
+ value: function _readVertexDatas() {
698
+ var endRead = 0;
699
+ var mode = 0;
700
+ var mode_local = 0;
701
+ var maxLength = 0;
702
+
703
+ while (true) {
704
+ var changeMode = false;
705
+
706
+ if (mode_local === 0) {
707
+ var refO = this._readInt1(endRead);
708
+
709
+ endRead = refO.endRead;
710
+ mode_local = 1;
711
+ maxLength = this._currentObject.data.indexOf(';;', endRead) + 1;
712
+
713
+ if (maxLength <= 0) {
714
+ maxLength = this._currentObject.data.length;
715
+ }
716
+ } else {
717
+ var find = 0;
718
+
779
719
  switch (mode) {
780
720
  case 0:
781
- if (mode_local === 0) {
782
- var refO = this._readInt1(0);
783
- endRead = refO.endRead;
784
- mode_local = 1;
785
- } else {
786
- var find = this._currentObject.data.indexOf(",", endRead) + 1;
787
- if (find === 0) {
788
- find = this._currentObject.data.length;
789
- mode = 2;
790
- mode_local = 0;
791
- }
792
- var line = this._currentObject.data.substr(endRead, find - endRead);
793
- var data = this._readLine(line.trim()).split(";");
794
- if (this.IsUvYReverse) {
795
- this._currentGeo.GeometryData.uvs.push(parseFloat(data[0]), 1 - parseFloat(data[1]));
796
- } else {
797
- this._currentGeo.GeometryData.uvs.push(parseFloat(data[0]), parseFloat(data[1]));
798
- }
799
- endRead = find + 1;
721
+ find = this._currentObject.data.indexOf(',', endRead) + 1;
722
+ break;
723
+
724
+ case 1:
725
+ find = this._currentObject.data.indexOf(';,', endRead) + 1;
726
+ break;
727
+ }
728
+
729
+ if (find === 0 || find > maxLength) {
730
+ find = maxLength;
731
+ mode_local = 0;
732
+ changeMode = true;
733
+ }
734
+
735
+ switch (this._currentObject.type) {
736
+ case 'Mesh':
737
+ switch (mode) {
738
+ case 0:
739
+ this._readVertex1(this._currentObject.data.substr(endRead, find - endRead));
740
+
741
+ break;
742
+
743
+ case 1:
744
+ this._readFace1(this._currentObject.data.substr(endRead, find - endRead));
745
+
746
+ break;
800
747
  }
748
+
749
+ break;
750
+
751
+ case 'MeshNormals':
752
+ switch (mode) {
753
+ case 0:
754
+ this._readNormalVector1(this._currentObject.data.substr(endRead, find - endRead));
755
+
756
+ break;
757
+ }
758
+
801
759
  break;
802
760
  }
803
- if (endRead >= this._currentObject.data.length) {
804
- break;
761
+
762
+ endRead = find + 1;
763
+
764
+ if (changeMode) {
765
+ mode++;
805
766
  }
806
767
  }
768
+
769
+ if (endRead >= this._currentObject.data.length) {
770
+ break;
771
+ }
807
772
  }
808
- },
809
- {
810
- key: "_setMeshMaterialList",
811
- value: function _setMeshMaterialList() {
812
- var endRead = 0;
813
- var mode = 0;
814
- var mode_local = 0;
815
- while (true) {
816
- if (mode_local < 2) {
817
- var refO = this._readInt1(endRead);
818
- endRead = refO.endRead;
819
- mode_local++;
820
- } else {
821
- var find = this._currentObject.data.indexOf(";", endRead);
822
- if (find === -1) {
823
- find = this._currentObject.data.length;
824
- mode = 3;
825
- mode_local = 0;
826
- }
827
- var line = this._currentObject.data.substr(endRead, find - endRead);
828
- var data = this._readLine(line.trim()).split(",");
829
- for (let i2 = 0; i2 < data.length; i2++) {
830
- this._currentGeo.GeometryData.materialIndices[i2] = parseInt(data[i2]);
831
- }
832
- endRead = this._currentObject.data.length;
833
- }
834
- if (endRead >= this._currentObject.data.length || mode >= 3) {
835
- break;
773
+ }
774
+ }, {
775
+ key: '_readInt1',
776
+ value: function _readInt1(start) {
777
+ var find = this._currentObject.data.indexOf(';', start);
778
+
779
+ return {
780
+ refI: parseInt(this._currentObject.data.substr(start, find - start)),
781
+ endRead: find + 1
782
+ };
783
+ }
784
+ }, {
785
+ key: '_readVertex1',
786
+ value: function _readVertex1(line) {
787
+ var data = this._readLine(line.trim()).substr(0, line.length - 2).split(';');
788
+
789
+ this._currentGeo.GeometryData.vertices.push(parseFloat(data[0]), parseFloat(data[1]), parseFloat(data[2]));
790
+
791
+ this._currentGeo.GeometryData.skinIndices.push(0, 0, 0, 0);
792
+
793
+ this._currentGeo.GeometryData.skinWeights.push(1, 0, 0, 0);
794
+
795
+ this._currentGeo.VertexSetedBoneCount.push(0);
796
+ }
797
+ }, {
798
+ key: '_readFace1',
799
+ value: function _readFace1(line) {
800
+ var data = this._readLine(line.trim()).substr(2, line.length - 4).split(',');
801
+
802
+ this._currentGeo.GeometryData.indices.push(parseInt(data[0], 10), parseInt(data[1], 10), parseInt(data[2], 10));
803
+ }
804
+ }, {
805
+ key: '_readNormalVector1',
806
+ value: function _readNormalVector1(line) {
807
+ var data = this._readLine(line.trim()).substr(0, line.length - 2).split(';');
808
+
809
+ this._currentGeo.GeometryData.normals.push(parseFloat(data[0]), parseFloat(data[1]), parseFloat(data[2]));
810
+ }
811
+ }, {
812
+ key: '_buildGeometry',
813
+ value: function _buildGeometry() {
814
+ var bufferGeometry = new BufferGeometry();
815
+ var position = [];
816
+ var normals = [];
817
+ var uvs = [];
818
+ var skinIndices = [];
819
+ var skinWeights = []; //
820
+
821
+ var data = this._currentGeo.GeometryData;
822
+
823
+ for (let i = 0, l = data.indices.length; i < l; i++) {
824
+ var stride2 = data.indices[i] * 2;
825
+ var stride3 = data.indices[i] * 3;
826
+ var stride4 = data.indices[i] * 4;
827
+ position.push(data.vertices[stride3], data.vertices[stride3 + 1], data.vertices[stride3 + 2]);
828
+ normals.push(data.normals[stride3], data.normals[stride3 + 1], data.normals[stride3 + 2]);
829
+ skinIndices.push(data.skinIndices[stride4], data.skinIndices[stride4 + 1], data.skinIndices[stride4 + 2], data.skinIndices[stride4 + 3]);
830
+ skinWeights.push(data.skinWeights[stride4], data.skinWeights[stride4 + 1], data.skinWeights[stride4 + 2], data.skinWeights[stride4 + 3]);
831
+ uvs.push(data.uvs[stride2], data.uvs[stride2 + 1]);
832
+ } //
833
+
834
+
835
+ bufferGeometry.setAttribute('position', new Float32BufferAttribute(position, 3));
836
+ bufferGeometry.setAttribute('normal', new Float32BufferAttribute(normals, 3));
837
+ bufferGeometry.setAttribute('uv', new Float32BufferAttribute(uvs, 2));
838
+ bufferGeometry.setAttribute('skinIndex', new Uint16BufferAttribute(skinIndices, 4));
839
+ bufferGeometry.setAttribute('skinWeight', new Float32BufferAttribute(skinWeights, 4));
840
+
841
+ this._computeGroups(bufferGeometry, data.materialIndices);
842
+
843
+ return bufferGeometry;
844
+ }
845
+ }, {
846
+ key: '_computeGroups',
847
+ value: function _computeGroups(bufferGeometry, materialIndices) {
848
+ var group;
849
+ var groups = [];
850
+ var materialIndex = undefined;
851
+
852
+ for (let i = 0; i < materialIndices.length; i++) {
853
+ var currentMaterialIndex = materialIndices[i];
854
+
855
+ if (currentMaterialIndex !== materialIndex) {
856
+ materialIndex = currentMaterialIndex;
857
+
858
+ if (group !== undefined) {
859
+ group.count = i * 3 - group.start;
860
+ groups.push(group);
836
861
  }
862
+
863
+ group = {
864
+ start: i * 3,
865
+ materialIndex: materialIndex
866
+ };
837
867
  }
838
868
  }
839
- },
840
- {
841
- key: "_setMaterial",
842
- value: function _setMaterial() {
843
- var _nowMat = new THREE.MeshPhongMaterial({
844
- color: Math.random() * 16777215
845
- });
846
- _nowMat.side = THREE.FrontSide;
847
- _nowMat.name = this._currentObject.name;
848
- var endRead = 0;
849
- var find = this._currentObject.data.indexOf(";;", endRead);
850
- var line = this._currentObject.data.substr(endRead, find - endRead);
851
- var data = this._readLine(line.trim()).split(";");
852
- _nowMat.color.r = parseFloat(data[0]);
853
- _nowMat.color.g = parseFloat(data[1]);
854
- _nowMat.color.b = parseFloat(data[2]);
855
- endRead = find + 2;
856
- find = this._currentObject.data.indexOf(";", endRead);
857
- line = this._currentObject.data.substr(endRead, find - endRead);
858
- _nowMat.shininess = parseFloat(this._readLine(line));
859
- endRead = find + 1;
860
- find = this._currentObject.data.indexOf(";;", endRead);
861
- line = this._currentObject.data.substr(endRead, find - endRead);
862
- var data2 = this._readLine(line.trim()).split(";");
863
- _nowMat.specular.r = parseFloat(data2[0]);
864
- _nowMat.specular.g = parseFloat(data2[1]);
865
- _nowMat.specular.b = parseFloat(data2[2]);
866
- endRead = find + 2;
867
- find = this._currentObject.data.indexOf(";;", endRead);
868
- if (find === -1) {
869
- find = this._currentObject.data.length;
870
- }
871
- line = this._currentObject.data.substr(endRead, find - endRead);
872
- var data3 = this._readLine(line.trim()).split(";");
873
- _nowMat.emissive.r = parseFloat(data3[0]);
874
- _nowMat.emissive.g = parseFloat(data3[1]);
875
- _nowMat.emissive.b = parseFloat(data3[2]);
876
- var localObject = null;
877
- while (true) {
878
- if (this._currentObject.children.length > 0) {
879
- localObject = this._currentObject.children.shift();
880
- if (this.debug) {
881
- console.log("processing " + localObject.name);
882
- }
883
- var fileName = localObject.data.substr(1, localObject.data.length - 2);
884
- switch (localObject.type) {
885
- case "TextureFilename":
886
- _nowMat.map = this.texloader.load(fileName);
887
- break;
888
- case "BumpMapFilename":
889
- _nowMat.bumpMap = this.texloader.load(fileName);
890
- _nowMat.bumpScale = 0.05;
891
- break;
892
- case "NormalMapFilename":
893
- _nowMat.normalMap = this.texloader.load(fileName);
894
- _nowMat.normalScale = new THREE.Vector2(2, 2);
895
- break;
896
- case "EmissiveMapFilename":
897
- _nowMat.emissiveMap = this.texloader.load(fileName);
898
- break;
899
- case "LightMapFilename":
900
- _nowMat.lightMap = this.texloader.load(fileName);
901
- break;
869
+
870
+ if (group !== undefined) {
871
+ group.count = i * 3 - group.start;
872
+ groups.push(group);
873
+ }
874
+
875
+ bufferGeometry.groups = groups;
876
+ }
877
+ }, {
878
+ key: '_setMeshTextureCoords',
879
+ value: function _setMeshTextureCoords() {
880
+ var endRead = 0;
881
+ var mode = 0;
882
+ var mode_local = 0;
883
+
884
+ while (true) {
885
+ switch (mode) {
886
+ case 0:
887
+ if (mode_local === 0) {
888
+ var refO = this._readInt1(0);
889
+
890
+ endRead = refO.endRead;
891
+ mode_local = 1;
892
+ } else {
893
+ var find = this._currentObject.data.indexOf(',', endRead) + 1;
894
+
895
+ if (find === 0) {
896
+ find = this._currentObject.data.length;
897
+ mode = 2;
898
+ mode_local = 0;
899
+ }
900
+
901
+ var line = this._currentObject.data.substr(endRead, find - endRead);
902
+
903
+ var data = this._readLine(line.trim()).split(';');
904
+
905
+ if (this.IsUvYReverse) {
906
+ this._currentGeo.GeometryData.uvs.push(parseFloat(data[0]), 1 - parseFloat(data[1]));
907
+ } else {
908
+ this._currentGeo.GeometryData.uvs.push(parseFloat(data[0]), parseFloat(data[1]));
909
+ }
910
+
911
+ endRead = find + 1;
902
912
  }
903
- } else {
913
+
904
914
  break;
905
- }
906
915
  }
907
- this._currentGeo.Materials.push(_nowMat);
908
- }
909
- },
910
- {
911
- key: "_setSkinWeights",
912
- value: function _setSkinWeights() {
913
- var boneInf = new XboneInf();
914
- var endRead = 0;
915
- var find = this._currentObject.data.indexOf(";", endRead);
916
- var line = this._currentObject.data.substr(endRead, find - endRead);
917
- endRead = find + 1;
918
- boneInf.boneName = line.substr(1, line.length - 2);
919
- boneInf.BoneIndex = this._currentGeo.BoneInfs.length;
920
- find = this._currentObject.data.indexOf(";", endRead);
921
- endRead = find + 1;
922
- find = this._currentObject.data.indexOf(";", endRead);
923
- line = this._currentObject.data.substr(endRead, find - endRead);
924
- var data = this._readLine(line.trim()).split(",");
925
- for (let i2 = 0; i2 < data.length; i2++) {
926
- boneInf.Indeces.push(parseInt(data[i2]));
916
+
917
+ if (endRead >= this._currentObject.data.length) {
918
+ break;
927
919
  }
928
- endRead = find + 1;
929
- find = this._currentObject.data.indexOf(";", endRead);
930
- line = this._currentObject.data.substr(endRead, find - endRead);
931
- var data2 = this._readLine(line.trim()).split(",");
932
- for (let _i = 0; _i < data2.length; _i++) {
933
- boneInf.Weights.push(parseFloat(data2[_i]));
920
+ }
921
+ }
922
+ }, {
923
+ key: '_setMeshMaterialList',
924
+ value: function _setMeshMaterialList() {
925
+ var endRead = 0;
926
+ var mode = 0;
927
+ var mode_local = 0;
928
+
929
+ while (true) {
930
+ if (mode_local < 2) {
931
+ var refO = this._readInt1(endRead);
932
+
933
+ endRead = refO.endRead;
934
+ mode_local++;
935
+ } else {
936
+ var find = this._currentObject.data.indexOf(';', endRead);
937
+
938
+ if (find === -1) {
939
+ find = this._currentObject.data.length;
940
+ mode = 3;
941
+ mode_local = 0;
942
+ }
943
+
944
+ var line = this._currentObject.data.substr(endRead, find - endRead);
945
+
946
+ var data = this._readLine(line.trim()).split(',');
947
+
948
+ for (let i = 0; i < data.length; i++) {
949
+ this._currentGeo.GeometryData.materialIndices[i] = parseInt(data[i]);
950
+ }
951
+
952
+ endRead = this._currentObject.data.length;
934
953
  }
935
- endRead = find + 1;
936
- find = this._currentObject.data.indexOf(";", endRead);
937
- if (find <= 0) {
938
- find = this._currentObject.data.length;
954
+
955
+ if (endRead >= this._currentObject.data.length || mode >= 3) {
956
+ break;
939
957
  }
940
- line = this._currentObject.data.substr(endRead, find - endRead);
941
- var data3 = this._readLine(line.trim()).split(",");
942
- boneInf.OffsetMatrix = new THREE.Matrix4();
943
- this._ParseMatrixData(boneInf.OffsetMatrix, data3);
944
- this._currentGeo.BoneInfs.push(boneInf);
945
958
  }
946
- },
947
- {
948
- key: "_makePutBoneList",
949
- value: function _makePutBoneList(_RootName, _bones) {
950
- var putting = false;
951
- for (let frame in this.HieStack) {
952
- if (this.HieStack[frame].name === _RootName || putting) {
953
- putting = true;
954
- var b = new THREE.Bone();
955
- b.name = this.HieStack[frame].name;
956
- b.applyMatrix4(this.HieStack[frame].FrameTransformMatrix);
957
- b.matrixWorld = b.matrix;
958
- b.FrameTransformMatrix = this.HieStack[frame].FrameTransformMatrix;
959
- b.pos = new THREE.Vector3().setFromMatrixPosition(b.FrameTransformMatrix).toArray();
960
- b.rotq = new THREE.Quaternion().setFromRotationMatrix(b.FrameTransformMatrix).toArray();
961
- b.scl = new THREE.Vector3().setFromMatrixScale(b.FrameTransformMatrix).toArray();
962
- if (this.HieStack[frame].parentName && this.HieStack[frame].parentName.length > 0) {
963
- for (let i2 = 0; i2 < _bones.length; i2++) {
964
- if (this.HieStack[frame].parentName === _bones[i2].name) {
965
- _bones[i2].add(b);
966
- b.parent = i2;
967
- break;
968
- }
969
- }
970
- }
971
- _bones.push(b);
959
+ }
960
+ }, {
961
+ key: '_setMaterial',
962
+ value: function _setMaterial() {
963
+ var _nowMat = new MeshPhongMaterial({
964
+ color: Math.random() * 0xffffff
965
+ });
966
+
967
+ _nowMat.side = FrontSide;
968
+ _nowMat.name = this._currentObject.name;
969
+ var endRead = 0;
970
+
971
+ var find = this._currentObject.data.indexOf(';;', endRead);
972
+
973
+ var line = this._currentObject.data.substr(endRead, find - endRead);
974
+
975
+ var data = this._readLine(line.trim()).split(';');
976
+
977
+ _nowMat.color.r = parseFloat(data[0]);
978
+ _nowMat.color.g = parseFloat(data[1]);
979
+ _nowMat.color.b = parseFloat(data[2]);
980
+ endRead = find + 2;
981
+ find = this._currentObject.data.indexOf(';', endRead);
982
+ line = this._currentObject.data.substr(endRead, find - endRead);
983
+ _nowMat.shininess = parseFloat(this._readLine(line));
984
+ endRead = find + 1;
985
+ find = this._currentObject.data.indexOf(';;', endRead);
986
+ line = this._currentObject.data.substr(endRead, find - endRead);
987
+
988
+ var data2 = this._readLine(line.trim()).split(';');
989
+
990
+ _nowMat.specular.r = parseFloat(data2[0]);
991
+ _nowMat.specular.g = parseFloat(data2[1]);
992
+ _nowMat.specular.b = parseFloat(data2[2]);
993
+ endRead = find + 2;
994
+ find = this._currentObject.data.indexOf(';;', endRead);
995
+
996
+ if (find === -1) {
997
+ find = this._currentObject.data.length;
998
+ }
999
+
1000
+ line = this._currentObject.data.substr(endRead, find - endRead);
1001
+
1002
+ var data3 = this._readLine(line.trim()).split(';');
1003
+
1004
+ _nowMat.emissive.r = parseFloat(data3[0]);
1005
+ _nowMat.emissive.g = parseFloat(data3[1]);
1006
+ _nowMat.emissive.b = parseFloat(data3[2]);
1007
+ var localObject = null;
1008
+
1009
+ while (true) {
1010
+ if (this._currentObject.children.length > 0) {
1011
+ localObject = this._currentObject.children.shift();
1012
+
1013
+ if (this.debug) {
1014
+ console.log('processing ' + localObject.name);
1015
+ }
1016
+
1017
+ var fileName = localObject.data.substr(1, localObject.data.length - 2);
1018
+
1019
+ switch (localObject.type) {
1020
+ case 'TextureFilename':
1021
+ _nowMat.map = this.texloader.load(fileName);
1022
+ break;
1023
+
1024
+ case 'BumpMapFilename':
1025
+ _nowMat.bumpMap = this.texloader.load(fileName);
1026
+ _nowMat.bumpScale = 0.05;
1027
+ break;
1028
+
1029
+ case 'NormalMapFilename':
1030
+ _nowMat.normalMap = this.texloader.load(fileName);
1031
+ _nowMat.normalScale = new Vector2(2, 2);
1032
+ break;
1033
+
1034
+ case 'EmissiveMapFilename':
1035
+ _nowMat.emissiveMap = this.texloader.load(fileName);
1036
+ break;
1037
+
1038
+ case 'LightMapFilename':
1039
+ _nowMat.lightMap = this.texloader.load(fileName);
1040
+ break;
972
1041
  }
1042
+ } else {
1043
+ break;
973
1044
  }
974
1045
  }
975
- },
976
- {
977
- key: "_makeOutputGeometry",
978
- value: function _makeOutputGeometry() {
979
- var mesh = null;
980
- if (this._currentGeo.BoneInfs.length > 0) {
981
- var putBones = [];
982
- this._makePutBoneList(this._currentGeo.baseFrame.parentName, putBones);
983
- for (let bi = 0; bi < this._currentGeo.BoneInfs.length; bi++) {
984
- var boneIndex = 0;
985
- for (let bb = 0; bb < putBones.length; bb++) {
986
- if (putBones[bb].name === this._currentGeo.BoneInfs[bi].boneName) {
987
- boneIndex = bb;
988
- putBones[bb].OffsetMatrix = new THREE.Matrix4();
989
- putBones[bb].OffsetMatrix.copy(this._currentGeo.BoneInfs[bi].OffsetMatrix);
1046
+
1047
+ this._currentGeo.Materials.push(_nowMat);
1048
+ }
1049
+ }, {
1050
+ key: '_setSkinWeights',
1051
+ value: function _setSkinWeights() {
1052
+ var boneInf = new XboneInf();
1053
+ var endRead = 0;
1054
+
1055
+ var find = this._currentObject.data.indexOf(';', endRead);
1056
+
1057
+ var line = this._currentObject.data.substr(endRead, find - endRead);
1058
+
1059
+ endRead = find + 1;
1060
+ boneInf.boneName = line.substr(1, line.length - 2);
1061
+ boneInf.BoneIndex = this._currentGeo.BoneInfs.length;
1062
+ find = this._currentObject.data.indexOf(';', endRead);
1063
+ endRead = find + 1;
1064
+ find = this._currentObject.data.indexOf(';', endRead);
1065
+ line = this._currentObject.data.substr(endRead, find - endRead);
1066
+
1067
+ var data = this._readLine(line.trim()).split(',');
1068
+
1069
+ for (let i = 0; i < data.length; i++) {
1070
+ boneInf.Indeces.push(parseInt(data[i]));
1071
+ }
1072
+
1073
+ endRead = find + 1;
1074
+ find = this._currentObject.data.indexOf(';', endRead);
1075
+ line = this._currentObject.data.substr(endRead, find - endRead);
1076
+
1077
+ var data2 = this._readLine(line.trim()).split(',');
1078
+
1079
+ for (let _i = 0; _i < data2.length; _i++) {
1080
+ boneInf.Weights.push(parseFloat(data2[_i]));
1081
+ }
1082
+
1083
+ endRead = find + 1;
1084
+ find = this._currentObject.data.indexOf(';', endRead);
1085
+
1086
+ if (find <= 0) {
1087
+ find = this._currentObject.data.length;
1088
+ }
1089
+
1090
+ line = this._currentObject.data.substr(endRead, find - endRead);
1091
+
1092
+ var data3 = this._readLine(line.trim()).split(',');
1093
+
1094
+ boneInf.OffsetMatrix = new Matrix4();
1095
+
1096
+ this._ParseMatrixData(boneInf.OffsetMatrix, data3);
1097
+
1098
+ this._currentGeo.BoneInfs.push(boneInf);
1099
+ }
1100
+ }, {
1101
+ key: '_makePutBoneList',
1102
+ value: function _makePutBoneList(_RootName, _bones) {
1103
+ var putting = false;
1104
+
1105
+ for (let frame in this.HieStack) {
1106
+ if (this.HieStack[frame].name === _RootName || putting) {
1107
+ putting = true;
1108
+ var b = new Bone();
1109
+ b.name = this.HieStack[frame].name;
1110
+ b.applyMatrix4(this.HieStack[frame].FrameTransformMatrix);
1111
+ b.matrixWorld = b.matrix;
1112
+ b.FrameTransformMatrix = this.HieStack[frame].FrameTransformMatrix;
1113
+ b.pos = new Vector3().setFromMatrixPosition(b.FrameTransformMatrix).toArray();
1114
+ b.rotq = new Quaternion().setFromRotationMatrix(b.FrameTransformMatrix).toArray();
1115
+ b.scl = new Vector3().setFromMatrixScale(b.FrameTransformMatrix).toArray();
1116
+
1117
+ if (this.HieStack[frame].parentName && this.HieStack[frame].parentName.length > 0) {
1118
+ for (let i = 0; i < _bones.length; i++) {
1119
+ if (this.HieStack[frame].parentName === _bones[i].name) {
1120
+ _bones[i].add(b);
1121
+
1122
+ b.parent = i;
990
1123
  break;
991
1124
  }
992
1125
  }
993
- for (let vi = 0; vi < this._currentGeo.BoneInfs[bi].Indeces.length; vi++) {
994
- var nowVertexID = this._currentGeo.BoneInfs[bi].Indeces[vi];
995
- var nowVal = this._currentGeo.BoneInfs[bi].Weights[vi];
996
- var stride = nowVertexID * 4;
997
- switch (this._currentGeo.VertexSetedBoneCount[nowVertexID]) {
998
- case 0:
999
- this._currentGeo.GeometryData.skinIndices[stride] = boneIndex;
1000
- this._currentGeo.GeometryData.skinWeights[stride] = nowVal;
1001
- break;
1002
- case 1:
1003
- this._currentGeo.GeometryData.skinIndices[stride + 1] = boneIndex;
1004
- this._currentGeo.GeometryData.skinWeights[stride + 1] = nowVal;
1005
- break;
1006
- case 2:
1007
- this._currentGeo.GeometryData.skinIndices[stride + 2] = boneIndex;
1008
- this._currentGeo.GeometryData.skinWeights[stride + 2] = nowVal;
1009
- break;
1010
- case 3:
1011
- this._currentGeo.GeometryData.skinIndices[stride + 3] = boneIndex;
1012
- this._currentGeo.GeometryData.skinWeights[stride + 3] = nowVal;
1013
- break;
1014
- }
1015
- this._currentGeo.VertexSetedBoneCount[nowVertexID]++;
1016
- if (this._currentGeo.VertexSetedBoneCount[nowVertexID] > 4) {
1017
- console.log("warn! over 4 bone weight! :" + nowVertexID);
1018
- }
1019
- }
1020
1126
  }
1021
- for (let sk = 0; sk < this._currentGeo.Materials.length; sk++) {
1022
- this._currentGeo.Materials[sk].skinning = true;
1023
- }
1024
- var offsetList = [];
1025
- for (let _bi = 0; _bi < putBones.length; _bi++) {
1026
- if (putBones[_bi].OffsetMatrix) {
1027
- offsetList.push(putBones[_bi].OffsetMatrix);
1028
- } else {
1029
- offsetList.push(new THREE.Matrix4());
1030
- }
1031
- }
1032
- var bufferGeometry = this._buildGeometry();
1033
- mesh = new THREE.SkinnedMesh(
1034
- bufferGeometry,
1035
- this._currentGeo.Materials.length === 1 ? this._currentGeo.Materials[0] : this._currentGeo.Materials
1036
- );
1037
- this._initSkeleton(mesh, putBones, offsetList);
1038
- } else {
1039
- var _bufferGeometry = this._buildGeometry();
1040
- mesh = new THREE.Mesh(
1041
- _bufferGeometry,
1042
- this._currentGeo.Materials.length === 1 ? this._currentGeo.Materials[0] : this._currentGeo.Materials
1043
- );
1127
+
1128
+ _bones.push(b);
1044
1129
  }
1045
- mesh.name = this._currentGeo.name;
1046
- var worldBaseMx = new THREE.Matrix4();
1047
- var currentMxFrame = this._currentGeo.baseFrame.putBone;
1048
- if (currentMxFrame && currentMxFrame.parent) {
1049
- while (true) {
1050
- currentMxFrame = currentMxFrame.parent;
1051
- if (currentMxFrame) {
1052
- worldBaseMx.multiply(currentMxFrame.FrameTransformMatrix);
1053
- } else {
1130
+ }
1131
+ }
1132
+ }, {
1133
+ key: '_makeOutputGeometry',
1134
+ value: function _makeOutputGeometry() {
1135
+ var mesh = null;
1136
+
1137
+ if (this._currentGeo.BoneInfs.length > 0) {
1138
+ var putBones = [];
1139
+
1140
+ this._makePutBoneList(this._currentGeo.baseFrame.parentName, putBones);
1141
+
1142
+ for (let bi = 0; bi < this._currentGeo.BoneInfs.length; bi++) {
1143
+ var boneIndex = 0;
1144
+
1145
+ for (let bb = 0; bb < putBones.length; bb++) {
1146
+ if (putBones[bb].name === this._currentGeo.BoneInfs[bi].boneName) {
1147
+ boneIndex = bb;
1148
+ putBones[bb].OffsetMatrix = new Matrix4();
1149
+ putBones[bb].OffsetMatrix.copy(this._currentGeo.BoneInfs[bi].OffsetMatrix);
1054
1150
  break;
1055
1151
  }
1056
1152
  }
1057
- mesh.applyMatrix4(worldBaseMx);
1058
- }
1059
- this.Meshes.push(mesh);
1060
- }
1061
- },
1062
- {
1063
- key: "_initSkeleton",
1064
- value: function _initSkeleton(mesh, boneList, boneInverses) {
1065
- var bones = [], bone, gbone;
1066
- var i2, il;
1067
- for (i2 = 0, il = boneList.length; i2 < il; i2++) {
1068
- gbone = boneList[i2];
1069
- bone = new THREE.Bone();
1070
- bones.push(bone);
1071
- bone.name = gbone.name;
1072
- bone.position.fromArray(gbone.pos);
1073
- bone.quaternion.fromArray(gbone.rotq);
1074
- if (gbone.scl !== void 0)
1075
- bone.scale.fromArray(gbone.scl);
1076
- }
1077
- for (i2 = 0, il = boneList.length; i2 < il; i2++) {
1078
- gbone = boneList[i2];
1079
- if (gbone.parent !== -1 && gbone.parent !== null && bones[gbone.parent] !== void 0) {
1080
- bones[gbone.parent].add(bones[i2]);
1081
- } else {
1082
- mesh.add(bones[i2]);
1083
- }
1084
- }
1085
- mesh.updateMatrixWorld(true);
1086
- var skeleton = new THREE.Skeleton(bones, boneInverses);
1087
- mesh.bind(skeleton, mesh.matrixWorld);
1088
- }
1089
- },
1090
- {
1091
- key: "_readAnimationKey",
1092
- value: function _readAnimationKey() {
1093
- var endRead = 0;
1094
- var find = this._currentObject.data.indexOf(";", endRead);
1095
- var line = this._currentObject.data.substr(endRead, find - endRead);
1096
- endRead = find + 1;
1097
- var nowKeyType = parseInt(this._readLine(line));
1098
- find = this._currentObject.data.indexOf(";", endRead);
1099
- endRead = find + 1;
1100
- line = this._currentObject.data.substr(endRead);
1101
- var data = this._readLine(line.trim()).split(";;,");
1102
- for (let i2 = 0; i2 < data.length; i2++) {
1103
- var data2 = data[i2].split(";");
1104
- var keyInfo = new XKeyFrameInfo();
1105
- keyInfo.type = nowKeyType;
1106
- keyInfo.Frame = parseInt(data2[0]);
1107
- keyInfo.index = this._currentAnimeFrames.keyFrames.length;
1108
- keyInfo.time = keyInfo.Frame;
1109
- if (nowKeyType != 4) {
1110
- var frameFound = false;
1111
- for (let mm = 0; mm < this._currentAnimeFrames.keyFrames.length; mm++) {
1112
- if (this._currentAnimeFrames.keyFrames[mm].Frame === keyInfo.Frame) {
1113
- keyInfo = this._currentAnimeFrames.keyFrames[mm];
1114
- frameFound = true;
1115
- break;
1116
- }
1117
- }
1118
- var frameValue = data2[2].split(",");
1119
- switch (nowKeyType) {
1153
+
1154
+ for (let vi = 0; vi < this._currentGeo.BoneInfs[bi].Indeces.length; vi++) {
1155
+ var nowVertexID = this._currentGeo.BoneInfs[bi].Indeces[vi];
1156
+ var nowVal = this._currentGeo.BoneInfs[bi].Weights[vi];
1157
+ var stride = nowVertexID * 4;
1158
+
1159
+ switch (this._currentGeo.VertexSetedBoneCount[nowVertexID]) {
1120
1160
  case 0:
1121
- keyInfo.rot = new THREE.Quaternion(
1122
- parseFloat(frameValue[1]),
1123
- parseFloat(frameValue[2]),
1124
- parseFloat(frameValue[3]),
1125
- parseFloat(frameValue[0]) * -1
1126
- );
1161
+ this._currentGeo.GeometryData.skinIndices[stride] = boneIndex;
1162
+ this._currentGeo.GeometryData.skinWeights[stride] = nowVal;
1127
1163
  break;
1164
+
1128
1165
  case 1:
1129
- keyInfo.scl = new THREE.Vector3(
1130
- parseFloat(frameValue[0]),
1131
- parseFloat(frameValue[1]),
1132
- parseFloat(frameValue[2])
1133
- );
1166
+ this._currentGeo.GeometryData.skinIndices[stride + 1] = boneIndex;
1167
+ this._currentGeo.GeometryData.skinWeights[stride + 1] = nowVal;
1134
1168
  break;
1169
+
1135
1170
  case 2:
1136
- keyInfo.pos = new THREE.Vector3(
1137
- parseFloat(frameValue[0]),
1138
- parseFloat(frameValue[1]),
1139
- parseFloat(frameValue[2])
1140
- );
1171
+ this._currentGeo.GeometryData.skinIndices[stride + 2] = boneIndex;
1172
+ this._currentGeo.GeometryData.skinWeights[stride + 2] = nowVal;
1173
+ break;
1174
+
1175
+ case 3:
1176
+ this._currentGeo.GeometryData.skinIndices[stride + 3] = boneIndex;
1177
+ this._currentGeo.GeometryData.skinWeights[stride + 3] = nowVal;
1141
1178
  break;
1142
1179
  }
1143
- if (!frameFound) {
1144
- this._currentAnimeFrames.keyFrames.push(keyInfo);
1180
+
1181
+ this._currentGeo.VertexSetedBoneCount[nowVertexID]++;
1182
+
1183
+ if (this._currentGeo.VertexSetedBoneCount[nowVertexID] > 4) {
1184
+ console.log('warn! over 4 bone weight! :' + nowVertexID);
1145
1185
  }
1186
+ }
1187
+ }
1188
+
1189
+ for (let sk = 0; sk < this._currentGeo.Materials.length; sk++) {
1190
+ this._currentGeo.Materials[sk].skinning = true;
1191
+ }
1192
+
1193
+ var offsetList = [];
1194
+
1195
+ for (let _bi = 0; _bi < putBones.length; _bi++) {
1196
+ if (putBones[_bi].OffsetMatrix) {
1197
+ offsetList.push(putBones[_bi].OffsetMatrix);
1146
1198
  } else {
1147
- keyInfo.matrix = new THREE.Matrix4();
1148
- this._ParseMatrixData(keyInfo.matrix, data2[2].split(","));
1149
- this._currentAnimeFrames.keyFrames.push(keyInfo);
1199
+ offsetList.push(new Matrix4());
1150
1200
  }
1151
1201
  }
1202
+
1203
+ var bufferGeometry = this._buildGeometry();
1204
+
1205
+ mesh = new SkinnedMesh(bufferGeometry, this._currentGeo.Materials.length === 1 ? this._currentGeo.Materials[0] : this._currentGeo.Materials);
1206
+
1207
+ this._initSkeleton(mesh, putBones, offsetList);
1208
+ } else {
1209
+ var _bufferGeometry = this._buildGeometry();
1210
+
1211
+ mesh = new Mesh(_bufferGeometry, this._currentGeo.Materials.length === 1 ? this._currentGeo.Materials[0] : this._currentGeo.Materials);
1152
1212
  }
1153
- },
1154
- {
1155
- key: "_makeOutputAnimation",
1156
- value: function _makeOutputAnimation() {
1157
- var animationObj = new XAnimationObj(this.options);
1158
- animationObj.fps = this.animTicksPerSecond;
1159
- animationObj.name = this._currentAnime.name;
1160
- animationObj.make(this._currentAnime.AnimeFrames);
1161
- this.animations.push(animationObj);
1162
- }
1163
- },
1164
- {
1165
- key: "assignAnimation",
1166
- value: function assignAnimation(_model, _animation) {
1167
- var model = _model;
1168
- var animation = _animation;
1169
- if (!model) {
1170
- model = this.Meshes[0];
1171
- }
1172
- if (!animation) {
1173
- animation = this.animations[0];
1213
+
1214
+ mesh.name = this._currentGeo.name;
1215
+ var worldBaseMx = new Matrix4();
1216
+ var currentMxFrame = this._currentGeo.baseFrame.putBone;
1217
+
1218
+ if (currentMxFrame && currentMxFrame.parent) {
1219
+ while (true) {
1220
+ currentMxFrame = currentMxFrame.parent;
1221
+
1222
+ if (currentMxFrame) {
1223
+ worldBaseMx.multiply(currentMxFrame.FrameTransformMatrix);
1224
+ } else {
1225
+ break;
1226
+ }
1174
1227
  }
1175
- if (!model || !animation) {
1176
- return null;
1228
+
1229
+ mesh.applyMatrix4(worldBaseMx);
1230
+ }
1231
+
1232
+ this.Meshes.push(mesh);
1233
+ }
1234
+ }, {
1235
+ key: '_initSkeleton',
1236
+ value: function _initSkeleton(mesh, boneList, boneInverses) {
1237
+ var bones = [],
1238
+ bone,
1239
+ gbone;
1240
+ var i, il;
1241
+
1242
+ for (i = 0, il = boneList.length; i < il; i++) {
1243
+ gbone = boneList[i];
1244
+ bone = new Bone();
1245
+ bones.push(bone);
1246
+ bone.name = gbone.name;
1247
+ bone.position.fromArray(gbone.pos);
1248
+ bone.quaternion.fromArray(gbone.rotq);
1249
+ if (gbone.scl !== undefined) bone.scale.fromArray(gbone.scl);
1250
+ }
1251
+
1252
+ for (i = 0, il = boneList.length; i < il; i++) {
1253
+ gbone = boneList[i];
1254
+
1255
+ if (gbone.parent !== -1 && gbone.parent !== null && bones[gbone.parent] !== undefined) {
1256
+ bones[gbone.parent].add(bones[i]);
1257
+ } else {
1258
+ mesh.add(bones[i]);
1177
1259
  }
1178
- var put = {};
1179
- put.fps = animation.fps;
1180
- put.name = animation.name;
1181
- put.length = animation.length;
1182
- put.hierarchy = [];
1183
- for (let b = 0; b < model.skeleton.bones.length; b++) {
1184
- var findAnimation = false;
1185
- for (let i2 = 0; i2 < animation.hierarchy.length; i2++) {
1186
- if (model.skeleton.bones[b].name === animation.hierarchy[i2].name) {
1187
- findAnimation = true;
1188
- var c_key = animation.hierarchy[i2].copy();
1189
- c_key.parent = -1;
1190
- if (model.skeleton.bones[b].parent && model.skeleton.bones[b].parent.type === "Bone") {
1191
- for (let bb = 0; bb < put.hierarchy.length; bb++) {
1192
- if (put.hierarchy[bb].name === model.skeleton.bones[b].parent.name) {
1193
- c_key.parent = bb;
1194
- c_key.parentName = model.skeleton.bones[b].parent.name;
1195
- }
1196
- }
1197
- }
1198
- put.hierarchy.push(c_key);
1260
+ }
1261
+
1262
+ mesh.updateMatrixWorld(true);
1263
+ var skeleton = new Skeleton(bones, boneInverses);
1264
+ mesh.bind(skeleton, mesh.matrixWorld);
1265
+ }
1266
+ }, {
1267
+ key: '_readAnimationKey',
1268
+ value: function _readAnimationKey() {
1269
+ var endRead = 0;
1270
+
1271
+ var find = this._currentObject.data.indexOf(';', endRead);
1272
+
1273
+ var line = this._currentObject.data.substr(endRead, find - endRead);
1274
+
1275
+ endRead = find + 1;
1276
+ var nowKeyType = parseInt(this._readLine(line));
1277
+ find = this._currentObject.data.indexOf(';', endRead);
1278
+ endRead = find + 1;
1279
+ line = this._currentObject.data.substr(endRead);
1280
+
1281
+ var data = this._readLine(line.trim()).split(';;,');
1282
+
1283
+ for (let i = 0; i < data.length; i++) {
1284
+ var data2 = data[i].split(';');
1285
+ var keyInfo = new XKeyFrameInfo();
1286
+ keyInfo.type = nowKeyType;
1287
+ keyInfo.Frame = parseInt(data2[0]);
1288
+ keyInfo.index = this._currentAnimeFrames.keyFrames.length;
1289
+ keyInfo.time = keyInfo.Frame;
1290
+
1291
+ if (nowKeyType != 4) {
1292
+ var frameFound = false;
1293
+
1294
+ for (let mm = 0; mm < this._currentAnimeFrames.keyFrames.length; mm++) {
1295
+ if (this._currentAnimeFrames.keyFrames[mm].Frame === keyInfo.Frame) {
1296
+ keyInfo = this._currentAnimeFrames.keyFrames[mm];
1297
+ frameFound = true;
1199
1298
  break;
1200
1299
  }
1201
1300
  }
1202
- if (!findAnimation) {
1203
- var _c_key = animation.hierarchy[0].copy();
1204
- _c_key.name = model.skeleton.bones[b].name;
1205
- _c_key.parent = -1;
1206
- for (let k = 0; k < _c_key.keys.length; k++) {
1207
- if (_c_key.keys[k].pos) {
1208
- _c_key.keys[k].pos.set(0, 0, 0);
1209
- }
1210
- if (_c_key.keys[k].scl) {
1211
- _c_key.keys[k].scl.set(1, 1, 1);
1212
- }
1213
- if (_c_key.keys[k].rot) {
1214
- _c_key.keys[k].rot.set(0, 0, 0, 1);
1301
+
1302
+ var frameValue = data2[2].split(',');
1303
+
1304
+ switch (nowKeyType) {
1305
+ case 0:
1306
+ keyInfo.rot = new Quaternion(parseFloat(frameValue[1]), parseFloat(frameValue[2]), parseFloat(frameValue[3]), parseFloat(frameValue[0]) * -1);
1307
+ break;
1308
+
1309
+ case 1:
1310
+ keyInfo.scl = new Vector3(parseFloat(frameValue[0]), parseFloat(frameValue[1]), parseFloat(frameValue[2]));
1311
+ break;
1312
+
1313
+ case 2:
1314
+ keyInfo.pos = new Vector3(parseFloat(frameValue[0]), parseFloat(frameValue[1]), parseFloat(frameValue[2]));
1315
+ break;
1316
+ }
1317
+
1318
+ if (!frameFound) {
1319
+ this._currentAnimeFrames.keyFrames.push(keyInfo);
1320
+ }
1321
+ } else {
1322
+ keyInfo.matrix = new Matrix4();
1323
+
1324
+ this._ParseMatrixData(keyInfo.matrix, data2[2].split(','));
1325
+
1326
+ this._currentAnimeFrames.keyFrames.push(keyInfo);
1327
+ }
1328
+ }
1329
+ }
1330
+ }, {
1331
+ key: '_makeOutputAnimation',
1332
+ value: function _makeOutputAnimation() {
1333
+ var animationObj = new XAnimationObj(this.options);
1334
+ animationObj.fps = this.animTicksPerSecond;
1335
+ animationObj.name = this._currentAnime.name;
1336
+ animationObj.make(this._currentAnime.AnimeFrames);
1337
+ this.animations.push(animationObj);
1338
+ }
1339
+ }, {
1340
+ key: 'assignAnimation',
1341
+ value: function assignAnimation(_model, _animation) {
1342
+ var model = _model;
1343
+ var animation = _animation;
1344
+
1345
+ if (!model) {
1346
+ model = this.Meshes[0];
1347
+ }
1348
+
1349
+ if (!animation) {
1350
+ animation = this.animations[0];
1351
+ }
1352
+
1353
+ if (!model || !animation) {
1354
+ return null;
1355
+ }
1356
+
1357
+ var put = {};
1358
+ put.fps = animation.fps;
1359
+ put.name = animation.name;
1360
+ put.length = animation.length;
1361
+ put.hierarchy = [];
1362
+
1363
+ for (let b = 0; b < model.skeleton.bones.length; b++) {
1364
+ var findAnimation = false;
1365
+
1366
+ for (let i = 0; i < animation.hierarchy.length; i++) {
1367
+ if (model.skeleton.bones[b].name === animation.hierarchy[i].name) {
1368
+ findAnimation = true;
1369
+ var c_key = animation.hierarchy[i].copy();
1370
+ c_key.parent = -1;
1371
+
1372
+ if (model.skeleton.bones[b].parent && model.skeleton.bones[b].parent.type === 'Bone') {
1373
+ for (let bb = 0; bb < put.hierarchy.length; bb++) {
1374
+ if (put.hierarchy[bb].name === model.skeleton.bones[b].parent.name) {
1375
+ c_key.parent = bb;
1376
+ c_key.parentName = model.skeleton.bones[b].parent.name;
1377
+ }
1215
1378
  }
1216
1379
  }
1217
- put.hierarchy.push(_c_key);
1380
+
1381
+ put.hierarchy.push(c_key);
1382
+ break;
1218
1383
  }
1219
1384
  }
1220
- if (!model.geometry.animations) {
1221
- model.geometry.animations = [];
1222
- }
1223
- model.geometry.animations.push(THREE.AnimationClip.parseAnimation(put, model.skeleton.bones));
1224
- if (!model.animationMixer) {
1225
- model.animationMixer = new THREE.AnimationMixer(model);
1385
+
1386
+ if (!findAnimation) {
1387
+ var _c_key = animation.hierarchy[0].copy();
1388
+
1389
+ _c_key.name = model.skeleton.bones[b].name;
1390
+ _c_key.parent = -1;
1391
+
1392
+ for (let k = 0; k < _c_key.keys.length; k++) {
1393
+ if (_c_key.keys[k].pos) {
1394
+ _c_key.keys[k].pos.set(0, 0, 0);
1395
+ }
1396
+
1397
+ if (_c_key.keys[k].scl) {
1398
+ _c_key.keys[k].scl.set(1, 1, 1);
1399
+ }
1400
+
1401
+ if (_c_key.keys[k].rot) {
1402
+ _c_key.keys[k].rot.set(0, 0, 0, 1);
1403
+ }
1404
+ }
1405
+
1406
+ put.hierarchy.push(_c_key);
1226
1407
  }
1227
- return put;
1228
1408
  }
1229
- },
1230
- {
1231
- key: "_ParseMatrixData",
1232
- value: function _ParseMatrixData(targetMatrix, data) {
1233
- targetMatrix.set(
1234
- parseFloat(data[0]),
1235
- parseFloat(data[4]),
1236
- parseFloat(data[8]),
1237
- parseFloat(data[12]),
1238
- parseFloat(data[1]),
1239
- parseFloat(data[5]),
1240
- parseFloat(data[9]),
1241
- parseFloat(data[13]),
1242
- parseFloat(data[2]),
1243
- parseFloat(data[6]),
1244
- parseFloat(data[10]),
1245
- parseFloat(data[14]),
1246
- parseFloat(data[3]),
1247
- parseFloat(data[7]),
1248
- parseFloat(data[11]),
1249
- parseFloat(data[15])
1250
- );
1409
+
1410
+ if (!model.geometry.animations) {
1411
+ model.geometry.animations = [];
1251
1412
  }
1413
+
1414
+ model.geometry.animations.push(AnimationClip.parseAnimation(put, model.skeleton.bones));
1415
+
1416
+ if (!model.animationMixer) {
1417
+ model.animationMixer = new AnimationMixer(model);
1418
+ }
1419
+
1420
+ return put;
1421
+ }
1422
+ }, {
1423
+ key: '_ParseMatrixData',
1424
+ value: function _ParseMatrixData(targetMatrix, data) {
1425
+ targetMatrix.set(parseFloat(data[0]), parseFloat(data[4]), parseFloat(data[8]), parseFloat(data[12]), parseFloat(data[1]), parseFloat(data[5]), parseFloat(data[9]), parseFloat(data[13]), parseFloat(data[2]), parseFloat(data[6]), parseFloat(data[10]), parseFloat(data[14]), parseFloat(data[3]), parseFloat(data[7]), parseFloat(data[11]), parseFloat(data[15]));
1252
1426
  }
1253
- ]);
1254
- return XLoader3;
1427
+ }]);
1428
+ return XLoader;
1255
1429
  }();
1256
- return XLoader2;
1430
+
1431
+ return XLoader;
1257
1432
  }();
1258
- exports.XLoader = XLoader;
1433
+
1434
+ export { XLoader };