2015-03-21 3 views
0

(Отказ от ответственности: первое сообщение на SO. Я искал SO и в других местах для ответа на этот вопрос, но, несмотря на то, что зеркала и отражения возникают, я не нашел ничего, связанного с моей конкретной проблемой.)Чувства зеркального отражения в ThreeJS

Problematic Mirror

Это моя первая сцена в ThreeJS и большинство из них основано на официальных примерах (супер полезно!). Как вы можете видеть, по какой-либо причине зеркальное отражение черное/фрагментированное от большинства углов, поэтому оно отображает только правильное отражение в очень узком диапазоне. (Исследуйте другие углы, чтобы увидеть то, что я говорю.)

Соответствующий код:

// MIRROR 

verticalMirror = new THREE.Mirror(renderer, camera, { clipBias: 0.003, textureWidth: 1024, textureHeight: 1024, color:0x889999 }); 

var verticalMirrorMesh = new THREE.Mesh(new THREE.PlaneBufferGeometry(300, 300), verticalMirror.material); 
verticalMirrorMesh.add(verticalMirror); 
verticalMirrorMesh.position.y = 100; 
verticalMirrorMesh.position.z = -500; 
scene.add(verticalMirrorMesh); 

И в функции визуализации:

function render() 
{ 
    renderer.render(scene, camera); 
    verticalMirror.renderWithMirror(verticalMirror); 
} 

Я пытался возиться с настройками текстур и клипсы безрезультатно, и весь код в основном основан на The ThreeJS reference example for Mirror.

Любая помощь будет принята с благодарностью - спасибо!

+0

Попробуйте 'verticalMirror.render()' вместо этого. – WestLangley

ответ

1

Thanks WestLangley, verticalMirror.render() сохранен в день! Зеркало прекрасно отражается. Я избегу renderWithMirror, пока не получу лучшее представление о том, что он делает.

Большое значение.

+0

'Mirror.renderWithMirror()' будет использоваться, если у вас есть два зеркала. – WestLangley

+0

Имеет смысл, спасибо! – AquaVitae