修复纹理列表中的材质名没有应用至页面的问题

This commit is contained in:
陈梓阳 2025-06-13 16:55:34 +08:00
parent 7f45d5c9db
commit e14068f507
2 changed files with 10 additions and 8 deletions

View File

@ -1,7 +1,7 @@
{
"name": "material-editor",
"private": true,
"version": "1.0.28",
"version": "1.0.29",
"type": "module",
"scripts": {
"dev": "vite",

View File

@ -1,6 +1,7 @@
<template>
<div vertical class="material-adjuster">
<div class="adjust-section">
<!-- 新增模式下隐藏材质名输入框 -->
<div v-if="ignoreTexture" class="adjust-section">
<h3>操作</h3>
<fieldset v-if="debugMode" style="margin: 1em 0;">
<legend>DEBUG</legend>
@ -59,7 +60,8 @@
<label>高光</label>
<CfFlex gap="1em" class="input-range">
<input v-model="emissiveIntensity" type="range" min="0" max="1" step="0.01" />
<input v-model="emissiveIntensity" type="number" @change="ClampNumericValue" min="0" max="1" step="0.01" />
<input v-model="emissiveIntensity" type="number" @change="ClampNumericValue" min="0" max="1"
step="0.01" />
</CfFlex>
</div>
@ -135,7 +137,7 @@ const { Material, CurrGeometry, Geometries } = storeToRefs(scene);
const props = defineProps<{
name?: string;
textures?: {name: string, src: string}[];
textures?: { name: string, src: string }[];
/** 忽略纹理参数,提交时直接输出场景内的材质,用于某些在组件外对场景进行编辑的特殊情况(例如材质编辑模式) */
ignoreTexture?: boolean;
}>();
@ -198,7 +200,7 @@ const uploading = ref(false);
// });
const materialInfo = reactive({
dirId: DirectoryId.MaterialDir, // 2
materialName: props.name || '材质',
materialName: props.name || Textures.value?.[0].name || '材质',
inputText: '',
});
@ -208,7 +210,7 @@ watch(Textures, async (val) => {
});
watch(() => props.name, () => {
materialInfo.materialName = props.name || '材质';
materialInfo.materialName = props.name || Textures.value?.[0].name || '材质';
});
watch(textureAdjustment, async (val) => {
@ -287,10 +289,10 @@ async function HandleUpload() {
};
result.push(mat);
}
//
await scene.ChangeTextureFromUrlAsync(Textures.value[0].src);
}
//
await scene.ChangeTextureFromUrlAsync(Textures.value[0].src);
emits('submit', result);
return result;
} finally {