Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ae9d88c6d7 | |||
| 7e4b09133d |
7
.claude/settings.local.json
Normal file
7
.claude/settings.local.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"mcp__ide__getDiagnostics"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "material-editor",
|
||||
"private": true,
|
||||
"version": "1.0.34",
|
||||
"version": "1.0.36",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -214,7 +214,7 @@ watch(() => props.name, () => {
|
||||
});
|
||||
|
||||
watch(textureAdjustment, async (val) => {
|
||||
scene.UpdateTexture();
|
||||
scene.UpdateTexture(val);
|
||||
}, { deep: true });
|
||||
|
||||
// 监听纹理更新
|
||||
|
||||
@@ -55,10 +55,12 @@ async function HandleUpdateConfig() {
|
||||
await scene.ImportMaterialAsync(json);
|
||||
editMode.value = true;
|
||||
}
|
||||
else { editMode.value = false; }
|
||||
else {
|
||||
editMode.value = false;
|
||||
if (config.textures && config.textures.length > 0) {
|
||||
textures.value = Array.from(config.textures);
|
||||
await scene.ChangeTextureFromUrlAsync(textures.value[0].src); // 这一行是保证首次Mount组件时纹理能够立刻刷新
|
||||
await scene.ChangeTextureFromUrlAsync(textures.value[0].src);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -85,8 +85,18 @@ const sceneSetup = () => {
|
||||
|
||||
|
||||
/** 这是自定义材质更新方法,WebCAD库中的TextureTableRecord.TextureUpdate方法在导出的时候被删除了,所以需要自己实现 */
|
||||
function UpdateTexture() {
|
||||
function UpdateTexture(adjustment?: Partial<TextureAdjustment>) {
|
||||
const record = _currTexture.value;
|
||||
if (adjustment) {
|
||||
// 将用户修改的纹理配置项同步写回 TextureTableRecord,确保序列化时数据不丢失
|
||||
if (adjustment.wrapS !== undefined) record.WrapS = adjustment.wrapS;
|
||||
if (adjustment.wrapT !== undefined) record.WrapT = adjustment.wrapT;
|
||||
if (adjustment.rotation !== undefined) record.rotation = adjustment.rotation;
|
||||
if (adjustment.repeatX !== undefined) record.repeatX = adjustment.repeatX;
|
||||
if (adjustment.repeatY !== undefined) record.repeatY = adjustment.repeatY;
|
||||
if (adjustment.moveX !== undefined) record.moveX = adjustment.moveX;
|
||||
if (adjustment.moveY !== undefined) record.moveY = adjustment.moveY;
|
||||
}
|
||||
const texture = record['texture'] as Texture;
|
||||
texture.wrapS = record.WrapS;
|
||||
texture.wrapT = record.WrapT;
|
||||
|
||||
Reference in New Issue
Block a user