This commit is contained in:
X1627315083
2025-04-23 16:20:53 +08:00
parent 764c7bc7ec
commit dc092b64a1
29 changed files with 126 additions and 68 deletions

View File

@@ -244,11 +244,12 @@ export default defineComponent({
await addModel(url)
// addMaterial()
}
const addMaterial = (url:any)=>{
const addMaterial =async (item:any)=>{
//添加图片材质
let url = item.url || item.url || item.imgUrl
data.load.state = true
let textureLoader = new THREE.TextureLoader()
textureLoader.load(url, // 图片放在public/textures目录下
await textureLoader.load(url, // 图片放在public/textures目录下
(texture:any) => {
data.textureLoader = texture
// 3. 配置纹理参数
@@ -267,6 +268,10 @@ export default defineComponent({
const modelHeight = box.getSize(new THREE.Vector3()).y;
data.repeat.x = 2 - modelWidth / textureWidth;
data.repeat.y = 2 - modelHeight / textureHeight;
let patternMaking3D = store.state.HomeStoreModule.patternMaking3D
if(patternMaking3D.x)data.repeat.x = patternMaking3D.x
if(patternMaking3D.y)data.repeat.y = patternMaking3D.y
// texture.repeat.set(1, 1); // 纹理重复次数
texture.repeat.set(2 - data.repeat.x, 2 - data.repeat.y); // 纹理重复次数
@@ -294,7 +299,12 @@ export default defineComponent({
console.error('纹理加载失败:', error);
data.load.state = false
});
let value = {
collectionElementId:item.id,
x:data.repeat.x,
y:data.repeat.y,
}
store.commit('setPatternMaking3D',value)
})
}
@@ -376,12 +386,19 @@ export default defineComponent({
data.load.state = true
const modeUrl = await getModelUrl(value)
await setModel(modeUrl)
let patternMaking3D = store.state.HomeStoreModule.patternMaking3D
if(patternMaking3D.printMinioUrl)await addMaterial({url:patternMaking3D.printMinioUrl})
data.load.state = false
}
const changeRepeat = (e:any)=>{
clearTimeout(dataTime.updataRepeat)
dataTime.updataRepeat = setTimeout(()=>{
data.textureLoader.repeat.set(2 - data.repeat.x,2 - data.repeat.y); // 纹理重复次数
let value = {
x:data.repeat.x,
y:data.repeat.y,
}
store.commit('setPatternMaking3D',value)
},1000)
}
onMounted(()=>{