【问题标题】:Mirror reflection quirks in ThreeJSThreeJS 中的镜像反射怪癖
【发布时间】:2015-05-25 04:17:11
【问题描述】:

(免责声明:关于 SO 的第一篇文章。我已经在 SO 和其他地方搜索了这个问题的答案,但是虽然确实出现了镜子和反射,但我没有找到与我的特定问题相关的任何内容。)

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 );
}

我试过弄乱纹理设置和clipbias 无济于事,整个代码主要基于The ThreeJS reference example for Mirror

我们将不胜感激任何和所有的帮助 - 谢谢!

【问题讨论】:

  • 改用verticalMirror.render()

标签: reflection 3d three.js shader mirror


【解决方案1】:

感谢WestLangleyverticalMirror.render() 拯救了这一天!镜子现在反射得很漂亮。在我更好地了解它的作用之前,我会避免使用renderWithMirror

非常感谢。

【讨论】:

  • Mirror.renderWithMirror() 当你有两个镜像时使用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-14
  • 2015-06-01
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多