test ground

This commit is contained in:
Kseninia Mikhaylova 2024-08-20 15:56:58 +03:00
parent 667b2dbcbd
commit 36a6c3e690
1 changed files with 36 additions and 33 deletions

View File

@ -131,28 +131,30 @@ const loadModels = async () => {
addTexture = await useTexture(tex)
}
const mesh = {
color: c.offsetHSL(0, 0.5, -0.33),
displacementScale: envVars.focus * 0.33,
roughness: 100,
side: DoubleSide
} as MeshStandardMaterialParameters
if (envVars.env_displacementmap) {
mesh.displacementMap = addTexture.displacementMap
} else {
mesh.displacementMap = groundTexture.displacementMap
if (!models.value.find(el => el.name == 'ground')) {
const mesh = {
color: c.offsetHSL(0, 0.5, -0.33),
displacementScale: envVars.focus * 0.33,
roughness: 100,
side: DoubleSide
} as MeshStandardMaterialParameters
if (envVars.env_displacementmap) {
mesh.displacementMap = addTexture.displacementMap
} else {
mesh.displacementMap = groundTexture.displacementMap
}
if (envVars.env_normalmap) {
mesh.normalMap = addTexture.normalMap
}
const ground = new Mesh(
new PlaneGeometry(envVars.focus * 7, envVars.focus * 7, 1024, 1024),
new MeshStandardMaterial(mesh)
)
ground.position.y = -0.33 * envVars.focus
ground.rotateX(-Math.PI / 2)
ground.name = "ground"
models.value.push({ name: 'ground', modelFile: ground })
}
if (envVars.env_normalmap) {
mesh.normalMap = addTexture.normalMap
}
const ground = new Mesh(
new PlaneGeometry(envVars.focus * 7, envVars.focus * 7, 1024, 1024),
new MeshStandardMaterial(mesh)
)
ground.position.y = -0.33 * envVars.focus
ground.rotateX(-Math.PI / 2)
ground.name = "ground"
models.value.push({ name: 'ground', modelFile: ground })
for (let index = 0; index < clickable.list.length; index++) {
const element = clickable.list[index];
@ -185,18 +187,19 @@ const loadModels = async () => {
sidebar_scene.name = raw_data.name;
sidebar_scene.setData(sidebar_items)
const loaded = seekByName(scene.value, 'loaded')
if (loaded) {
const box = new Box3();
box.expandByObject(loaded);
const box_size = new Vector3();
box.getSize(box_size)
props.loaded_pan(
new Vector3(box_size.x * 0.5, box_size.y * 0.5, box_size.z * 0.5),
new Vector3(box_size.x * -0.5, box_size.y * -0.25, box_size.z * -0.5),
)
}
const box = new Box3();
models.value.forEach(element => {
if (element.name !== 'ground') {
box.expandByObject(element.modelFile.clone());
}
});
const box_size = new Vector3();
box.getSize(box_size)
props.loaded_pan(
new Vector3(box_size.x * 0.5, box_size.y * 0.5, box_size.z * 0.5),
new Vector3(box_size.x * -0.5, box_size.y * -0.25, box_size.z * -0.5),
)
console.log(box_size)
controls.value.enabled = true;
props.loaded(false)