part of models
Deploy / build_and_push_images (push) Successful in 1m21s Details
Deploy / deploy_to_server_dev (push) Successful in 32s Details

This commit is contained in:
Kseninia Mikhaylova 2024-09-26 17:01:42 +03:00
parent fe6474983d
commit 065b3a646f
5 changed files with 29 additions and 15 deletions

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)