Javascript 从101升级到3JS中的交叉淡入淡出场景>;107
费尔南多·塞拉诺(Fernando Serrano)教我如何在三个场景中的两个场景之间进行交叉淡入淡出。一个使用ThreeJS 101稍微修改过的工作JSFIDLE版本。现在我的问题是 将ThreeJS升级到最新版本(107)时,Javascript 从101升级到3JS中的交叉淡入淡出场景>;107,javascript,three.js,Javascript,Three.js,费尔南多·塞拉诺(Fernando Serrano)教我如何在三个场景中的两个场景之间进行交叉淡入淡出。一个使用ThreeJS 101稍微修改过的工作JSFIDLE版本。现在我的问题是 将ThreeJS升级到最新版本(107)时,WebGLRenderer发生了一些更改。renderTarget和forceClear参数已从其render函数中删除。我已经试过了,一切似乎都很好,但我的控制台显示了很多错误 我似乎不知道问题出在哪里。顺序或设置渲染目标以及清除渲染器是否重要?我可以对两个渲染目标使
WebGLRenderer
发生了一些更改。renderTarget
和forceClear
参数已从其render
函数中删除。我已经试过了,一切似乎都很好,但我的控制台显示了很多错误
我似乎不知道问题出在哪里。顺序或设置渲染目标以及清除渲染器是否重要?我可以对两个渲染目标使用相同的渲染器吗
如果有人能向我解释我做错了什么,那就太好了
我似乎不知道问题出在哪里。顺序或设置渲染目标以及清除渲染器是否重要
是的。将WebGLRenderer
视为一个状态机。首先必须指定是否通过.setRenderTarget()
使用渲染目标。在下一步中,可以执行可选的清除和相应的渲染
在第103行中,您设置了renderer.setRenderTarget(this.fbo)
,尽管renderer.setRenderTarget(null)
是正确的。您还可以将官方代码用作代码模板。我已经从那里采用了修复方法
我可以对两个渲染目标使用相同的渲染器吗
是的,没问题
固定小提琴:
three.js R107
非常感谢!这太浪费时间了,我没有用官方的例子。我一定是忽略了。将其视为状态机是有意义的。我必须注意正确设置渲染目标。