part of models
This commit is contained in:
parent
fe6474983d
commit
065b3a646f
|
@ -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 => {
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue