作者simon93304 (窝喜欢喝香菇鸡汤)
看板Digital_Art
标题[分享] Blender:Geometry Node程序化建筑
时间Sat Dec 25 01:21:17 2021
大家好 最近偶然接触到程序化的作业流程後也自己摸索了一些东西
想跟大家分享一下制作思路
本来是想直接用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时会掉材质
目前我还没找到解决方法 还请大神救援
欢迎转载并注明出处
希望有更多人一起研究程序化的工作流程
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 27.52.134.61 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Digital_Art/M.1640366479.A.A4F.html
※ 编辑: simon93304 (27.52.134.61 台湾), 12/25/2021 01:44:00
1F:推 Aerci: 没人XD 帮推 02/01 00:58
2F:推 IDislong2die: 蛮酷的~!! 02/04 21:17
3F:嘘 kyushu: geometey nodes 正夯,怎没人推? 02/07 13:18