diff --git a/package.json b/package.json index cfa3fc1..1cc8be0 100644 --- a/package.json +++ b/package.json @@ -40,6 +40,7 @@ "@babylonjs/core": "^8.9.0", "@babylonjs/inspector": "^8.9.0", "@babylonjs/loaders": "^8.9.0", + "@babylonjs/materials": "^8.9.0", "@element-plus/icons-vue": "^2.3.1", "@rolldown/pluginutils": "1.0.0-beta.8-commit.56abf23", "@tsconfig/node22": "^22.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0faa17e..ab66423 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -87,6 +87,9 @@ importers: '@babylonjs/loaders': specifier: ^8.9.0 version: 8.9.0(@babylonjs/core@8.9.0)(babylonjs-gltf2interface@8.9.0) + '@babylonjs/materials': + specifier: ^8.9.0 + version: 8.9.0(@babylonjs/core@8.9.0) '@element-plus/icons-vue': specifier: ^2.3.1 version: 2.3.1(vue@3.5.14(typescript@5.8.3)) diff --git a/src/designer/menus/Model3DView.ts b/src/designer/menus/Model3DView.ts index 8de6eca..8062f72 100644 --- a/src/designer/menus/Model3DView.ts +++ b/src/designer/menus/Model3DView.ts @@ -1,5 +1,6 @@ import { defineMenu } from '@/runtime/DefineMenu.ts' import Model3DView from '@/designer/model3DView/Model3DView.vue' +import Model3DViewBabylonJs from '@/designer/model3DView/Model3DViewBabylonJs.vue' export default defineMenu((menus) => { menus.insertChildren('tool', @@ -21,6 +22,21 @@ export default defineMenu((menus) => { dialogClass: 'model-3d-view-wrap' }) } + }, + { + name: 'model3dviewBabylon', label: '模型查看器 (BabylonJs)', order: 2, + click: () => { + system.showDialog(Model3DViewBabylonJs, { + title: '模型查看器 BabylonJs', + width: 950, + height: 400, + showClose: true, + showMax: true, + showCancelButton: false, + showOkButton: false, + dialogClass: 'model-3d-view-wrap' + }) + } } ] ) diff --git a/src/designer/model3DView/Model3DViewBabylonJs.vue b/src/designer/model3DView/Model3DViewBabylonJs.vue new file mode 100644 index 0000000..f9ee126 --- /dev/null +++ b/src/designer/model3DView/Model3DViewBabylonJs.vue @@ -0,0 +1,357 @@ + + + + + 打开模型 + + + 打开贴图 + + + 打开材质 + + + 材质颜色 + + + + + 默认比例 + + + + + + + + 物体数:{{ restate.objects }} + 顶点数:{{ restate.vertices }} + 三角形数:{{ restate.faces }} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tsconfig.app.json b/tsconfig.app.json index 1fa207c..7ca01bb 100644 --- a/tsconfig.app.json +++ b/tsconfig.app.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "esnext", + "target": "es6", "module": "esnext", "moduleResolution": "node", "jsx": "preserve",