Explorar el Código

自定义ply 上传支持

bill hace 2 años
padre
commit
b06b1f9a1a

+ 2 - 0
src/api/fuse-model.ts

@@ -26,6 +26,7 @@ export interface FuseModel extends FuseModelAttrs {
   url: string
   title: string
   fusionId: number,
+  modelType: string,
   type: SceneType
   size: number,
   time: string
@@ -51,6 +52,7 @@ const serviceToLocal = (serviceModel: ServiceFuseModel): FuseModel => ({
   opacity: serviceModel.opacity || 1,
   bottom: serviceModel.bottom || 0,
   fusionNumId: serviceModel.fusionNumId,
+  modelType: serviceModel.sceneData.modelDateType,
   position: serviceModel.transform.position,
   rotation: serviceModel.transform.rotation,
   id: serviceModel.fusionNumId.toString(),

+ 3 - 2
src/sdk/association.ts

@@ -73,13 +73,14 @@ const associationModels = (sdk: SDK) => {
       }
 
       const itemRaw = toRaw(item)
-      console.error('loaded')
+      console.error('loaded', itemRaw)
       const sceneModel = sdk.addModel({
         ...itemRaw,
         ...modelRange,
-        type: item.type === SceneType.SWSS ? 'laser' : 'glb',
+        type: item.type === SceneType.SWSS ? 'laser' : item.modelType,
         url: item.type === SceneType.SWSS ? item.url : getResource(item.url)
       })
+
       sceneModelMap.set(itemRaw, sceneModel)
 
       let changeId: NodeJS.Timeout

+ 1 - 1
src/sdk/sdk.ts

@@ -49,7 +49,7 @@ export type ModelAttrRange = {
 
 export type AddModelProps = Pick<FuseModel, 'url' | 'id'> 
   & FuseModelAttrs 
-  & { type: 'laser' | 'glb' }
+  & { type: string }
   & ModelAttrRange
 
 

+ 1 - 0
src/store/fuse-model.ts

@@ -42,6 +42,7 @@ export const createFuseModels = (model: Partial<FuseModel> = {}): FuseModel => s
   url: '',
   fusionId: 0,
   title: '',
+  modelType: 'glb',
   type: SceneType.SWMX,
   size: 0,
   time: new Date().toString(),

+ 2 - 0
src/views/registration/index.vue

@@ -67,6 +67,8 @@ const model = computed(() => {
   }
 })
 
+console.log(model)
+
 const sceneModel = computed(() => model.value && getSceneModel(model.value))
 const options = [
   { desc: '移动', icon: 'move', key: 'move' },

+ 2 - 1
src/views/sign-model/index.vue

@@ -25,7 +25,8 @@ const loadSignModel = async () => {
       show: true,
       url: scene.modelGlbUrl || scene.modelObjUrl,
       type: scene.type,
-      opacity: 100
+      opacity: 100,
+      modelType: scene.modelDateType
     })
     fuseModels.value.push(fuseModel)