dev #84

Merged
ksenia_mikhailova merged 141 commits from dev into main 2024-10-03 15:30:24 +03:00
5 changed files with 29 additions and 15 deletions
Showing only changes of commit 065b3a646f - Show all commits

View File

@ -135,9 +135,10 @@ const setFastening = () => {
two.position.setComponent(0, pillar_two_pos.value);
two.scale.set(-1, lamelles_count.value, 1);
const top = props.models.top.children[0].clone();
top.scale.setComponent(0, 1);
top.position.set(pillar_size * 0.5, lamelles_count.value * lSize, 0)
const top = props.models.top.children[0].children[0].clone();
const v = ((extra.value as number) || fence_section.value) * 10 + 0.1 * scale_koef
top.scale.setComponent(0, v);
top.position.set(0, lamelles_count.value * lSize, 0)
let arr = [one.clone(), two.clone(), top.clone(),]
arr.map(el => {

View File

@ -16,13 +16,13 @@ const goto_target = use_goto_target()
const { scene, controls, camera } = useTresContext()
const { seek, seekAll } = useSeek()
const { scene: top_model } = await useGLTF('/models_one/verh_100.glb', { draco: true })
const { scene: model_fence_top } = await useGLTF('/models_one/top.glb')
const { scene: model_fence_center } = await useGLTF('/models_one/center.glb')
const { scene: model_fence_bottom } = await useGLTF('/models_one/bottom.glb')
const { scene: model_fence_inner } = await useGLTF('/models_one/inner.glb')
const { scene: model_brace } = await useGLTF('/models_one/brace.glb')
const { scene: fastening_model } = await useGLTF('/models_one/krepleniye_planok.glb', { draco: true });
const { scene: top_model } = await useGLTF('/models_one/top_100.glb', { draco: true })
const { scene: fastening_model } = await useGLTF('/models_one/fastening.glb', { draco: true });
const { scene: lamelle_model } = await useGLTF('/models_one/lamel_100.glb', { draco: true });
const top = ref(top_model)

View File

@ -42,7 +42,6 @@ const set_metaril_func = (scene: any, material: any) => {
})
}
const noiseTexture = useLoader(TextureLoader, '/texture/normal.jpg')
const loaded_patterns: { [key: string]: any } = {}
for (let index = 0; index < patterns.length; index++) {
const element = patterns[index];
@ -51,6 +50,29 @@ for (let index = 0; index < patterns.length; index++) {
loaded_patterns[filename] = useLoader(TextureLoader, filename)
}
}
function generateNoiseTexture(width: number, height: number) {
const size = width * height;
const data = new Uint8Array(4 * size);
const color = new Color(0xffffff);
for (let i = 0; i < size; i++) {
const r = Math.floor(Math.random() * 255) * 0.05;
const g = 0;
const b = Math.floor(Math.random() * 255) * 0.05;
const stride = i * 4;
data[stride] = r;
data[stride + 1] = g;
data[stride + 2] = b;
data[stride + 3] = 255;
}
// used the buffer to create a DataTexture
const texture = new DataTexture(data, width, height);
texture.needsUpdate = true;
return texture;
}
export const set_material = (scene: any, color: any, pattern: { pattern: patternTypes, count: number } | undefined = undefined) => {
let c = color
@ -76,15 +98,6 @@ export const set_material = (scene: any, color: any, pattern: { pattern: pattern
})
}
}
// const noiseTexture = generateNoiseTexture(64, 64);
noiseTexture.then((res: Texture) => {
if (pattern && pattern.pattern !== undefined) {
res.wrapT = RepeatWrapping;
res.repeat.set(1, pattern.count);
res.needsUpdate = true
}
material.normalMap = res;
})
if (scene) set_metaril_func(scene, material)
else console.log(scene)