2011-06-03 40 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