2011-06-03 162 views
3

我创建了一个使用scenejs库的webgl animation(通过点击左下角的按钮来启动它,注意它也播放音乐以及当前无法使用的音乐)。WebGL动画闪烁,对象太大?

我遇到的问题是,中间的地板/飞机开始闪烁,并继续闪烁/眨眼通过动画。只有到最后,闪烁才会降低,并完全停止(当飞机即将结束时)。

如果我将飞机的尺寸缩小到其尺寸的10%(从〜26000到〜2600),它就不会闪烁。

我试过调整纹理尺度,没有效果。降低fps似乎也没有效果。 WebGL在渲染大对象时有问题吗?有没有解决这个问题的方法?

可能会让飞机变成静态的,并且它的纹理会移动,但它肯定会使更多事情变得更加棘手,尤其是当更多元素被添加到它时。

设置​​没有效果,也没有删除Flash视频。唯一能够正常工作的时机是飞机明显较小或飞机到达最后时刻。

+0

什么样的纹理是什么人?你是否让它们像3DS max一样?这看起来像照明/材料问题。尝试改变纹理可能吗? – 2011-06-03 23:53:20

+0

@Layoric这是一个简单的jpg,其上有一些闪耀/镜面效果。如果物体很小,或者相机到达物体的末端,则渲染效果会很好。 – Niklas 2011-06-03 23:55:52

+0

只是一个测试,你可以删除所有的闪光呢?也可以尝试使用单点光源?这是一个奇怪的问题,我只是不认为这是与对象的大小有关。对不起,如果这是错误的方向。 – 2011-06-04 00:00:57

回答

1

场景对我来说很不错 - 当你移除Flash时会发生什么?

PS。如果你喜欢,可以在jsFiddle上分享它.http://jsfiddle.net/

另外,当你为render循环使用requestAnimationFrame选项时会发生什么?

这里举例: http://scenejs.wikispaces.com/scene#Starting

+0

对不起,很晚回复。 'requestAnimationFrame'没有效果,也没有删除Flash视频。唯一能够正常工作的时机是飞机明显较小或飞机到达最后时刻。 – Niklas 2011-06-09 13:52:23