首頁  >  問答  >  主體

javascript - 請問要如何修改 Node 的透明度嗎?

請問有辦法設定構件的透明度嗎?譬如說修改構件材質或新增有透明度的材質,在用讓 Viewer 去渲染(Render)染他。

学习ing学习ing2663 天前1027

全部回覆(1)我來回復

  • 天蓬老师

    天蓬老师2017-07-05 11:05:28

    根據我的經驗,Forge Viewer 載入一個模型時會去幫模型建立它的包圍層次(BVH),這時會有一個內部參數被拿來計算幾何片段(fragment)的透明度,而這個參數是為了確保半透明和完全透明的構件的渲染(Render)次序,一般完全透明的構件會先被渲染。

    在我們修改構件材質透明度的時候,這個次序並不會被更新。這是因為 Viewer 不會在我們修該完後去重建 BVH,所以我們看到一些不透明構件被隱藏的現象。而且就我調試經驗顯示在 Viewer 裡是沒辦法重建 BVH 的,所以目前這個問題無法解決。

    不過這裡還是有一些修改材質及透明度的範例供你參考:

    Autodesk.ADN.Viewing.Extension.Material

    Forge Viewer Custom Shaders - Part 1

    Forge Viewer Custom Shaders - Part 2

    Custom transparent meshes with View & Data API

    希望這對你有幫助

    參考來源:https://stackoverflow.com/que...

    回覆
    0
  • 取消回覆