From 0cbef7678d1064df2763c0aa79f2588f6cca19dd Mon Sep 17 00:00:00 2001 From: "2817212736@qq.com" <2817212736@qq.com> Date: Thu, 12 Jun 2025 11:45:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=AF=BC=E5=87=BA=E7=9A=84?= =?UTF-8?q?=E7=BC=A9=E7=95=A5=E5=9B=BE=E4=B8=AD=E5=B8=A6=E6=9C=89=E5=85=89?= =?UTF-8?q?=E6=BA=90=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- src/common/MaterialRenderer.ts | 9 +++++---- src/components/MaterialAdjuster.vue | 7 +++++++ src/stores/sceneStore.ts | 2 +- vite.config.ts | 9 ++++++++- 5 files changed, 22 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index aa40bd7..a5e334e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "material-editor", "private": true, - "version": "1.0.20", + "version": "1.0.23", "type": "module", "scripts": { "dev": "vite", diff --git a/src/common/MaterialRenderer.ts b/src/common/MaterialRenderer.ts index 8758456..1747c15 100644 --- a/src/common/MaterialRenderer.ts +++ b/src/common/MaterialRenderer.ts @@ -36,10 +36,11 @@ export class MaterialRenderer var ambient = new AmbientLight(); this.scene.add(ambient); - //Pontual light - var point = new PointLight(); - point.position.set(-0.5, 1, 1.5); - this.scene.add(point); + // 这个点光源会导致生成的缩略图上有一个高光 + // //Pontual light + // var point = new PointLight(); + // point.position.set(-0.5, 1, 1.5); + // this.scene.add(point); } //Set render size diff --git a/src/components/MaterialAdjuster.vue b/src/components/MaterialAdjuster.vue index c5c2856..e8c89da 100644 --- a/src/components/MaterialAdjuster.vue +++ b/src/components/MaterialAdjuster.vue @@ -16,6 +16,7 @@ + @@ -115,6 +116,7 @@ import { DirectoryId } from "../api/Request"; import { IsNullOrWhitespace } from "../helpers/helper.string"; import { FromDeflateBase64, ToDeflatedBase64 } from "../helpers/helper.material"; import { storeToRefs } from "pinia"; +import { DownloadFile } from "../helpers/helper.web"; export interface MaterialRequest { /** 材质名 */ @@ -273,6 +275,11 @@ function HandleCancel() { emits('cancel'); } +async function HandleGenerateLogo() { + const blob = await scene.GenerateMaterialLogoAsync(); + DownloadFile("logo.png", blob); +} + defineExpose({ Upload: HandleUpload, Cancel: HandleCancel diff --git a/src/stores/sceneStore.ts b/src/stores/sceneStore.ts index 9638bbd..ecc75ac 100644 --- a/src/stores/sceneStore.ts +++ b/src/stores/sceneStore.ts @@ -1,7 +1,7 @@ import { defineStore } from "pinia"; import { computed, ref } from "vue"; import { MaterialEditor } from "../common/MaterialEditor"; -import { Database, ObjectId, PhysicalMaterialRecord, TextureTableRecord } from "webcad_ue4_api"; +import { Database, PhysicalMaterialRecord, TextureTableRecord } from "webcad_ue4_api"; import { LoadImageFromUrl } from "../helpers/helper.imageLoader"; import { Texture } from "three"; import { materialRenderer } from "../common/MaterialRenderer"; diff --git a/vite.config.ts b/vite.config.ts index 85d283e..adc8d02 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -9,12 +9,19 @@ const __dirname = dirname(fileURLToPath(import.meta.url)) // https://vite.dev/config/ export default defineConfig({ plugins: [vue(), dts({rollupTypes: true, tsconfigPath: './tsconfig.app.json',insertTypesEntry: true})], + define: { 'process.env.NODE_ENV': '"production"' }, + resolve: { + alias: { + // 'vue': path.resolve(__dirname, './node_modules/vue/dist/vue.esm-browser.prod.js'), + // 'pinia': path.resolve(__dirname, './node_modules/pinia/dist/pinia.esm-browser.js'), + } + }, build: { lib: { entry: resolve(__dirname, 'src/lib/index.ts'), name: 'MaterialEditor', fileName: (format) => `material-editor.${format}.js`, - formats: ['es'] + formats: ['es', 'iife', 'umd'] }, rollupOptions: { // external: ['vue'],