Tuesday, November 4, 2014

OpenVDB

最近開始玩 Houdini 後,發現 Houdini 在 volume 相關的領域表現真的相當出色,其中對 OpenVDB 的支援更是其它 3D 的軟體所無法比擬的,好奇心驅使之下,就想對 OpenVDB 有更深一步的了解,最好的資料當然就是原始碼囉,不過因為環境是使用 Windows 的情況下,一開始在建置這個架在 Linux 上的專案遇到了不少的困難,最頭痛的地方就是使用到的第三方的函式庫還真不少,有 TBB、boost、OpenEXR、zlib,要有 python 支援需要有 boost python,要 unit test 需要 cppunit,想要 build 出 viewer 還需要有 glew、glfw,再加上 debug/release 和 x86/x64 的設定,然後在測試時也有遇到一些奇奇怪怪的問題,著實花了不少的時間在做一些修正,不過目前 library 可以正常運作,編譯出來的 python module 也可以在 Maya 裡 import 進來,project 帶的 viewer 也可以執行,OpenVDB Maya Toolkit 也沒問題,說實在的也蠻有成就感的 :D,接下來就是開始研究一些相關的文獻,google 一下好像還真的不少,上星期也有看到 OpenVDB 3.0 beta 的發表,可能又有一陣子不會無聊了。



Thursday, August 28, 2014

Houdini 一個未知的領堿

    這二個星期開始接觸 Houdini,只能說相見恨晚啊,整個軟體設計的理念和其它的 3D 軟體 Maya, Max 等完全不一樣,入門的門檻我覺得相當的高,邏輯的概念也要非常清楚,雖然看了很多教學,還是覺得一堆無法掌握的東西,簡單的說就是被 "定" 的很慘,但同時也無可自拔的愛上它,雖然現階段還無法駕御但可以很清楚的感受到 Houdini 所給與的彈性和強大的功能,也很享受在使用 Houdini 時不時地會有驚喜的感覺,不禁讓我想起一開始使用 vim 的 fu。
   
    除了基本操作以外,我也同時在學習 Houdini 裡如何使用 Script 去做擴充的動作,配合工作上的需求,實作了一個 velocity field 輸出工具,有興趣的朋友可以到 Orbolt (velocity field exporter) 上下載,這個工具可以讓你做完特效的模擬後,將範圍內的粒子或是流體切割 voxel 後輸出每個 voxel 裡的 velocity,配合 Unreal Engine 4 的 GPU particle 可以做出很有趣的效果,簡單的示意圖如下,

做的不是很好但我想概念應該有傳達到。理論上也可以實現像這個教學影片裡的效果 (https://www.youtube.com/watch?v=Dces...Be8NqR8t#t=648),或是像 UE4 elemental demo裡的效果一樣,一整個華麗!