Houdini

「Houdini」湖边小屋part4 细节摆放之柱子梯子撑子

by Ayse, 2022-02-21


Houdini

headfile.png

现在流程转向了拼模型的阶段,原教程的思路是直接找点然后外部导入模型,我想着既然程序化了,就不如都试试。本章内容可能比较冗长且简单,主要讲的是一些做模型的思路,有部分思路参考知乎冬青大佬的思考。现在真的是体会到了视频半小时,人做两小时的快乐麻瓜时刻。本文没有代码,因为代码部分比较轻松!


本文主要分为三个部分 (1)主支撑与栅栏 (2)楼梯 (3)阳台小支撑


(1)主支撑与栅栏

1.png 2.png 先上一个总的连线图 总体思路是找到support full的标记投影面并落地,然后用divide拿掉里面的线。这些点的法线的y轴回归到0并去除和墙面相接的点(点云检测),这里用到了放置模型的一个核心思路,就是用法线控制。一共用了三种模型,拱,柱子,栅栏。第一部分的法线是指向下一个点的,并且删掉最后一个点,用来放拱。第二部分就做随机90度扰动,用来做柱子。第三部分和第一部分一致,只是在某个地方随机删掉一个点(躲开楼梯点)用来做门。

2961645433430_.pic_hd.jpg

柱子建模思路是柱子通过一个细分的box,选出中间的group然后scale,加上pointjitter实现木材的扰动感,拱的思路是二层细分用一个wrangle包含一个圆的偏移计算。栅栏略。

(2)楼梯 6.png 楼梯的思路是把楼梯点找到,然后往楼梯面法线方向先移动半个宽度的距离,这个点很重要,它的法线控制楼梯的坡度(至少在我这是),位置控制中心。

第一步是扶手,先求出来两端点的法线和地面的交点,然后把一个box的上prim transform到上点的位置,下prim transform到下点的位置。稍微bevel一下,上扶手同样的方法加入polyextrude,它有一个有意思的功能是可以控制挤出面的变化,让它稍微转个角度并scale小一点就可以形成这样的羊角效果。

7.png

8.png 中间柱子直接搞个木头感的box细分线粘上去就行。 第二步是楼梯,没什么好说的,细分放模型。整点jitterbox就可以

9.png 第三步就是加上二层的小平台。总体的思路是根据之前拿到的楼梯中心点和y轴归零的法线去做一些偏移,同时画出扶手的线,polyextrude两次然后bevel(我没有想到更好的办法,如果polywire转动了45度而我不想要这个转动)这一步稍微复杂一些,需要做几次检测,可以拿二楼的点对bodybase做检测,假如正对着wall是不需要侧边的扶手的,就可以把刚刚得到的线删掉一根。

(3)阳台小支撑 10.png 这个就是先用线和点捏出形状然后polywire,并细分的做法,作者这里还考虑了它和柱子相接的时候要把它的位置偏移到柱子上(不知道作者后面会不会修补这样导致的悬空)在这里建模里用到了一个有意思的trick,就是让线上的点的y值在vop中ramp到越大越密的程度,然后在有限的点偏移出来的多段线就更加平滑。放到support-partial(之前分好的功能)就ok11.png


本文参考:知乎冬青大佬的解析文章 https://www.zhihu.com/people/dong-qing-41-73-30 b站转载的原教程视频https://www.bilibili.com/video/av53868198/ (建议可以用chrome的英文字幕插件来进行观看)

作者: Ayse

2024 © typecho & elise