156 lines
5.9 MiB
JavaScript
156 lines
5.9 MiB
JavaScript
|
/*
|
||
|
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
|
||
|
* This devtool is neither made for production nor for readable output files.
|
||
|
* It uses "eval()" calls to create a separate source file in the browser devtools.
|
||
|
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
||
|
* or disable the default devtool with "devtool: false".
|
||
|
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
||
|
*/
|
||
|
/******/ (() => { // webpackBootstrap
|
||
|
/******/ "use strict";
|
||
|
/******/ var __webpack_modules__ = ({
|
||
|
|
||
|
/***/ "./node_modules/@pixiv/three-vrm-animation/lib/three-vrm-animation.module.js":
|
||
|
/*!***********************************************************************************!*\
|
||
|
!*** ./node_modules/@pixiv/three-vrm-animation/lib/three-vrm-animation.module.js ***!
|
||
|
\***********************************************************************************/
|
||
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
|
||
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ VRMAnimation: () => (/* binding */ VRMAnimation),\n/* harmony export */ VRMAnimationLoaderPlugin: () => (/* binding */ VRMAnimationLoaderPlugin),\n/* harmony export */ VRMLookAtQuaternionProxy: () => (/* binding */ VRMLookAtQuaternionProxy),\n/* harmony export */ createVRMAnimationClip: () => (/* binding */ createVRMAnimationClip),\n/* harmony export */ createVRMAnimationExpressionTracks: () => (/* binding */ createVRMAnimationExpressionTracks),\n/* harmony export */ createVRMAnimationHumanoidTracks: () => (/* binding */ createVRMAnimationHumanoidTracks),\n/* harmony export */ createVRMAnimationLookAtTrack: () => (/* binding */ createVRMAnimationLookAtTrack)\n/* harmony export */ });\n/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ \"./node_modules/three/build/three.module.js\");\n/*!\n * @pixiv/three-vrm-animation v2.1.1\n * The implementation of VRM Animation\n *\n * Copyright (c) 2023-2024 pixiv Inc.\n * @pixiv/three-vrm-animation is distributed under MIT License\n * https://github.com/pixiv/three-vrm/blob/release/LICENSE\n */\n\n\n/*!\n * @pixiv/three-vrm-core v2.1.1\n * The implementation of core features of VRM, for @pixiv/three-vrm\n *\n * Copyright (c) 2020-2024 pixiv Inc.\n * @pixiv/three-vrm-core is distributed under MIT License\n * https://github.com/pixiv/three-vrm/blob/release/LICENSE\n */\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\n/* eslint-disable @typescript-eslint/naming-convention */\nconst VRMExpressionPresetName = {\n Aa: 'aa',\n Ih: 'ih',\n Ou: 'ou',\n Ee: 'ee',\n Oh: 'oh',\n Blink: 'blink',\n Happy: 'happy',\n Angry: 'angry',\n Sad: 'sad',\n Relaxed: 'relaxed',\n LookUp: 'lookUp',\n Surprised: 'surprised',\n LookDown: 'lookDown',\n LookLeft: 'lookLeft',\n LookRight: 'lookRight',\n BlinkLeft: 'blinkLeft',\n BlinkRight: 'blinkRight',\n Neutral: 'neutral',\n};\n\nnew three__WEBPACK_IMPORTED_MODULE_0__.Color();\n\nnew three__WEBPACK_IMPORTED_MODULE_0__.Vector2();\n\nnew three__WEBPACK_IMPORTED_MODULE_0__.Vector3();\nnew three__WEBPACK_IMPORTED_MODULE_0__.Vector3();\nnew three__WEBPACK_IMPORTED_MODULE_0__.Quaternion();\n\n/* eslint-disable @typescript-eslint/naming-convention */\n/**\n * An object that maps from {@link VRMHumanBoneName} to its parent {@link VRMHumanBoneName}.\n *\n * Ref: https://github.com/vrm-c/vrm-specification/blob/master/specification/VRMC_vrm-1.0/humanoid.md\n */\nconst VRMHumanBoneParentMap = {\n hips: null,\n spine: 'hips',\n chest: 'spine',\n upperChest: 'chest',\n neck: 'upperChest',\n head: 'neck',\n leftEye: 'head',\n rightEye: 'head',\n jaw: 'head',\n leftUpperLeg: 'hips',\n leftLowerLeg: 'leftUpperLeg',\n leftFoot: 'leftLowerLeg',\n leftToes: 'leftFoot',\n rightUpperLeg: 'hips',\n rightLowerLeg: 'rightUpperLeg',\n rightFoot: 'rightLowerLeg',\n rightToes: 'rightFoot',\n leftShoulder: 'upperChest',\n leftUpperArm: 'leftShoulder',\n leftLowerArm: 'leftUpperArm',\n leftHand: 'leftLowerArm',\n rightShoulder: 'upperChest',\n rightUpperArm: 'rightShoulder',\n rightLowerArm: 'rightUpperArm',\n rightHand: 'rightLowerArm',\n leftThumbMetacarpal: 'leftHand',\n leftThumbProximal: 'leftThumbMetacarpal',\n leftThumbDistal: 'leftThumbProximal',\n leftIndexProximal: 'leftHand',\n leftIndexIntermediate: 'leftIndexProximal',\n leftIndexDistal: 'leftIndexIntermediate',\n leftMiddleProximal: 'leftHand',\n leftMiddleIntermediate: 'leftMiddleProximal',\n leftMiddleDistal: 'leftMiddleIntermediate',\n leftRingProximal: 'leftHand',\n leftRingIntermediate: 'leftRingProximal',\n leftRingDistal: 'leftRingIntermediate',\n leftLittleProximal: 'left
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/@pixiv/three-vrm/lib/three-vrm.module.js":
|
||
|
/*!***************************************************************!*\
|
||
|
!*** ./node_modules/@pixiv/three-vrm/lib/three-vrm.module.js ***!
|
||
|
\***************************************************************/
|
||
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
|
||
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MToonMaterial: () => (/* binding */ MToonMaterial),\n/* harmony export */ MToonMaterialDebugMode: () => (/* binding */ MToonMaterialDebugMode),\n/* harmony export */ MToonMaterialLoaderPlugin: () => (/* binding */ MToonMaterialLoaderPlugin),\n/* harmony export */ MToonMaterialOutlineWidthMode: () => (/* binding */ MToonMaterialOutlineWidthMode),\n/* harmony export */ VRM: () => (/* binding */ VRM),\n/* harmony export */ VRMAimConstraint: () => (/* binding */ VRMAimConstraint),\n/* harmony export */ VRMCore: () => (/* binding */ VRMCore),\n/* harmony export */ VRMCoreLoaderPlugin: () => (/* binding */ VRMCoreLoaderPlugin),\n/* harmony export */ VRMExpression: () => (/* binding */ VRMExpression),\n/* harmony export */ VRMExpressionLoaderPlugin: () => (/* binding */ VRMExpressionLoaderPlugin),\n/* harmony export */ VRMExpressionManager: () => (/* binding */ VRMExpressionManager),\n/* harmony export */ VRMExpressionMaterialColorBind: () => (/* binding */ VRMExpressionMaterialColorBind),\n/* harmony export */ VRMExpressionMaterialColorType: () => (/* binding */ VRMExpressionMaterialColorType),\n/* harmony export */ VRMExpressionMorphTargetBind: () => (/* binding */ VRMExpressionMorphTargetBind),\n/* harmony export */ VRMExpressionOverrideType: () => (/* binding */ VRMExpressionOverrideType),\n/* harmony export */ VRMExpressionPresetName: () => (/* binding */ VRMExpressionPresetName),\n/* harmony export */ VRMExpressionTextureTransformBind: () => (/* binding */ VRMExpressionTextureTransformBind),\n/* harmony export */ VRMFirstPerson: () => (/* binding */ VRMFirstPerson),\n/* harmony export */ VRMFirstPersonLoaderPlugin: () => (/* binding */ VRMFirstPersonLoaderPlugin),\n/* harmony export */ VRMFirstPersonMeshAnnotationType: () => (/* binding */ VRMFirstPersonMeshAnnotationType),\n/* harmony export */ VRMHumanBoneList: () => (/* binding */ VRMHumanBoneList),\n/* harmony export */ VRMHumanBoneName: () => (/* binding */ VRMHumanBoneName),\n/* harmony export */ VRMHumanBoneParentMap: () => (/* binding */ VRMHumanBoneParentMap),\n/* harmony export */ VRMHumanoid: () => (/* binding */ VRMHumanoid),\n/* harmony export */ VRMHumanoidHelper: () => (/* binding */ VRMHumanoidHelper),\n/* harmony export */ VRMHumanoidLoaderPlugin: () => (/* binding */ VRMHumanoidLoaderPlugin),\n/* harmony export */ VRMLoaderPlugin: () => (/* binding */ VRMLoaderPlugin),\n/* harmony export */ VRMLookAt: () => (/* binding */ VRMLookAt),\n/* harmony export */ VRMLookAtBoneApplier: () => (/* binding */ VRMLookAtBoneApplier),\n/* harmony export */ VRMLookAtExpressionApplier: () => (/* binding */ VRMLookAtExpressionApplier),\n/* harmony export */ VRMLookAtHelper: () => (/* binding */ VRMLookAtHelper),\n/* harmony export */ VRMLookAtLoaderPlugin: () => (/* binding */ VRMLookAtLoaderPlugin),\n/* harmony export */ VRMLookAtRangeMap: () => (/* binding */ VRMLookAtRangeMap),\n/* harmony export */ VRMLookAtTypeName: () => (/* binding */ VRMLookAtTypeName),\n/* harmony export */ VRMMetaLoaderPlugin: () => (/* binding */ VRMMetaLoaderPlugin),\n/* harmony export */ VRMNodeConstraint: () => (/* binding */ VRMNodeConstraint),\n/* harmony export */ VRMNodeConstraintHelper: () => (/* binding */ VRMNodeConstraintHelper),\n/* harmony export */ VRMNodeConstraintLoaderPlugin: () => (/* binding */ VRMNodeConstraintLoaderPlugin),\n/* harmony export */ VRMNodeConstraintManager: () => (/* binding */ VRMNodeConstraintManager),\n/* harmony export */ VRMRequiredHumanBoneName: () => (/* binding */ VRMRequiredHumanBoneName),\n/* harmony export */ VRMRollConstraint: () => (/* binding */ VRMRollConstraint),\n/* harmony export */ VRMRotationConstraint: () => (/* binding */ VRMRotationConstraint),\n/* harmony export */ VRMSpringBoneCollider: () => (/* binding */ VRMSpringBoneCollider),\n/* harmony export */ VRMSpringBoneColliderHelper: () => (/* binding */ VRMSpringB
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./src/index.ts":
|
||
|
/*!**********************!*\
|
||
|
!*** ./src/index.ts ***!
|
||
|
\**********************/
|
||
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
|
||
|
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst THREE = __webpack_require__(/*! three */ \"./node_modules/three/build/three.cjs\");\nconst GLTFLoader_1 = __webpack_require__(/*! three/examples/jsm/loaders/GLTFLoader */ \"./node_modules/three/examples/jsm/loaders/GLTFLoader.js\");\nconst OrbitControls_1 = __webpack_require__(/*! three/examples/jsm/controls/OrbitControls */ \"./node_modules/three/examples/jsm/controls/OrbitControls.js\");\nconst three_vrm_1 = __webpack_require__(/*! @pixiv/three-vrm */ \"./node_modules/@pixiv/three-vrm/lib/three-vrm.module.js\");\nconst three_vrm_animation_1 = __webpack_require__(/*! @pixiv/three-vrm-animation */ \"./node_modules/@pixiv/three-vrm-animation/lib/three-vrm-animation.module.js\");\nconst three_1 = __webpack_require__(/*! three */ \"./node_modules/three/build/three.cjs\");\nconst three_2 = __webpack_require__(/*! three */ \"./node_modules/three/build/three.cjs\");\nwindow.addEventListener(\"DOMContentLoaded\", () => {\n const canvas = document.getElementById(\"canvas\");\n if (canvas == null)\n return;\n const scene = new THREE.Scene();\n const camera = new THREE.PerspectiveCamera(30, canvas.clientWidth / canvas.clientHeight, 0.1, 20);\n camera.position.set(0.0, 0.9, -4.0);\n camera.rotation.set(0.0, Math.PI, 0.0);\n camera.lookAt(new THREE.Vector3(0, 0, 0));\n // https://threejs.org/docs/#api/en/constants/Renderer\n const renderer = new THREE.WebGLRenderer({ antialias: true, alpha: true });\n renderer.setPixelRatio(window.devicePixelRatio);\n renderer.setSize(canvas.clientWidth, canvas.clientHeight);\n renderer.setClearColor(0x7fbfff, 1.0);\n renderer.shadowMap.enabled = true;\n renderer.outputColorSpace = THREE.SRGBColorSpace;\n renderer.toneMapping = THREE.ReinhardToneMapping;\n renderer.toneMapping = THREE.NeutralToneMapping;\n canvas.appendChild(renderer.domElement);\n renderer.toneMappingExposure = 1.5;\n //renderer.toneMapping = THREE.ACESFilmicToneMapping;\n const light = new THREE.DirectionalLight(0xffffff, Math.PI);\n light.position.set(1.0, 1.0, 1.0);\n scene.add(light);\n let currentVrm = undefined;\n let currentVrmAnimation = undefined;\n let currentMixer = undefined;\n function load(url) {\n loader.load(url, (gltf) => {\n tryInitVRM(gltf);\n tryInitVRMA(gltf);\n }, (progress) => console.log(\"Loading model...\", 100.0 * (progress.loaded / progress.total), \"%\"), (error) => console.error(error));\n }\n function tryInitVRM(gltf) {\n const vrm = gltf.userData.vrm;\n if (vrm == null) {\n return;\n }\n currentVrm = vrm;\n scene.add(vrm.scene);\n initAnimationClip();\n }\n function tryInitVRMA(gltf) {\n var _a;\n const vrmAnimations = gltf.userData.vrmAnimations;\n if (vrmAnimations == null) {\n return;\n }\n currentVrmAnimation = (_a = vrmAnimations[0]) !== null && _a !== void 0 ? _a : null;\n initAnimationClip();\n }\n function initAnimationClip() {\n if (currentVrm && currentVrmAnimation) {\n currentMixer = new THREE.AnimationMixer(currentVrm.scene);\n const clip = (0, three_vrm_animation_1.createVRMAnimationClip)(currentVrmAnimation, currentVrm);\n currentMixer.clipAction(clip).play();\n }\n }\n const loader = new GLTFLoader_1.GLTFLoader();\n loader.register((parser) => {\n return new three_vrm_1.VRMLoaderPlugin(parser);\n });\n loader.register((parser) => {\n return new three_vrm_animation_1.VRMAnimationLoaderPlugin(parser);\n });\n load(\"/vrma/ai.vrm\");\n load(\"/vrma/fly_c.vrma\");\n const clock = new THREE.Clock();\n clock.start();\n scene.background = new THREE.Color(0xffffff);\n const directionalLight = new THREE.DirectionalLight(0xffffff);\n directionalLight.position.set(1, 1, 1);\n scene.add(directionalLight);\n const ambientLight = new THREE.AmbientLight(0x333333);\n scene
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/three/build/three.cjs":
|
||
|
/*!********************************************!*\
|
||
|
!*** ./node_modules/three/build/three.cjs ***!
|
||
|
\********************************************/
|
||
|
/***/ ((__unused_webpack_module, exports) => {
|
||
|
|
||
|
eval("/**\n * @license\n * Copyright 2010-2023 Three.js Authors\n * SPDX-License-Identifier: MIT\n */\n\n\nconst REVISION = '162';\n\nconst MOUSE = { LEFT: 0, MIDDLE: 1, RIGHT: 2, ROTATE: 0, DOLLY: 1, PAN: 2 };\nconst TOUCH = { ROTATE: 0, PAN: 1, DOLLY_PAN: 2, DOLLY_ROTATE: 3 };\nconst CullFaceNone = 0;\nconst CullFaceBack = 1;\nconst CullFaceFront = 2;\nconst CullFaceFrontBack = 3;\nconst BasicShadowMap = 0;\nconst PCFShadowMap = 1;\nconst PCFSoftShadowMap = 2;\nconst VSMShadowMap = 3;\nconst FrontSide = 0;\nconst BackSide = 1;\nconst DoubleSide = 2;\nconst NoBlending = 0;\nconst NormalBlending = 1;\nconst AdditiveBlending = 2;\nconst SubtractiveBlending = 3;\nconst MultiplyBlending = 4;\nconst CustomBlending = 5;\nconst AddEquation = 100;\nconst SubtractEquation = 101;\nconst ReverseSubtractEquation = 102;\nconst MinEquation = 103;\nconst MaxEquation = 104;\nconst ZeroFactor = 200;\nconst OneFactor = 201;\nconst SrcColorFactor = 202;\nconst OneMinusSrcColorFactor = 203;\nconst SrcAlphaFactor = 204;\nconst OneMinusSrcAlphaFactor = 205;\nconst DstAlphaFactor = 206;\nconst OneMinusDstAlphaFactor = 207;\nconst DstColorFactor = 208;\nconst OneMinusDstColorFactor = 209;\nconst SrcAlphaSaturateFactor = 210;\nconst ConstantColorFactor = 211;\nconst OneMinusConstantColorFactor = 212;\nconst ConstantAlphaFactor = 213;\nconst OneMinusConstantAlphaFactor = 214;\nconst NeverDepth = 0;\nconst AlwaysDepth = 1;\nconst LessDepth = 2;\nconst LessEqualDepth = 3;\nconst EqualDepth = 4;\nconst GreaterEqualDepth = 5;\nconst GreaterDepth = 6;\nconst NotEqualDepth = 7;\nconst MultiplyOperation = 0;\nconst MixOperation = 1;\nconst AddOperation = 2;\nconst NoToneMapping = 0;\nconst LinearToneMapping = 1;\nconst ReinhardToneMapping = 2;\nconst CineonToneMapping = 3;\nconst ACESFilmicToneMapping = 4;\nconst CustomToneMapping = 5;\nconst AgXToneMapping = 6;\nconst NeutralToneMapping = 7;\nconst AttachedBindMode = 'attached';\nconst DetachedBindMode = 'detached';\n\nconst UVMapping = 300;\nconst CubeReflectionMapping = 301;\nconst CubeRefractionMapping = 302;\nconst EquirectangularReflectionMapping = 303;\nconst EquirectangularRefractionMapping = 304;\nconst CubeUVReflectionMapping = 306;\nconst RepeatWrapping = 1000;\nconst ClampToEdgeWrapping = 1001;\nconst MirroredRepeatWrapping = 1002;\nconst NearestFilter = 1003;\nconst NearestMipmapNearestFilter = 1004;\nconst NearestMipMapNearestFilter = 1004;\nconst NearestMipmapLinearFilter = 1005;\nconst NearestMipMapLinearFilter = 1005;\nconst LinearFilter = 1006;\nconst LinearMipmapNearestFilter = 1007;\nconst LinearMipMapNearestFilter = 1007;\nconst LinearMipmapLinearFilter = 1008;\nconst LinearMipMapLinearFilter = 1008;\nconst UnsignedByteType = 1009;\nconst ByteType = 1010;\nconst ShortType = 1011;\nconst UnsignedShortType = 1012;\nconst IntType = 1013;\nconst UnsignedIntType = 1014;\nconst FloatType = 1015;\nconst HalfFloatType = 1016;\nconst UnsignedShort4444Type = 1017;\nconst UnsignedShort5551Type = 1018;\nconst UnsignedInt248Type = 1020;\nconst AlphaFormat = 1021;\nconst RGBAFormat = 1023;\nconst LuminanceFormat = 1024;\nconst LuminanceAlphaFormat = 1025;\nconst DepthFormat = 1026;\nconst DepthStencilFormat = 1027;\nconst RedFormat = 1028;\nconst RedIntegerFormat = 1029;\nconst RGFormat = 1030;\nconst RGIntegerFormat = 1031;\nconst RGBAIntegerFormat = 1033;\n\nconst RGB_S3TC_DXT1_Format = 33776;\nconst RGBA_S3TC_DXT1_Format = 33777;\nconst RGBA_S3TC_DXT3_Format = 33778;\nconst RGBA_S3TC_DXT5_Format = 33779;\nconst RGB_PVRTC_4BPPV1_Format = 35840;\nconst RGB_PVRTC_2BPPV1_Format = 35841;\nconst RGBA_PVRTC_4BPPV1_Format = 35842;\nconst RGBA_PVRTC_2BPPV1_Format = 35843;\nconst RGB_ETC1_Format = 36196;\nconst RGB_ETC2_Format = 37492;\nconst RGBA_ETC2_EAC_Format = 37496;\nconst RGBA_ASTC_4x4_Format = 37808;\nconst RGBA_ASTC_5x4_Format = 37809;\nconst RGBA_ASTC_5x5_Format = 37810;\nconst RGBA_ASTC_6x5_Format = 37811;\nconst RGBA_ASTC_6x6_Format = 37812;\nconst RGBA_ASTC_8x5_Format = 37813;\nconst RGBA_ASTC_8x6_Format = 37814;\nconst RGBA_ASTC_8x8_Format = 37815;\nconst RGBA_ASTC_10x5_Format = 37816;\n
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/three/build/three.module.js":
|
||
|
/*!**************************************************!*\
|
||
|
!*** ./node_modules/three/build/three.module.js ***!
|
||
|
\**************************************************/
|
||
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
||
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ACESFilmicToneMapping: () => (/* binding */ ACESFilmicToneMapping),\n/* harmony export */ AddEquation: () => (/* binding */ AddEquation),\n/* harmony export */ AddOperation: () => (/* binding */ AddOperation),\n/* harmony export */ AdditiveAnimationBlendMode: () => (/* binding */ AdditiveAnimationBlendMode),\n/* harmony export */ AdditiveBlending: () => (/* binding */ AdditiveBlending),\n/* harmony export */ AgXToneMapping: () => (/* binding */ AgXToneMapping),\n/* harmony export */ AlphaFormat: () => (/* binding */ AlphaFormat),\n/* harmony export */ AlwaysCompare: () => (/* binding */ AlwaysCompare),\n/* harmony export */ AlwaysDepth: () => (/* binding */ AlwaysDepth),\n/* harmony export */ AlwaysStencilFunc: () => (/* binding */ AlwaysStencilFunc),\n/* harmony export */ AmbientLight: () => (/* binding */ AmbientLight),\n/* harmony export */ AnimationAction: () => (/* binding */ AnimationAction),\n/* harmony export */ AnimationClip: () => (/* binding */ AnimationClip),\n/* harmony export */ AnimationLoader: () => (/* binding */ AnimationLoader),\n/* harmony export */ AnimationMixer: () => (/* binding */ AnimationMixer),\n/* harmony export */ AnimationObjectGroup: () => (/* binding */ AnimationObjectGroup),\n/* harmony export */ AnimationUtils: () => (/* binding */ AnimationUtils),\n/* harmony export */ ArcCurve: () => (/* binding */ ArcCurve),\n/* harmony export */ ArrayCamera: () => (/* binding */ ArrayCamera),\n/* harmony export */ ArrowHelper: () => (/* binding */ ArrowHelper),\n/* harmony export */ AttachedBindMode: () => (/* binding */ AttachedBindMode),\n/* harmony export */ Audio: () => (/* binding */ Audio),\n/* harmony export */ AudioAnalyser: () => (/* binding */ AudioAnalyser),\n/* harmony export */ AudioContext: () => (/* binding */ AudioContext),\n/* harmony export */ AudioListener: () => (/* binding */ AudioListener),\n/* harmony export */ AudioLoader: () => (/* binding */ AudioLoader),\n/* harmony export */ AxesHelper: () => (/* binding */ AxesHelper),\n/* harmony export */ BackSide: () => (/* binding */ BackSide),\n/* harmony export */ BasicDepthPacking: () => (/* binding */ BasicDepthPacking),\n/* harmony export */ BasicShadowMap: () => (/* binding */ BasicShadowMap),\n/* harmony export */ BatchedMesh: () => (/* binding */ BatchedMesh),\n/* harmony export */ Bone: () => (/* binding */ Bone),\n/* harmony export */ BooleanKeyframeTrack: () => (/* binding */ BooleanKeyframeTrack),\n/* harmony export */ Box2: () => (/* binding */ Box2),\n/* harmony export */ Box3: () => (/* binding */ Box3),\n/* harmony export */ Box3Helper: () => (/* binding */ Box3Helper),\n/* harmony export */ BoxGeometry: () => (/* binding */ BoxGeometry),\n/* harmony export */ BoxHelper: () => (/* binding */ BoxHelper),\n/* harmony export */ BufferAttribute: () => (/* binding */ BufferAttribute),\n/* harmony export */ BufferGeometry: () => (/* binding */ BufferGeometry),\n/* harmony export */ BufferGeometryLoader: () => (/* binding */ BufferGeometryLoader),\n/* harmony export */ ByteType: () => (/* binding */ ByteType),\n/* harmony export */ Cache: () => (/* binding */ Cache),\n/* harmony export */ Camera: () => (/* binding */ Camera),\n/* harmony export */ CameraHelper: () => (/* binding */ CameraHelper),\n/* harmony export */ CanvasTexture: () => (/* binding */ CanvasTexture),\n/* harmony export */ CapsuleGeometry: () => (/* binding */ CapsuleGeometry),\n/* harmony export */ CatmullRomCurve3: () => (/* binding */ CatmullRomCurve3),\n/* harmony export */ CineonToneMapping: () => (/* binding */ CineonToneMapping),\n/* harmony export */ CircleGeometry: () => (/* binding */ CircleGeometry),\n/* harmony export */ ClampToEdgeWrapping: () => (/* binding */ ClampToEdgeWrapping),\n/* harmony export */ Clock: () => (/* binding */ Clock),\n/* harmony export */ Color: () => (/* binding */ Color),\n/* ha
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/three/examples/jsm/controls/OrbitControls.js":
|
||
|
/*!*******************************************************************!*\
|
||
|
!*** ./node_modules/three/examples/jsm/controls/OrbitControls.js ***!
|
||
|
\*******************************************************************/
|
||
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
||
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OrbitControls: () => (/* binding */ OrbitControls)\n/* harmony export */ });\n/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ \"./node_modules/three/build/three.module.js\");\n\n\n// OrbitControls performs orbiting, dollying (zooming), and panning.\n// Unlike TrackballControls, it maintains the \"up\" direction object.up (+Y by default).\n//\n// Orbit - left mouse / touch: one-finger move\n// Zoom - middle mouse, or mousewheel / touch: two-finger spread or squish\n// Pan - right mouse, or left mouse + ctrl/meta/shiftKey, or arrow keys / touch: two-finger move\n\nconst _changeEvent = { type: 'change' };\nconst _startEvent = { type: 'start' };\nconst _endEvent = { type: 'end' };\nconst _ray = new three__WEBPACK_IMPORTED_MODULE_0__.Ray();\nconst _plane = new three__WEBPACK_IMPORTED_MODULE_0__.Plane();\nconst TILT_LIMIT = Math.cos( 70 * three__WEBPACK_IMPORTED_MODULE_0__.MathUtils.DEG2RAD );\n\nclass OrbitControls extends three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher {\n\n\tconstructor( object, domElement ) {\n\n\t\tsuper();\n\n\t\tthis.object = object;\n\t\tthis.domElement = domElement;\n\t\tthis.domElement.style.touchAction = 'none'; // disable touch scroll\n\n\t\t// Set to false to disable this control\n\t\tthis.enabled = true;\n\n\t\t// \"target\" sets the location of focus, where the object orbits around\n\t\tthis.target = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3();\n\n\t\t// Sets the 3D cursor (similar to Blender), from which the maxTargetRadius takes effect\n\t\tthis.cursor = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3();\n\n\t\t// How far you can dolly in and out ( PerspectiveCamera only )\n\t\tthis.minDistance = 0;\n\t\tthis.maxDistance = Infinity;\n\n\t\t// How far you can zoom in and out ( OrthographicCamera only )\n\t\tthis.minZoom = 0;\n\t\tthis.maxZoom = Infinity;\n\n\t\t// Limit camera target within a spherical area around the cursor\n\t\tthis.minTargetRadius = 0;\n\t\tthis.maxTargetRadius = Infinity;\n\n\t\t// How far you can orbit vertically, upper and lower limits.\n\t\t// Range is 0 to Math.PI radians.\n\t\tthis.minPolarAngle = 0; // radians\n\t\tthis.maxPolarAngle = Math.PI; // radians\n\n\t\t// How far you can orbit horizontally, upper and lower limits.\n\t\t// If set, the interval [ min, max ] must be a sub-interval of [ - 2 PI, 2 PI ], with ( max - min < 2 PI )\n\t\tthis.minAzimuthAngle = - Infinity; // radians\n\t\tthis.maxAzimuthAngle = Infinity; // radians\n\n\t\t// Set to true to enable damping (inertia)\n\t\t// If damping is enabled, you must call controls.update() in your animation loop\n\t\tthis.enableDamping = false;\n\t\tthis.dampingFactor = 0.05;\n\n\t\t// This option actually enables dollying in and out; left as \"zoom\" for backwards compatibility.\n\t\t// Set to false to disable zooming\n\t\tthis.enableZoom = true;\n\t\tthis.zoomSpeed = 1.0;\n\n\t\t// Set to false to disable rotating\n\t\tthis.enableRotate = true;\n\t\tthis.rotateSpeed = 1.0;\n\n\t\t// Set to false to disable panning\n\t\tthis.enablePan = true;\n\t\tthis.panSpeed = 1.0;\n\t\tthis.screenSpacePanning = true; // if false, pan orthogonal to world-space direction camera.up\n\t\tthis.keyPanSpeed = 7.0;\t// pixels moved per arrow key push\n\t\tthis.zoomToCursor = false;\n\n\t\t// Set to true to automatically rotate around the target\n\t\t// If auto-rotate is enabled, you must call controls.update() in your animation loop\n\t\tthis.autoRotate = false;\n\t\tthis.autoRotateSpeed = 2.0; // 30 seconds per orbit when fps is 60\n\n\t\t// The four arrow keys\n\t\tthis.keys = { LEFT: 'ArrowLeft', UP: 'ArrowUp', RIGHT: 'ArrowRight', BOTTOM: 'ArrowDown' };\n\n\t\t// Mouse buttons\n\t\tthis.mouseButtons = { LEFT: three__WEBPACK_IMPORTED_MODULE_0__.MOUSE.ROTATE, MIDDLE: three__WEBPACK_IMPORTED_MODULE_0__.MOUSE.DOLLY, RIGHT: three__WEBPACK_IMPORTED_MODULE_0__.MOUSE.PAN };\n\n\t\t// Touch fingers\n\t\tthis.touches = { ONE: three__WEBPAC
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/three/examples/jsm/loaders/GLTFLoader.js":
|
||
|
/*!***************************************************************!*\
|
||
|
!*** ./node_modules/three/examples/jsm/loaders/GLTFLoader.js ***!
|
||
|
\***************************************************************/
|
||
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
||
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GLTFLoader: () => (/* binding */ GLTFLoader)\n/* harmony export */ });\n/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ \"./node_modules/three/build/three.module.js\");\n/* harmony import */ var _utils_BufferGeometryUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/BufferGeometryUtils.js */ \"./node_modules/three/examples/jsm/utils/BufferGeometryUtils.js\");\n\n\n\nclass GLTFLoader extends three__WEBPACK_IMPORTED_MODULE_0__.Loader {\n\n\tconstructor( manager ) {\n\n\t\tsuper( manager );\n\n\t\tthis.dracoLoader = null;\n\t\tthis.ktx2Loader = null;\n\t\tthis.meshoptDecoder = null;\n\n\t\tthis.pluginCallbacks = [];\n\n\t\tthis.register( function ( parser ) {\n\n\t\t\treturn new GLTFMaterialsClearcoatExtension( parser );\n\n\t\t} );\n\n\t\tthis.register( function ( parser ) {\n\n\t\t\treturn new GLTFTextureBasisUExtension( parser );\n\n\t\t} );\n\n\t\tthis.register( function ( parser ) {\n\n\t\t\treturn new GLTFTextureWebPExtension( parser );\n\n\t\t} );\n\n\t\tthis.register( function ( parser ) {\n\n\t\t\treturn new GLTFTextureAVIFExtension( parser );\n\n\t\t} );\n\n\t\tthis.register( function ( parser ) {\n\n\t\t\treturn new GLTFMaterialsSheenExtension( parser );\n\n\t\t} );\n\n\t\tthis.register( function ( parser ) {\n\n\t\t\treturn new GLTFMaterialsTransmissionExtension( parser );\n\n\t\t} );\n\n\t\tthis.register( function ( parser ) {\n\n\t\t\treturn new GLTFMaterialsVolumeExtension( parser );\n\n\t\t} );\n\n\t\tthis.register( function ( parser ) {\n\n\t\t\treturn new GLTFMaterialsIorExtension( parser );\n\n\t\t} );\n\n\t\tthis.register( function ( parser ) {\n\n\t\t\treturn new GLTFMaterialsEmissiveStrengthExtension( parser );\n\n\t\t} );\n\n\t\tthis.register( function ( parser ) {\n\n\t\t\treturn new GLTFMaterialsSpecularExtension( parser );\n\n\t\t} );\n\n\t\tthis.register( function ( parser ) {\n\n\t\t\treturn new GLTFMaterialsIridescenceExtension( parser );\n\n\t\t} );\n\n\t\tthis.register( function ( parser ) {\n\n\t\t\treturn new GLTFMaterialsAnisotropyExtension( parser );\n\n\t\t} );\n\n\t\tthis.register( function ( parser ) {\n\n\t\t\treturn new GLTFMaterialsBumpExtension( parser );\n\n\t\t} );\n\n\t\tthis.register( function ( parser ) {\n\n\t\t\treturn new GLTFLightsExtension( parser );\n\n\t\t} );\n\n\t\tthis.register( function ( parser ) {\n\n\t\t\treturn new GLTFMeshoptCompression( parser );\n\n\t\t} );\n\n\t\tthis.register( function ( parser ) {\n\n\t\t\treturn new GLTFMeshGpuInstancing( parser );\n\n\t\t} );\n\n\t}\n\n\tload( url, onLoad, onProgress, onError ) {\n\n\t\tconst scope = this;\n\n\t\tlet resourcePath;\n\n\t\tif ( this.resourcePath !== '' ) {\n\n\t\t\tresourcePath = this.resourcePath;\n\n\t\t} else if ( this.path !== '' ) {\n\n\t\t\t// If a base path is set, resources will be relative paths from that plus the relative path of the gltf file\n\t\t\t// Example path = 'https://my-cnd-server.com/', url = 'assets/models/model.gltf'\n\t\t\t// resourcePath = 'https://my-cnd-server.com/assets/models/'\n\t\t\t// referenced resource 'model.bin' will be loaded from 'https://my-cnd-server.com/assets/models/model.bin'\n\t\t\t// referenced resource '../textures/texture.png' will be loaded from 'https://my-cnd-server.com/assets/textures/texture.png'\n\t\t\tconst relativeUrl = three__WEBPACK_IMPORTED_MODULE_0__.LoaderUtils.extractUrlBase( url );\n\t\t\tresourcePath = three__WEBPACK_IMPORTED_MODULE_0__.LoaderUtils.resolveURL( relativeUrl, this.path );\n\n\t\t} else {\n\n\t\t\tresourcePath = three__WEBPACK_IMPORTED_MODULE_0__.LoaderUtils.extractUrlBase( url );\n\n\t\t}\n\n\t\t// Tells the LoadingManager to track an extra item, which resolves after\n\t\t// the model is fully loaded. This means the count of items loaded will\n\t\t// be incorrect, but ensures manager.onLoad() does not fire early.\n\t\tthis.manager.itemStart( url );\n\n\t\tconst _onError = function ( e ) {\n\n\t\t\tif ( onError ) {\n\n\t\t\t
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/three/examples/jsm/utils/BufferGeometryUtils.js":
|
||
|
/*!**********************************************************************!*\
|
||
|
!*** ./node_modules/three/examples/jsm/utils/BufferGeometryUtils.js ***!
|
||
|
\**********************************************************************/
|
||
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
||
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ computeMikkTSpaceTangents: () => (/* binding */ computeMikkTSpaceTangents),\n/* harmony export */ computeMorphedAttributes: () => (/* binding */ computeMorphedAttributes),\n/* harmony export */ deepCloneAttribute: () => (/* binding */ deepCloneAttribute),\n/* harmony export */ deinterleaveAttribute: () => (/* binding */ deinterleaveAttribute),\n/* harmony export */ deinterleaveGeometry: () => (/* binding */ deinterleaveGeometry),\n/* harmony export */ estimateBytesUsed: () => (/* binding */ estimateBytesUsed),\n/* harmony export */ interleaveAttributes: () => (/* binding */ interleaveAttributes),\n/* harmony export */ mergeAttributes: () => (/* binding */ mergeAttributes),\n/* harmony export */ mergeGeometries: () => (/* binding */ mergeGeometries),\n/* harmony export */ mergeGroups: () => (/* binding */ mergeGroups),\n/* harmony export */ mergeVertices: () => (/* binding */ mergeVertices),\n/* harmony export */ toCreasedNormals: () => (/* binding */ toCreasedNormals),\n/* harmony export */ toTrianglesDrawMode: () => (/* binding */ toTrianglesDrawMode)\n/* harmony export */ });\n/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ \"./node_modules/three/build/three.module.js\");\n\n\nfunction computeMikkTSpaceTangents( geometry, MikkTSpace, negateSign = true ) {\n\n\tif ( ! MikkTSpace || ! MikkTSpace.isReady ) {\n\n\t\tthrow new Error( 'BufferGeometryUtils: Initialized MikkTSpace library required.' );\n\n\t}\n\n\tif ( ! geometry.hasAttribute( 'position' ) || ! geometry.hasAttribute( 'normal' ) || ! geometry.hasAttribute( 'uv' ) ) {\n\n\t\tthrow new Error( 'BufferGeometryUtils: Tangents require \"position\", \"normal\", and \"uv\" attributes.' );\n\n\t}\n\n\tfunction getAttributeArray( attribute ) {\n\n\t\tif ( attribute.normalized || attribute.isInterleavedBufferAttribute ) {\n\n\t\t\tconst dstArray = new Float32Array( attribute.count * attribute.itemSize );\n\n\t\t\tfor ( let i = 0, j = 0; i < attribute.count; i ++ ) {\n\n\t\t\t\tdstArray[ j ++ ] = attribute.getX( i );\n\t\t\t\tdstArray[ j ++ ] = attribute.getY( i );\n\n\t\t\t\tif ( attribute.itemSize > 2 ) {\n\n\t\t\t\t\tdstArray[ j ++ ] = attribute.getZ( i );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\treturn dstArray;\n\n\t\t}\n\n\t\tif ( attribute.array instanceof Float32Array ) {\n\n\t\t\treturn attribute.array;\n\n\t\t}\n\n\t\treturn new Float32Array( attribute.array );\n\n\t}\n\n\t// MikkTSpace algorithm requires non-indexed input.\n\n\tconst _geometry = geometry.index ? geometry.toNonIndexed() : geometry;\n\n\t// Compute vertex tangents.\n\n\tconst tangents = MikkTSpace.generateTangents(\n\n\t\tgetAttributeArray( _geometry.attributes.position ),\n\t\tgetAttributeArray( _geometry.attributes.normal ),\n\t\tgetAttributeArray( _geometry.attributes.uv )\n\n\t);\n\n\t// Texture coordinate convention of glTF differs from the apparent\n\t// default of the MikkTSpace library; .w component must be flipped.\n\n\tif ( negateSign ) {\n\n\t\tfor ( let i = 3; i < tangents.length; i += 4 ) {\n\n\t\t\ttangents[ i ] *= - 1;\n\n\t\t}\n\n\t}\n\n\t//\n\n\t_geometry.setAttribute( 'tangent', new three__WEBPACK_IMPORTED_MODULE_0__.BufferAttribute( tangents, 4 ) );\n\n\tif ( geometry !== _geometry ) {\n\n\t\tgeometry.copy( _geometry );\n\n\t}\n\n\treturn geometry;\n\n}\n\n/**\n * @param {Array<BufferGeometry>} geometries\n * @param {Boolean} useGroups\n * @return {BufferGeometry}\n */\nfunction mergeGeometries( geometries, useGroups = false ) {\n\n\tconst isIndexed = geometries[ 0 ].index !== null;\n\n\tconst attributesUsed = new Set( Object.keys( geometries[ 0 ].attributes ) );\n\tconst morphAttributesUsed = new Set( Object.keys( geometries[ 0 ].morphAttributes ) );\n\n\tconst attributes = {};\n\tconst morphAttributes = {};\n\n\tconst morphTargetsRelative = geometries[ 0 ].morphTargetsRelative;\n\n\tconst mergedGeometry = new three__WEBPACK_IMPORTED_MODULE_0__.BufferGeometry();\n\n\tlet off
|
||
|
|
||
|
/***/ })
|
||
|
|
||
|
/******/ });
|
||
|
/************************************************************************/
|
||
|
/******/ // The module cache
|
||
|
/******/ var __webpack_module_cache__ = {};
|
||
|
/******/
|
||
|
/******/ // The require function
|
||
|
/******/ function __webpack_require__(moduleId) {
|
||
|
/******/ // Check if module is in cache
|
||
|
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
||
|
/******/ if (cachedModule !== undefined) {
|
||
|
/******/ return cachedModule.exports;
|
||
|
/******/ }
|
||
|
/******/ // Create a new module (and put it into the cache)
|
||
|
/******/ var module = __webpack_module_cache__[moduleId] = {
|
||
|
/******/ // no module.id needed
|
||
|
/******/ // no module.loaded needed
|
||
|
/******/ exports: {}
|
||
|
/******/ };
|
||
|
/******/
|
||
|
/******/ // Execute the module function
|
||
|
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
||
|
/******/
|
||
|
/******/ // Return the exports of the module
|
||
|
/******/ return module.exports;
|
||
|
/******/ }
|
||
|
/******/
|
||
|
/************************************************************************/
|
||
|
/******/ /* webpack/runtime/define property getters */
|
||
|
/******/ (() => {
|
||
|
/******/ // define getter functions for harmony exports
|
||
|
/******/ __webpack_require__.d = (exports, definition) => {
|
||
|
/******/ for(var key in definition) {
|
||
|
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
||
|
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
||
|
/******/ }
|
||
|
/******/ }
|
||
|
/******/ };
|
||
|
/******/ })();
|
||
|
/******/
|
||
|
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
||
|
/******/ (() => {
|
||
|
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
||
|
/******/ })();
|
||
|
/******/
|
||
|
/******/ /* webpack/runtime/make namespace object */
|
||
|
/******/ (() => {
|
||
|
/******/ // define __esModule on exports
|
||
|
/******/ __webpack_require__.r = (exports) => {
|
||
|
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
||
|
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
||
|
/******/ }
|
||
|
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
||
|
/******/ };
|
||
|
/******/ })();
|
||
|
/******/
|
||
|
/************************************************************************/
|
||
|
/******/
|
||
|
/******/ // startup
|
||
|
/******/ // Load entry module and return exports
|
||
|
/******/ // This entry module can't be inlined because the eval devtool is used.
|
||
|
/******/ var __webpack_exports__ = __webpack_require__("./src/index.ts");
|
||
|
/******/
|
||
|
/******/ })()
|
||
|
;
|