UNPKG

lingo3d

Version:

Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor

25 lines 1.13 kB
import { FBXLoader } from "./loaders/FBXLoader"; import { forceGet } from "@lincode/utils"; import cloneSkinnedMesh from "../cloneSkinnedMesh"; import { handleProgress } from "./utils/bytesLoaded"; import { decreaseLoadingAssetsCount, increaseLoadingAssetsCount } from "../../../states/useLoadingAssetsCount"; import processChildren from "./utils/processChildren"; import { assetsPathPtr } from "../../../pointers/assetsPathPointers"; const cache = new Map(); const loader = new FBXLoader(); export default async (url, clone) => { const [group, noBone] = await forceGet(cache, url, () => new Promise((resolve, reject) => { const isAssets = url.startsWith(assetsPathPtr[0]); isAssets && increaseLoadingAssetsCount(); loader.load(url, (group) => { const noBonePtr = [true]; processChildren(group, noBonePtr); isAssets && decreaseLoadingAssetsCount(); resolve([group, noBonePtr[0]]); }, handleProgress(url), reject); })); if (clone) return cloneSkinnedMesh(group, noBone); return group; }; //# sourceMappingURL=loadFBX.js.map