我目前正在使用Viewer.impl.sceneAfter添加自定義網格的系統,並遇到一些問題,如果大網格(大於加載的所有模型的可見邊界的聯合)比如當大點雲被添加時,存在裁剪問題,其中部分網格被裁剪掉。在Forge Viewer中設置可見邊界
從源代碼中,我注意到攝像機的Far值是基於世界場景的可見邊界更新的,並且該場景after並沒有考慮到計算可見邊界(與viewer.impl.scene相反,這是考慮到的)。
我需要這個自定義網格放置在sceneAfter中,因爲我想啓用透明度。
我想出了這個兩個哈克解決方案:
首先,在覆蓋Viewer3D.js 提供getVisibleBounds函數原型並通過該計算器的回答啓發: Changing Camera Speed,但並不滿意,因爲它覆蓋三階以後可能會更改的第三方代碼。
其次,在viewer.impl.scene中使用自定義網格物體(使用材質的可見屬性而不是幾何體),以便更改查看器的可見邊界。我比第一種解決方案更喜歡它,但仍然認爲效率低下,因爲我需要跟蹤兩個網格實例來刪除/操作幾何。
我想知道是否有更好的解決方案比事先這些
謝謝!
我明白了,我沒有考慮過使用微不足道的網格。謝謝您的幫助! – MazaYong