2017-01-26 63 views
0

我目前正在使用Viewer.impl.sceneAfter添加自定義網格的系統,並遇到一些問題,如果大網格(大於加載的所有模型的可見邊界的聯合)比如當大點雲被添加時,存在裁剪問題,其中部分網格被裁剪掉。在Forge Viewer中設置可見邊界

從源代碼中,我注意到攝像機的Far值是基於世界場景的可見邊界更新的,並且該場景after並沒有考慮到計算可見邊界(與viewer.impl.scene相反,這是考慮到的)。

我需要這個自定義網格放置在sceneAfter中,因爲我想啓用透明度。

我想出了這個兩個哈克解決方案:

首先,在覆蓋Viewer3D.js 提供getVisibleBounds函數原型並通過該計算器的回答啓發: Changing Camera Speed,但並不滿意,因爲它覆蓋三階以後可能會更改的第三方代碼。

其次,在viewer.impl.scene中使用自定義網格物體(使用材質的可見屬性而不是幾何體),以便更改查看器的可見邊界。我比第一種解決方案更喜歡它,但仍然認爲效率低下,因爲我需要跟蹤兩個網格實例來刪除/操作幾何。

我想知道是否有更好的解決方案比事先這些

謝謝!

回答

1

我登錄了一個願望請求,考慮添加到我們的查看器API未來版本中的sceneAfter中的網格。

與此同時,建議的解決方法與您的第二個建議有些類似,但使用一個簡單的網格,就像自定義網格的邊界框的表示一樣。如果渲染比較複雜,渲染速度會比網格的克隆速度快。

希望有幫助

+0

我明白了,我沒有考慮過使用微不足道的網格。謝謝您的幫助! – MazaYong