|
|
@ -3,6 +3,7 @@ import type { ItemJson } from '@/model/itemTypeDefine/ItemTypeDefine.ts' |
|
|
import { getAllItemTypes, getItemTypeByName } from '@/runtime/DefineItemType.ts' |
|
|
import { getAllItemTypes, getItemTypeByName } from '@/runtime/DefineItemType.ts' |
|
|
|
|
|
|
|
|
export function loadSceneFromJson(scene: THREE.Scene, items: ItemJson[]) { |
|
|
export function loadSceneFromJson(scene: THREE.Scene, items: ItemJson[]) { |
|
|
|
|
|
console.time('loadSceneFromJson') |
|
|
const object3ds = loadObject3DFromJson(items) |
|
|
const object3ds = loadObject3DFromJson(items) |
|
|
|
|
|
|
|
|
// 通知所有加载的对象, 模型加载完成
|
|
|
// 通知所有加载的对象, 模型加载完成
|
|
|
@ -20,6 +21,9 @@ export function loadSceneFromJson(scene: THREE.Scene, items: ItemJson[]) { |
|
|
getAllItemTypes().forEach(itemType => { |
|
|
getAllItemTypes().forEach(itemType => { |
|
|
itemType.clazz.afterAddScene(scene, object3ds) |
|
|
itemType.clazz.afterAddScene(scene, object3ds) |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
console.log('loadSceneFromJson:', items.length, 'items,', object3ds.length, 'objects') |
|
|
|
|
|
console.timeEnd('loadSceneFromJson') |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
function loadObject3DFromJson(items: ItemJson[]): THREE.Object3D[] { |
|
|
function loadObject3DFromJson(items: ItemJson[]): THREE.Object3D[] { |
|
|
|