arnold 渲染曲面fracture破碎置換和uv校正
關鍵字:arnold,houdini,渲染,置換,displacement,破碎,扭曲,uv,校正,曲面
先上圖:
能看到的裂縫是故意加的縫隙,不是置換精度問題!眼睛沒問題應該能看出來!
Arnold渲染曲面物體fracture破碎遇到的問題:
1.user_data_vector哪去了?自動桌子自己吃啦?
2.曲面碎塊置換后接縫處不在原模型上了(離開了元表面),需要找到真正的置換后在表面上的位置P。
3.要完美的在動態碎塊上匹配接縫,這個置換只能在rest空間評估,再去做矩陣變換到世界空間。
4.置換后uv扭曲了,需要跨物體讀取uv,對arnold來說......你懂得!
5.巴拉巴拉還有啥!!!
實現思路數據流梳理:
1、arnold要獲取兩塊數據,一個是動態的碎塊簡模,他需要有rest、depth、rmatrix信息。另一個是用於讀取uv的拓撲結構一樣的靜態模型,需要包含nv,uv和rest屬性。
2、用rest搭橋動靜態兩個模型,利用靜態的nv評估rest空間的置換,再去拿靜態模型做穿插校正,將置換后不在表面的點進行歸位,再通過rmatrix轉到world空間。
3、根據rest讀取靜態的uv,進行uv校正
要實現這些需要4個節點,兩個arnold節點2個hda資產:
1、crushdispvector.so用來生成disp vector
2、crushdispreaduv.so用來校正扭曲的uv
3、hda資產crush_static用來生成靜態模型所需屬性
4、hda資產crush_dynamic用來生成動態模型所需屬性
安裝方法:
1、持續關注qq群,獲取最新版下載鏈接
2、將dll文件放到arnold的安裝路徑的plugins下面,重啟houdini
3、hda資產放到otls下面
4、需要匹配houdini版本
5、歡迎bug反饋!!
6、如果測試過程中遇到疑問請參看群里配套的hip工程文件的詳細參數設置!
使用方法:
1、打開群里配套的的hip自行查看節點連接和設置
2、houdini里數據進crush_static節點前需要有rest和uv屬性,並且需要有inside和outside組
3、houdini里數據進crush_dynamic節點前需要有orient屬性
4、碎塊的obj上要這樣設置