@needle-tools/engine 4.8.9 → 4.9.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/dist/gltf-progressive-DWiyqrwB.umd.cjs +8 -0
- package/dist/gltf-progressive-DhE1A6hX.min.js +8 -0
- package/dist/{gltf-progressive-BcHT3Nyo.js → gltf-progressive-egsMzRdv.js} +384 -369
- package/dist/{needle-engine.bundle-BdgNRB4B.js → needle-engine.bundle-CVeZ2dVS.js} +8003 -7731
- package/dist/{needle-engine.bundle-DGca1cic.umd.cjs → needle-engine.bundle-CokWPL7y.umd.cjs} +138 -138
- package/dist/{needle-engine.bundle-TQyyn3pE.min.js → needle-engine.bundle-DW-9zmeW.min.js} +142 -142
- package/dist/needle-engine.js +305 -301
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/{postprocessing-Ywv5oKkX.min.js → postprocessing-B_FzkwDz.min.js} +1 -1
- package/dist/{postprocessing-ORx-0eCx.js → postprocessing-DP1U_BpT.js} +2 -2
- package/dist/{postprocessing-CVb_x9YY.umd.cjs → postprocessing-DTX5VXrj.umd.cjs} +1 -1
- package/dist/rapier-BJaux8TQ.js +5217 -0
- package/dist/rapier-Bd0qRV1r.umd.cjs +1 -0
- package/dist/rapier-CnHGx3sO.min.js +1 -0
- package/dist/{three-Dceyffus.umd.cjs → three-BK56xWDs.umd.cjs} +24 -24
- package/dist/{three-BRSLmpyi.js → three-CsHK73Zc.js} +1 -0
- package/dist/{three-CsmWHVn7.min.js → three-TNFQHSFa.min.js} +25 -25
- package/dist/{three-examples-BX_Sktc9.min.js → three-examples-Bph291U2.min.js} +1 -1
- package/dist/{three-examples-CNexix3E.js → three-examples-BvMpKSun.js} +1 -1
- package/dist/{three-examples-DWxXVnws.umd.cjs → three-examples-C9WfZu-X.umd.cjs} +1 -1
- package/dist/{three-mesh-ui-gqAXlGNB.js → three-mesh-ui-CN6aRT7i.js} +1 -1
- package/dist/{three-mesh-ui-Cdh2iW8b.umd.cjs → three-mesh-ui-DnxkZWNA.umd.cjs} +1 -1
- package/dist/{three-mesh-ui-Bwy12Qvg.min.js → three-mesh-ui-n_qS2BM-.min.js} +1 -1
- package/dist/{vendor-xfQ8tKF3.umd.cjs → vendor-8le8g4MS.umd.cjs} +1 -1
- package/dist/{vendor-Z4SPrTcP.js → vendor-Msb9AgYE.js} +1 -1
- package/dist/{vendor-C43vobGc.min.js → vendor-yDFiCnCw.min.js} +1 -1
- package/lib/engine/codegen/register_types.js +4 -0
- package/lib/engine/codegen/register_types.js.map +1 -1
- package/lib/engine/engine_addressables.d.ts +5 -0
- package/lib/engine/engine_addressables.js +19 -8
- package/lib/engine/engine_addressables.js.map +1 -1
- package/lib/engine/engine_assetdatabase.js +10 -8
- package/lib/engine/engine_assetdatabase.js.map +1 -1
- package/lib/engine/engine_physics_rapier.js +6 -4
- package/lib/engine/engine_physics_rapier.js.map +1 -1
- package/lib/engine/engine_three_utils.js +4 -2
- package/lib/engine/engine_three_utils.js.map +1 -1
- package/lib/engine/xr/NeedleXRController.js +30 -9
- package/lib/engine/xr/NeedleXRController.js.map +1 -1
- package/lib/engine/xr/NeedleXRSession.js +18 -13
- package/lib/engine/xr/NeedleXRSession.js.map +1 -1
- package/lib/engine-components/RendererLightmap.js +3 -1
- package/lib/engine-components/RendererLightmap.js.map +1 -1
- package/lib/engine-components/api.d.ts +1 -0
- package/lib/engine-components/api.js +1 -0
- package/lib/engine-components/api.js.map +1 -1
- package/lib/engine-components/codegen/components.d.ts +3 -0
- package/lib/engine-components/codegen/components.js +3 -0
- package/lib/engine-components/codegen/components.js.map +1 -1
- package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.d.ts +1 -1
- package/lib/engine-components/splines/Spline.d.ts +58 -0
- package/lib/engine-components/splines/Spline.js +270 -0
- package/lib/engine-components/splines/Spline.js.map +1 -0
- package/lib/engine-components/splines/SplineUtils.d.ts +12 -0
- package/lib/engine-components/splines/SplineUtils.js +33 -0
- package/lib/engine-components/splines/SplineUtils.js.map +1 -0
- package/lib/engine-components/splines/SplineWalker.d.ts +47 -0
- package/lib/engine-components/splines/SplineWalker.js +113 -0
- package/lib/engine-components/splines/SplineWalker.js.map +1 -0
- package/lib/engine-components/splines/index.d.ts +3 -0
- package/lib/engine-components/splines/index.js +4 -0
- package/lib/engine-components/splines/index.js.map +1 -0
- package/lib/engine-components/webxr/WebXRImageTracking.d.ts +23 -1
- package/lib/engine-components/webxr/WebXRImageTracking.js +57 -3
- package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
- package/lib/engine-components/webxr/controllers/XRControllerModel.js +2 -2
- package/lib/engine-components/webxr/controllers/XRControllerModel.js.map +1 -1
- package/lib/engine-components/webxr/controllers/XRControllerMovement.js +4 -0
- package/lib/engine-components/webxr/controllers/XRControllerMovement.js.map +1 -1
- package/package.json +3 -3
- package/plugins/vite/alias.js +3 -2
- package/plugins/vite/peer.js +7 -3
- package/src/engine/codegen/register_types.ts +4 -0
- package/src/engine/engine_addressables.ts +21 -6
- package/src/engine/engine_assetdatabase.ts +9 -7
- package/src/engine/engine_physics_rapier.ts +7 -5
- package/src/engine/engine_three_utils.ts +5 -2
- package/src/engine/xr/NeedleXRController.ts +39 -15
- package/src/engine/xr/NeedleXRSession.ts +18 -13
- package/src/engine-components/RendererLightmap.ts +2 -1
- package/src/engine-components/api.ts +1 -0
- package/src/engine-components/codegen/components.ts +3 -0
- package/src/engine-components/splines/Spline.ts +284 -0
- package/src/engine-components/splines/SplineUtils.ts +32 -0
- package/src/engine-components/splines/SplineWalker.ts +106 -0
- package/src/engine-components/splines/index.ts +3 -0
- package/src/engine-components/webxr/WebXRImageTracking.ts +59 -4
- package/src/engine-components/webxr/controllers/XRControllerModel.ts +3 -2
- package/src/engine-components/webxr/controllers/XRControllerMovement.ts +5 -1
- package/dist/gltf-progressive-CH3Q4H06.umd.cjs +0 -8
- package/dist/gltf-progressive-DR6HqF_h.min.js +0 -8
- package/dist/rapier--oeYP_h7.umd.cjs +0 -1
- package/dist/rapier-B3xpyPtq.js +0 -5142
- package/dist/rapier-CyWhltHY.min.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.js","sourceRoot":"","sources":["../../../src/engine-components/codegen/components.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,eAAe;AACf,MAAM,OAAO,QAAQ;CAAG;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,2DAA2D,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,2DAA2D,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,2DAA2D,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,2DAA2D,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,2DAA2D,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,2DAA2D,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,MAAM,yDAAyD,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,yDAAyD,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,yDAAyD,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yDAAyD,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,yDAAyD,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,yDAAyD,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,0DAA0D,CAAC;AACvG,OAAO,EAAE,6BAA6B,EAAE,MAAM,4DAA4D,CAAC;AAC3G,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"components.js","sourceRoot":"","sources":["../../../src/engine-components/codegen/components.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ export declare class BehaviorExtension implements IUSDExporterExtension {
|
|
|
20
20
|
private audioClipsCopy;
|
|
21
21
|
private targetUuids;
|
|
22
22
|
getAllTargetUuids(): Set<string>;
|
|
23
|
-
onBeforeBuildDocument(context: USDZExporterContext): Promise<
|
|
23
|
+
onBeforeBuildDocument(context: USDZExporterContext): Promise<void> | Promise<any[]>;
|
|
24
24
|
onExportObject(_object: any, model: USDObject, context: any): void;
|
|
25
25
|
onAfterBuildDocument(context: USDZExporterContext): void;
|
|
26
26
|
onAfterHierarchy(context: USDZExporterContext, writer: USDWriter): void;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Curve, Quaternion, Vector3 } from "three";
|
|
2
|
+
import { Behaviour } from "../Component.js";
|
|
3
|
+
export declare class SplineData {
|
|
4
|
+
position: Vector3;
|
|
5
|
+
rotation: Quaternion;
|
|
6
|
+
tangentIn: Vector3;
|
|
7
|
+
tangentOut: Vector3;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Holds spline data and generates a spline curve. Use with SplineWalker to move objects along the spline or call getPointAt to sample points on the spline.
|
|
11
|
+
* The spline is defined by an array of knots (SplineData) which define position, rotation and tangents.
|
|
12
|
+
*
|
|
13
|
+
* You can create a SplineContainer from an array of points using the static method 'createFromPoints'.
|
|
14
|
+
*/
|
|
15
|
+
export declare class SplineContainer extends Behaviour {
|
|
16
|
+
/**
|
|
17
|
+
* Adds a knot to the end of the spline.
|
|
18
|
+
*/
|
|
19
|
+
addKnot(knot: SplineData | {
|
|
20
|
+
position: Vector3;
|
|
21
|
+
}): SplineContainer;
|
|
22
|
+
/**
|
|
23
|
+
* Removes a knot by index or by reference.
|
|
24
|
+
*/
|
|
25
|
+
removeKnot(index: number | SplineData): SplineContainer;
|
|
26
|
+
/**
|
|
27
|
+
* Gets a point on the spline in world space.
|
|
28
|
+
*/
|
|
29
|
+
getPointAt(t: number, target?: Vector3): Vector3;
|
|
30
|
+
/**
|
|
31
|
+
* Marks the spline as dirty, causing it to be rebuilt on the next update.
|
|
32
|
+
*/
|
|
33
|
+
markDirty(): void;
|
|
34
|
+
/**
|
|
35
|
+
* Gets the tangent vector on the spline in world space.
|
|
36
|
+
*/
|
|
37
|
+
getTangentAt(t: number, target?: Vector3): Vector3;
|
|
38
|
+
set closed(value: boolean);
|
|
39
|
+
get closed(): boolean;
|
|
40
|
+
private _closed;
|
|
41
|
+
/** Spline data. Call 'markDirty' if modified */
|
|
42
|
+
spline: SplineData[];
|
|
43
|
+
/** Enable to render the spline curve for debugging */
|
|
44
|
+
set debug(debug: boolean);
|
|
45
|
+
/** Gets the spline curve generated from the 'spline' data */
|
|
46
|
+
get curve(): Curve<Vector3> | null;
|
|
47
|
+
get isDirty(): boolean;
|
|
48
|
+
private _isDirty;
|
|
49
|
+
private _curve;
|
|
50
|
+
private _builtCurve;
|
|
51
|
+
private _debugLine;
|
|
52
|
+
/** @internal */
|
|
53
|
+
awake(): void;
|
|
54
|
+
/** @internal */
|
|
55
|
+
update(): void;
|
|
56
|
+
private buildCurve;
|
|
57
|
+
private buildDebugCurve;
|
|
58
|
+
}
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { BufferGeometry, CatmullRomCurve3, Line, LineBasicMaterial, LineCurve3, Quaternion, Vector3 } from "three";
|
|
8
|
+
import { Mathf } from "../../engine/engine_math.js";
|
|
9
|
+
import { serializeable } from "../../engine/engine_serialization.js";
|
|
10
|
+
import { getParam } from "../../engine/engine_utils.js";
|
|
11
|
+
import { Behaviour } from "../Component.js";
|
|
12
|
+
const debug = getParam("debugsplines");
|
|
13
|
+
export class SplineData {
|
|
14
|
+
position = new Vector3();
|
|
15
|
+
rotation = new Quaternion();
|
|
16
|
+
tangentIn = new Vector3();
|
|
17
|
+
tangentOut = new Vector3();
|
|
18
|
+
}
|
|
19
|
+
__decorate([
|
|
20
|
+
serializeable(Vector3)
|
|
21
|
+
], SplineData.prototype, "position", void 0);
|
|
22
|
+
__decorate([
|
|
23
|
+
serializeable(Quaternion)
|
|
24
|
+
], SplineData.prototype, "rotation", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
serializeable(Vector3)
|
|
27
|
+
], SplineData.prototype, "tangentIn", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
serializeable(Vector3)
|
|
30
|
+
], SplineData.prototype, "tangentOut", void 0);
|
|
31
|
+
// enum SplineTypeEnum {
|
|
32
|
+
// CatmullRom = 0,
|
|
33
|
+
// Bezier = 1,
|
|
34
|
+
// Linear = 2
|
|
35
|
+
// }
|
|
36
|
+
// type SplineType = "CatmullRom" | "Bezier" | "Linear";
|
|
37
|
+
//@dont-generate-component
|
|
38
|
+
/**
|
|
39
|
+
* Holds spline data and generates a spline curve. Use with SplineWalker to move objects along the spline or call getPointAt to sample points on the spline.
|
|
40
|
+
* The spline is defined by an array of knots (SplineData) which define position, rotation and tangents.
|
|
41
|
+
*
|
|
42
|
+
* You can create a SplineContainer from an array of points using the static method 'createFromPoints'.
|
|
43
|
+
*/
|
|
44
|
+
export class SplineContainer extends Behaviour {
|
|
45
|
+
/**
|
|
46
|
+
* Adds a knot to the end of the spline.
|
|
47
|
+
*/
|
|
48
|
+
addKnot(knot) {
|
|
49
|
+
if (knot instanceof SplineData) {
|
|
50
|
+
this.spline.push(knot);
|
|
51
|
+
this._isDirty = true;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
const k = new SplineData();
|
|
55
|
+
k.position.copy(knot.position);
|
|
56
|
+
this.spline.push(k);
|
|
57
|
+
this._isDirty = true;
|
|
58
|
+
}
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Removes a knot by index or by reference.
|
|
63
|
+
*/
|
|
64
|
+
removeKnot(index) {
|
|
65
|
+
if (typeof index === "number") {
|
|
66
|
+
this.spline.splice(index, 1);
|
|
67
|
+
this._isDirty = true;
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
const i = this.spline.indexOf(index);
|
|
71
|
+
if (i !== -1) {
|
|
72
|
+
this.spline.splice(i, 1);
|
|
73
|
+
this._isDirty = true;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return this;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Gets a point on the spline in world space.
|
|
80
|
+
*/
|
|
81
|
+
getPointAt(t, target) {
|
|
82
|
+
if (!this.curve)
|
|
83
|
+
return new Vector3();
|
|
84
|
+
const pos = this.curve.getPointAt(Mathf.clamp01(t), target);
|
|
85
|
+
const worldMatrix = this.gameObject.matrixWorld ?? undefined;
|
|
86
|
+
if (worldMatrix) {
|
|
87
|
+
pos.applyMatrix4(worldMatrix);
|
|
88
|
+
}
|
|
89
|
+
return pos;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Marks the spline as dirty, causing it to be rebuilt on the next update.
|
|
93
|
+
*/
|
|
94
|
+
markDirty() {
|
|
95
|
+
this._isDirty = true;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Gets the tangent vector on the spline in world space.
|
|
99
|
+
*/
|
|
100
|
+
getTangentAt(t, target) {
|
|
101
|
+
if (!this.curve)
|
|
102
|
+
return target ?? new Vector3();
|
|
103
|
+
const wr = this.gameObject.worldQuaternion;
|
|
104
|
+
return this.curve.getTangentAt(Mathf.clamp01(t), target).applyQuaternion(wr);
|
|
105
|
+
}
|
|
106
|
+
set closed(value) {
|
|
107
|
+
this._closed = value;
|
|
108
|
+
this._isDirty = true;
|
|
109
|
+
}
|
|
110
|
+
get closed() { return this._closed; }
|
|
111
|
+
_closed = false;
|
|
112
|
+
/** Spline data. Call 'markDirty' if modified */
|
|
113
|
+
spline = [];
|
|
114
|
+
/** Enable to render the spline curve for debugging */
|
|
115
|
+
set debug(debug) {
|
|
116
|
+
if (debug && !this._builtCurve)
|
|
117
|
+
this.buildCurve();
|
|
118
|
+
if (!this._debugLine)
|
|
119
|
+
return;
|
|
120
|
+
this._debugLine.visible = debug;
|
|
121
|
+
}
|
|
122
|
+
/** Gets the spline curve generated from the 'spline' data */
|
|
123
|
+
get curve() {
|
|
124
|
+
return this._curve;
|
|
125
|
+
}
|
|
126
|
+
get isDirty() { return this._isDirty; }
|
|
127
|
+
_isDirty = false;
|
|
128
|
+
_curve = null;
|
|
129
|
+
_builtCurve = false;
|
|
130
|
+
_debugLine = null;
|
|
131
|
+
/** @internal */
|
|
132
|
+
awake() {
|
|
133
|
+
if (debug) {
|
|
134
|
+
console.log(`[Spline] ${this.name}`, this);
|
|
135
|
+
this.buildCurve();
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
/** @internal */
|
|
139
|
+
update() {
|
|
140
|
+
if (this._isDirty) {
|
|
141
|
+
this.buildCurve(true);
|
|
142
|
+
}
|
|
143
|
+
if (this._debugLine && this._debugLine.parent !== this.gameObject)
|
|
144
|
+
this.gameObject.add(this._debugLine);
|
|
145
|
+
}
|
|
146
|
+
buildCurve(force = false) {
|
|
147
|
+
if (this._builtCurve && !force)
|
|
148
|
+
return;
|
|
149
|
+
this._builtCurve = true;
|
|
150
|
+
if (!this.spline) {
|
|
151
|
+
console.error("[Spline] Can not build curve, no spline data", this.name);
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
this._isDirty = false;
|
|
155
|
+
this._curve = createCatmullRomCurve(this.spline, this.closed);
|
|
156
|
+
this.buildDebugCurve();
|
|
157
|
+
// TODO: Unity supports spline interpolation type per knot which we don't support right now. Additionally EditType is deprecated. For simplicity we're just supporting CatmullRom for now.
|
|
158
|
+
// switch (this.editType) {
|
|
159
|
+
// case SplineType.CatmullRom:
|
|
160
|
+
// this.createCatmullRomCurve();
|
|
161
|
+
// break;
|
|
162
|
+
// case SplineType.Bezier:
|
|
163
|
+
// console.warn("Bezier spline not implemented yet", this.name);
|
|
164
|
+
// this.createCatmullRomCurve();
|
|
165
|
+
// // this.createBezierCurve();
|
|
166
|
+
// break;
|
|
167
|
+
// case SplineType.Linear:
|
|
168
|
+
// this.createLinearCurve();
|
|
169
|
+
// break;
|
|
170
|
+
// }
|
|
171
|
+
}
|
|
172
|
+
buildDebugCurve() {
|
|
173
|
+
if (debug && this.spline && this._curve) {
|
|
174
|
+
this._debugLine?.removeFromParent();
|
|
175
|
+
this._debugLine = null;
|
|
176
|
+
const material = new LineBasicMaterial({
|
|
177
|
+
color: 0x6600ff,
|
|
178
|
+
});
|
|
179
|
+
const res = this.spline.length * 10;
|
|
180
|
+
const splinePoints = this._curve.getPoints(res);
|
|
181
|
+
const geometry = new BufferGeometry().setFromPoints(splinePoints);
|
|
182
|
+
this._debugLine = new Line(geometry, material);
|
|
183
|
+
this.gameObject?.add(this._debugLine);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
__decorate([
|
|
188
|
+
serializeable()
|
|
189
|
+
], SplineContainer.prototype, "closed", null);
|
|
190
|
+
__decorate([
|
|
191
|
+
serializeable(SplineData)
|
|
192
|
+
], SplineContainer.prototype, "spline", void 0);
|
|
193
|
+
function createCatmullRomCurve(data, closed) {
|
|
194
|
+
const points = data.map(knot => new Vector3(-knot.position.x, knot.position.y, knot.position.z));
|
|
195
|
+
if (points.length === 1)
|
|
196
|
+
points.push(points[0]);
|
|
197
|
+
const averageTension = data.reduce((acc, knot) => acc + Math.abs(knot.tangentOut.x) + Math.abs(knot.tangentOut.y) + Math.abs(knot.tangentOut.z), 0) / data.length;
|
|
198
|
+
const tension = Mathf.remap(averageTension, 0, 0.3, 0, .5);
|
|
199
|
+
return new CatmullRomCurve3(points, closed, "catmullrom", tension);
|
|
200
|
+
}
|
|
201
|
+
function createLinearCurve(data, closed) {
|
|
202
|
+
if (!data || data.length < 2)
|
|
203
|
+
return null;
|
|
204
|
+
const points = data.map(knot => new Vector3(-knot.position.x, knot.position.y, knot.position.z));
|
|
205
|
+
if (closed)
|
|
206
|
+
points.push(points[0]);
|
|
207
|
+
return new LineCurve3(points.at(0), points.at(1));
|
|
208
|
+
}
|
|
209
|
+
// function createBezierCurve(data: SplineData[], closed: boolean): CubicBezierCurve3 | null {
|
|
210
|
+
// if (!data || data.length < 2) return null;
|
|
211
|
+
// for (let k = 0; k < data.length; k++) {
|
|
212
|
+
// const k0 = data[k];
|
|
213
|
+
// let nextIndex = k + 1;
|
|
214
|
+
// if (nextIndex >= data.length) {
|
|
215
|
+
// if (!closed) break;
|
|
216
|
+
// nextIndex = 0;
|
|
217
|
+
// }
|
|
218
|
+
// const k1 = data[nextIndex];
|
|
219
|
+
// // points
|
|
220
|
+
// const p0 = new Vector3(-k0.position.x, k0.position.y, k0.position.z);
|
|
221
|
+
// const p1 = new Vector3(-k1.position.x, k1.position.y, k1.position.z);
|
|
222
|
+
// // tangents
|
|
223
|
+
// const t0 = new Vector3(-k0.tangentOut.x, k0.tangentOut.y, k0.tangentOut.z);
|
|
224
|
+
// const t1 = new Vector3(-k1.tangentIn.x, k1.tangentIn.y, k1.tangentIn.z);
|
|
225
|
+
// // rotations
|
|
226
|
+
// // const q0 = k0.rotation;// new Quaternion(k0.rotation.value.x, k0.rotation.value.y, k0.rotation.value.z, k0.rotation.value.w);
|
|
227
|
+
// // const q1 = k1.rotation;// new Quaternion(k1.rotation.value.x, k1.rotation.value.y, k1.rotation.value.z, k1.rotation.value.w);
|
|
228
|
+
// // const a = new Vector3(0,1,0);
|
|
229
|
+
// // const angle = Math.PI*.5;
|
|
230
|
+
// // t0.sub(p0).applyQuaternion(q0).add(p0);
|
|
231
|
+
// // t1.sub(p1).applyQuaternion(q1).add(p1);
|
|
232
|
+
// t0.add(p0);
|
|
233
|
+
// // t0.applyQuaternion(q0);
|
|
234
|
+
// t1.add(p1);
|
|
235
|
+
// const curve = new CubicBezierCurve3(p0, t0, t1, p1);
|
|
236
|
+
// return curve;
|
|
237
|
+
// }
|
|
238
|
+
// return null;
|
|
239
|
+
// }
|
|
240
|
+
// class SplineCurve {
|
|
241
|
+
// private spline: Spline;
|
|
242
|
+
// constructor(spline: Spline) {
|
|
243
|
+
// this.spline = spline;
|
|
244
|
+
// }
|
|
245
|
+
// getPoints(num: number): Vector3[] {
|
|
246
|
+
// const points: Vector3[] = [];
|
|
247
|
+
// const samplePerKnot = num / this.spline.length;
|
|
248
|
+
// for (let k = 1; k < this.spline.length; k++) {
|
|
249
|
+
// const cur = this.spline[k];
|
|
250
|
+
// const prev = this.spline[k - 1];
|
|
251
|
+
// for (let i = 0; i < samplePerKnot; i++) {
|
|
252
|
+
// const t = i / (samplePerKnot - 1);
|
|
253
|
+
// console.log(CurveUtils);
|
|
254
|
+
// const x = this.interpolate(-prev.Position.x, -cur.Position.x, -prev.tangentOut.x, -cur.TangentIn.x, t);
|
|
255
|
+
// const y = this.interpolate(prev.Position.y, cur.Position.y, prev.tangentOut.y, cur.TangentIn.y, t);
|
|
256
|
+
// const z = this.interpolate(prev.Position.z, cur.Position.z, prev.tangentOut.z, cur.TangentIn.z, t);
|
|
257
|
+
// points.push(new Vector3(x, y, z));
|
|
258
|
+
// }
|
|
259
|
+
// }
|
|
260
|
+
// return points;
|
|
261
|
+
// }
|
|
262
|
+
// interpolate(p0, p1, p2, p3, t) {
|
|
263
|
+
// var v0 = (p2 - p0) * 0.5;
|
|
264
|
+
// var v1 = (p3 - p1) * 0.5;
|
|
265
|
+
// var t2 = t * t;
|
|
266
|
+
// var t3 = t * t2;
|
|
267
|
+
// return (2 * p1 - 2 * p2 + v0 + v1) * t3 + (- 3 * p1 + 3 * p2 - 2 * v0 - v1) * t2 + v0 * t + p1;
|
|
268
|
+
// }
|
|
269
|
+
// }
|
|
270
|
+
//# sourceMappingURL=Spline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Spline.js","sourceRoot":"","sources":["../../../src/engine-components/splines/Spline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Vector3 } from "three";
|
|
2
|
+
import { SplineContainer } from "./Spline.js";
|
|
3
|
+
export declare namespace SplineUtils {
|
|
4
|
+
/**
|
|
5
|
+
* Creates a SplineContainer from an array of points.
|
|
6
|
+
* @param positions The positions of the knots.
|
|
7
|
+
* @param closed Whether the spline is closed (the last knot connects to the first).
|
|
8
|
+
* @param tension The tension of the spline. 0 is no tension, 1 is high tension (straight lines between knots). Default is 0.75.
|
|
9
|
+
* @return The created SplineContainer component - add it to an Object3D to use it.
|
|
10
|
+
*/
|
|
11
|
+
function createFromPoints(positions: Vector3[], closed?: boolean, tension?: number): SplineContainer;
|
|
12
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Vector3 } from "three";
|
|
2
|
+
import { Mathf } from "../../engine/engine_math.js";
|
|
3
|
+
import { SplineContainer, SplineData } from "./Spline.js";
|
|
4
|
+
export var SplineUtils;
|
|
5
|
+
(function (SplineUtils) {
|
|
6
|
+
/**
|
|
7
|
+
* Creates a SplineContainer from an array of points.
|
|
8
|
+
* @param positions The positions of the knots.
|
|
9
|
+
* @param closed Whether the spline is closed (the last knot connects to the first).
|
|
10
|
+
* @param tension The tension of the spline. 0 is no tension, 1 is high tension (straight lines between knots). Default is 0.75.
|
|
11
|
+
* @return The created SplineContainer component - add it to an Object3D to use it.
|
|
12
|
+
*/
|
|
13
|
+
function createFromPoints(positions, closed = false, tension = .75) {
|
|
14
|
+
const spline = new SplineContainer();
|
|
15
|
+
const tangentFactor = 1 - Mathf.clamp(tension, 0, 1);
|
|
16
|
+
positions.forEach((pos, index) => {
|
|
17
|
+
const tangent = new Vector3();
|
|
18
|
+
if (index < positions.length - 1)
|
|
19
|
+
tangent.subVectors(positions[index + 1], pos).normalize().multiplyScalar(tangentFactor);
|
|
20
|
+
else if (closed && positions.length > 1)
|
|
21
|
+
tangent.subVectors(positions[0], pos).normalize().multiplyScalar(tangentFactor);
|
|
22
|
+
const knot = new SplineData();
|
|
23
|
+
knot.position.copy(pos);
|
|
24
|
+
knot.tangentIn.copy(tangent);
|
|
25
|
+
knot.tangentOut.copy(tangent);
|
|
26
|
+
spline.addKnot(knot);
|
|
27
|
+
});
|
|
28
|
+
spline.closed = closed;
|
|
29
|
+
return spline;
|
|
30
|
+
}
|
|
31
|
+
SplineUtils.createFromPoints = createFromPoints;
|
|
32
|
+
})(SplineUtils || (SplineUtils = {}));
|
|
33
|
+
//# sourceMappingURL=SplineUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SplineUtils.js","sourceRoot":"","sources":["../../../src/engine-components/splines/SplineUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG1D,MAAM,KAAW,WAAW,CAyB3B;AAzBD,WAAiB,WAAW;IAExB;;;;;;OAMG;IACH,SAAgB,gBAAgB,CAAC,SAAoB,EAAE,SAAkB,KAAK,EAAE,UAAkB,GAAG;QACjG,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACrD,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC7B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;YAC9B,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;iBACrH,IAAI,MAAM,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YACzH,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,OAAO,MAAM,CAAC;IAClB,CAAC;IAfe,4BAAgB,mBAe/B,CAAA;AACL,CAAC,EAzBgB,WAAW,KAAX,WAAW,QAyB3B"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Object3D } from "three";
|
|
2
|
+
import { Behaviour } from "../Component.js";
|
|
3
|
+
import { SplineContainer } from "./Spline.js";
|
|
4
|
+
/**
|
|
5
|
+
* Moves an object along a spline. Use this with a SplineContainer component.
|
|
6
|
+
*/
|
|
7
|
+
export declare class SplineWalker extends Behaviour {
|
|
8
|
+
/**
|
|
9
|
+
* The spline to use/walk along. Add a SplineContainer component to an object and assign it here.
|
|
10
|
+
*/
|
|
11
|
+
spline: SplineContainer | null;
|
|
12
|
+
/** The object to move along the spline. If object is undefined then the spline walker will use the gameObject the component has been added to
|
|
13
|
+
* @default undefined
|
|
14
|
+
*/
|
|
15
|
+
object?: Object3D | null;
|
|
16
|
+
/** The object to look at while moving along the spline
|
|
17
|
+
* @default null
|
|
18
|
+
*/
|
|
19
|
+
lookAt: Object3D | null;
|
|
20
|
+
/**
|
|
21
|
+
* When clamp is set to true, the position01 value will be clamped between 0 and 1 and the object will not loop the spline.
|
|
22
|
+
* @default false
|
|
23
|
+
*/
|
|
24
|
+
clamp: boolean;
|
|
25
|
+
/** The current position on the spline. The value ranges from 0 (start of the spline curve) to 1 (end of the spline curve)
|
|
26
|
+
* @default 0
|
|
27
|
+
*/
|
|
28
|
+
get position01(): number;
|
|
29
|
+
set position01(v: number);
|
|
30
|
+
/** Resets the position to 0 */
|
|
31
|
+
reset(): void;
|
|
32
|
+
/**
|
|
33
|
+
* If true the SplineWalker will automatically move along the spline
|
|
34
|
+
* @default true
|
|
35
|
+
*/
|
|
36
|
+
autoRun: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* The duration in seconds it takes to complete the whole spline when autoWalk is enabled.
|
|
39
|
+
* @default 10
|
|
40
|
+
*/
|
|
41
|
+
duration: number;
|
|
42
|
+
private _position01;
|
|
43
|
+
/** @internal */
|
|
44
|
+
start(): void;
|
|
45
|
+
update(): void;
|
|
46
|
+
private updateFromPosition;
|
|
47
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { Object3D } from "three";
|
|
8
|
+
import { Mathf } from "../../engine/engine_math.js";
|
|
9
|
+
import { serializeable } from "../../engine/engine_serialization_decorator.js";
|
|
10
|
+
import { Behaviour } from "../Component.js";
|
|
11
|
+
import { SplineContainer } from "./Spline.js";
|
|
12
|
+
/**
|
|
13
|
+
* Moves an object along a spline. Use this with a SplineContainer component.
|
|
14
|
+
*/
|
|
15
|
+
export class SplineWalker extends Behaviour {
|
|
16
|
+
/**
|
|
17
|
+
* The spline to use/walk along. Add a SplineContainer component to an object and assign it here.
|
|
18
|
+
*/
|
|
19
|
+
spline = null;
|
|
20
|
+
/** The object to move along the spline. If object is undefined then the spline walker will use the gameObject the component has been added to
|
|
21
|
+
* @default undefined
|
|
22
|
+
*/
|
|
23
|
+
object = undefined;
|
|
24
|
+
/** The object to look at while moving along the spline
|
|
25
|
+
* @default null
|
|
26
|
+
*/
|
|
27
|
+
lookAt = null;
|
|
28
|
+
/**
|
|
29
|
+
* When clamp is set to true, the position01 value will be clamped between 0 and 1 and the object will not loop the spline.
|
|
30
|
+
* @default false
|
|
31
|
+
*/
|
|
32
|
+
clamp = false;
|
|
33
|
+
/** The current position on the spline. The value ranges from 0 (start of the spline curve) to 1 (end of the spline curve)
|
|
34
|
+
* @default 0
|
|
35
|
+
*/
|
|
36
|
+
// @type float
|
|
37
|
+
get position01() {
|
|
38
|
+
return this._position01;
|
|
39
|
+
}
|
|
40
|
+
set position01(v) {
|
|
41
|
+
this._position01 = v;
|
|
42
|
+
this.updateFromPosition();
|
|
43
|
+
}
|
|
44
|
+
/** Resets the position to 0 */
|
|
45
|
+
reset() {
|
|
46
|
+
this._position01 = 0;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* If true the SplineWalker will automatically move along the spline
|
|
50
|
+
* @default true
|
|
51
|
+
*/
|
|
52
|
+
autoRun = true;
|
|
53
|
+
/**
|
|
54
|
+
* The duration in seconds it takes to complete the whole spline when autoWalk is enabled.
|
|
55
|
+
* @default 10
|
|
56
|
+
*/
|
|
57
|
+
duration = 10;
|
|
58
|
+
// #region internal
|
|
59
|
+
_position01 = 0;
|
|
60
|
+
/** @internal */
|
|
61
|
+
start() {
|
|
62
|
+
if (this.object === undefined)
|
|
63
|
+
this.object = this.gameObject;
|
|
64
|
+
this.updateFromPosition();
|
|
65
|
+
}
|
|
66
|
+
update() {
|
|
67
|
+
if (this.autoRun) {
|
|
68
|
+
this._position01 += this.context.time.deltaTime / this.duration;
|
|
69
|
+
this.updateFromPosition();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
updateFromPosition() {
|
|
73
|
+
if (!this.spline || !this.spline.curve)
|
|
74
|
+
return;
|
|
75
|
+
if (!this.object)
|
|
76
|
+
return;
|
|
77
|
+
if (this.clamp)
|
|
78
|
+
this._position01 = Mathf.clamp01(this._position01);
|
|
79
|
+
else
|
|
80
|
+
this._position01 = this._position01 % 1;
|
|
81
|
+
const t = this._position01 >= 1 ? 1 : this._position01 % 1;
|
|
82
|
+
const pt = this.spline.getPointAt(t);
|
|
83
|
+
this.object.worldPosition = pt;
|
|
84
|
+
if (!this.lookAt) {
|
|
85
|
+
const tan = this.spline.getTangentAt(t);
|
|
86
|
+
this.object.lookAt(pt.add(tan));
|
|
87
|
+
}
|
|
88
|
+
else
|
|
89
|
+
this.object.lookAt(this.lookAt.worldPosition);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
__decorate([
|
|
93
|
+
serializeable(SplineContainer)
|
|
94
|
+
], SplineWalker.prototype, "spline", void 0);
|
|
95
|
+
__decorate([
|
|
96
|
+
serializeable(Object3D)
|
|
97
|
+
], SplineWalker.prototype, "object", void 0);
|
|
98
|
+
__decorate([
|
|
99
|
+
serializeable(Object3D)
|
|
100
|
+
], SplineWalker.prototype, "lookAt", void 0);
|
|
101
|
+
__decorate([
|
|
102
|
+
serializeable()
|
|
103
|
+
], SplineWalker.prototype, "clamp", void 0);
|
|
104
|
+
__decorate([
|
|
105
|
+
serializeable()
|
|
106
|
+
], SplineWalker.prototype, "position01", null);
|
|
107
|
+
__decorate([
|
|
108
|
+
serializeable()
|
|
109
|
+
], SplineWalker.prototype, "autoRun", void 0);
|
|
110
|
+
__decorate([
|
|
111
|
+
serializeable()
|
|
112
|
+
], SplineWalker.prototype, "duration", void 0);
|
|
113
|
+
//# sourceMappingURL=SplineWalker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SplineWalker.js","sourceRoot":"","sources":["../../../src/engine-components/splines/SplineWalker.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,SAAS;IAEvC;;OAEG;IAEH,MAAM,GAA2B,IAAI,CAAC;IAEtC;;MAEE;IAEF,MAAM,GAAqB,SAAS,CAAC;IAErC;;MAEE;IAEF,MAAM,GAAoB,IAAI,CAAC;IAE/B;;;OAGG;IAEH,KAAK,GAAY,KAAK,CAAC;IAEvB;;OAEG;IACH,cAAc;IAEd,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IACD,IAAI,UAAU,CAAC,CAAS;QACpB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAED,+BAA+B;IAC/B,KAAK;QACD,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACzB,CAAC;IAED;;;OAGG;IAEH,OAAO,GAAY,IAAI,CAAC;IAExB;;;OAGG;IAEH,QAAQ,GAAW,EAAE,CAAC;IAGtB,mBAAmB;IAEX,WAAW,GAAW,CAAC,CAAC;IAEhC,gBAAgB;IAChB,KAAK;QACD,IAAG,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QAC5D,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM;QACF,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;YAChE,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC7B;IACL,CAAC;IAGO,kBAAkB;QACtB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,OAAO;QAC/C,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QAEzB,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;;YAC9D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QAE7C,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QAC3D,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACd,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SACnC;;YACI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACvD,CAAC;CACJ;AAxFG;IADC,aAAa,CAAC,eAAe,CAAC;4CACO;AAMtC;IADC,aAAa,CAAC,QAAQ,CAAC;4CACa;AAMrC;IADC,aAAa,CAAC,QAAQ,CAAC;4CACO;AAO/B;IADC,aAAa,EAAE;2CACO;AAOvB;IADC,aAAa,EAAE;8CAGf;AAgBD;IADC,aAAa,EAAE;6CACQ;AAOxB;IADC,aAAa,EAAE;8CACM"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engine-components/splines/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
|