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",
|
"name": "material-editor",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "1.0.34",
|
"version": "1.0.36",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
|
|||||||
@@ -214,7 +214,7 @@ watch(() => props.name, () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
watch(textureAdjustment, async (val) => {
|
watch(textureAdjustment, async (val) => {
|
||||||
scene.UpdateTexture();
|
scene.UpdateTexture(val);
|
||||||
}, { deep: true });
|
}, { deep: true });
|
||||||
|
|
||||||
// 监听纹理更新
|
// 监听纹理更新
|
||||||
|
|||||||
@@ -55,10 +55,12 @@ async function HandleUpdateConfig() {
|
|||||||
await scene.ImportMaterialAsync(json);
|
await scene.ImportMaterialAsync(json);
|
||||||
editMode.value = true;
|
editMode.value = true;
|
||||||
}
|
}
|
||||||
else { editMode.value = false; }
|
else {
|
||||||
if (config.textures && config.textures.length > 0) {
|
editMode.value = false;
|
||||||
textures.value = Array.from(config.textures);
|
if (config.textures && config.textures.length > 0) {
|
||||||
await scene.ChangeTextureFromUrlAsync(textures.value[0].src); // 这一行是保证首次Mount组件时纹理能够立刻刷新
|
textures.value = Array.from(config.textures);
|
||||||
|
await scene.ChangeTextureFromUrlAsync(textures.value[0].src);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -85,8 +85,18 @@ const sceneSetup = () => {
|
|||||||
|
|
||||||
|
|
||||||
/** 这是自定义材质更新方法,WebCAD库中的TextureTableRecord.TextureUpdate方法在导出的时候被删除了,所以需要自己实现 */
|
/** 这是自定义材质更新方法,WebCAD库中的TextureTableRecord.TextureUpdate方法在导出的时候被删除了,所以需要自己实现 */
|
||||||
function UpdateTexture() {
|
function UpdateTexture(adjustment?: Partial<TextureAdjustment>) {
|
||||||
const record = _currTexture.value;
|
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;
|
const texture = record['texture'] as Texture;
|
||||||
texture.wrapS = record.WrapS;
|
texture.wrapS = record.WrapS;
|
||||||
texture.wrapT = record.WrapT;
|
texture.wrapT = record.WrapT;
|
||||||
|
|||||||
Reference in New Issue
Block a user