[分享] Blender:Geometry Node程序化建築

作者: simon93304 (看你透透)   2021-12-25 01:21:17
大家好 最近偶然接觸到程序化的作業流程後也自己摸索了一些東西
想跟大家分享一下製作思路
本來是想直接用Houdini幹出來個類似湖邊小屋的建築,只是無奈功力還太淺……
(湖邊小屋在BiliBili上有大神重製版)
本次參考教學:https://youtu.be/9RGEhDPRqgM
但因為版本不同的關係,所以只參考了思路部分
附上Blender製作檔案,歡迎各路大神批評指教
https://reurl.cc/pxqLRx
文章也建議搭配檔案的Node Tree服用,不然應該會看不懂
————————廢話結束—————————
思路:
1 .先決定最後的建築需要哪些參數可以暴露(expose)出來調整
A. 長寬高
B. 四面牆和屋頂隨機分佈(randomseed)
C. 全局隨機分佈
D. 建築各部分替換元素
2. 拆分建築物
https://i.imgur.com/DCanROj.jpg
https://i.imgur.com/IJs1sFf.jpg
https://i.imgur.com/8CGgv6q.jpg
https://i.imgur.com/ht8aF9q.jpg
先分為頂層(紅色)、底層(藍色)、中間層(綠色)
再拆分角落區與非角落區
若不考慮模型重疊問題也可以不拆分角落區
但我自己在做的時候發現重疊很容易導致莫名其妙的缺東缺西
所以最好還是拆開
3. 選層拆分
https://i.imgur.com/zBi6SMD.jpg
https://i.imgur.com/zyh5IL8.jpg
分別用不同的條件配合長寬高的參數去做compare float
會接在Separate Geometry的selection上
四面牆可以套用同樣的條件(畢竟四面牆的頂層和底層一樣)
選掉兩層後剩下的就是中間層了
選角落也是一樣的邏輯
不過是要配合的參數變成Width和Depth並接在instance on points的Selection上
4. 各區域的元素
我先簡單在各區域都用兩種簡單的模型做區分
之後可以隨需要添加窗戶、欄杆、植栽等等細節
放進個別的Collection中就會自動隨機分佈
https://i.imgur.com/a6woFNy.jpg
https://i.imgur.com/OdPLvEe.jpg
5. 隨機分佈
https://i.imgur.com/TFCJQSX.jpg
這裡的重點是紅色的線
簡單來說instance on point節點上的instance index被用來控制隨機分佈
如果不要All seed這個變數的話
也可以直接把random value的Seed直接expose出去就好
6.建築元素
https://i.imgur.com/TPiG7ns.jpg
沒什麼特別的,就是把Collection info一樣暴露到Group input
方便以後有新增其他替換素材包時直接選擇該Collection即可
不用再進到節點海裡面找Collection info….
完成的節點海...
https://i.imgur.com/iIJlA1V.jpg
圖應該蠻糊的 建議直接開檔案看
最後要把建築導出成fbx的話還要在最後加上一個Realize instance 節點
然後在Modifier Properties上按下Apply才能導出到Unreal 或是到Houdini做破碎之類的
未來如果有時間的話會想辦法把製作過程也分享出來
也歡迎大神看一下我的檔案
目前覺得節點還是有點複雜但也不知道能如何簡化
————————打完收工—————————
補充:
我自己用AlterMesh把Geometry Node導入UE4時會掉材質
目前我還沒找到解決方法 還請大神救援
歡迎轉載並註明出處
希望有更多人一起研究程序化的工作流程
作者: Aerci (ac)   2020-02-01 00:58:00
沒人XD 幫推
作者: IDislong2die (ID長到死)   2020-02-04 21:17:00
蠻酷的~!!
作者: kyushu (蘇打綠嚇倒我了)   2020-02-07 13:18:00
geometey nodes 正夯,怎沒人推?

Links booklink

Contact Us: admin [ a t ] ucptt.com