Наземные тени выглядят неточными и грязными - PullRequest
0 голосов
/ 12 октября 2018

Я сделал проект Threejs, в котором я динамически создаю почву из перлин-шума.Вот код:

createGround() {

const resolutionX = 100
const resolutionY = 100
const actualResolutionX = resolutionX + 1 // plane adds one vertex
const actualResolutionY = resolutionY + 1


const geometryPlane = new THREE.PlaneGeometry(this.sizeX, this.sizeY, resolutionX, resolutionY)

const noise = perlin.generatePerlinNoise(actualResolutionX, actualResolutionY)

let i = 0

for (let x = 0; x < actualResolutionX; x++) {
  for (let y = 0; y < actualResolutionY; y++) {
    let h = noise[i]
    }

    geometryPlane.vertices[i].z = h
    i++
  }
}

geometryPlane.verticesNeedUpdate = true
geometryPlane.computeFaceNormals()

const materialPlane = new THREE.MeshStandardMaterial({
  color: 0xffff00,
  side: THREE.FrontSide,
  roughness: 1,
  metallness: 0,
})

const ground = new THREE.Mesh(geometryPlane, materialPlane)
geometryPlane.computeVertexNormals()
ground.name = GROUND_NAME
ground.receiveShadow = true
scene.add(ground)

}

Я доволен созданной геометрией, но проблема в том, что тени выглядят очень неточно.

enter image description here

Вот мой код для света:

const light = new THREE.DirectionalLight(
  'white',
  1,

)
light.shadow.mapSize.width = 512 * 12 // default is 512. doesnt do anything
light.shadow.mapSize.height = 512 * 12 // default is 512
light.castShadow = true
light.position.set(100, 100, 100)
scene.add(light)

light.shadowCameraVisible = true

Мой вопрос: как я могу сделать тень основания более аккуратной и четкой и показатьГеометрия основания?

Остальной код можно найти здесь: https://github.com/Waltari10/workwork

1 Ответ

0 голосов
/ 15 октября 2018

Эта тень выглядит не так уж и плохо, учитывая тот факт, что вы не настроили никаких источников света:).

Я полагаю, что этот рендер работает с некоторым освещением по умолчанию или освещением, которое вы добавили, прежде чем думать отени.

Попробуйте добавить немного направленного света, имитирующего направление и цвет Солнца, и посмотрите, поможет ли это, или расскажите подробнее о настройке освещения.

Если у вас есть источники света, которые уже отображают карту тенейзатем проверьте его разрешение, возможно, вам придется увеличить его.

...