【Houdini 18 零基础到实际案例】笔记 18_拷贝符文
【Houdini 18 零基础到实际案例】笔记 18_拷贝符文
参考资料&原文链接
本篇系列博客来自于B站UP:老胡特效。教程链接是:点击前往。
贴符文
这一步有两种方法。
一是只处理一边(四个面),然后用镜像过去即可,就是这一步:

二是直接在最下面选中8个面来操作,就是在细分之前:

处理符文
现在我们得到符文是这样的:

这肯定是不对的,我们要把符文转一面,不然没有封口的这一部分就显示在外面了。我们给他掉个头:

新建数据流

选中之后直接按下(此时鼠标在视口)键盘的delete键:
会发现多出来一个节点blast节点,并且把选中的面删除了:

blast节点是delete的节点的简化版本,参数比delete少一些。
我们把它搞出来,新建一个数据流,不要影响下面的:

然后保留我们选中的面,删除其他的面:

查看面的法线可以发现面确实是有法线的,不过我们只能拷贝到点上面,没办法拷贝到面上面。

先给这几个点添加一下法线:

可以发现一个平面内的法线都是一样的,要是我能把这几个点揉到一起变成一个点,就能用copy to point了,问题解决。
没错,我们先用primitive节点将几个点缩到一起:


注意:
-
缩放到0时法线会消失。
-
现在还是一个面有8个点,我们还并没有融合。

现在我们融合一下,使用fuse节点:

好像视口啥都没了。我们要设置一下,去掉这个勾选:

现在的话就只有8个点了:

但是开了法线显示还是没有显示出法线:

这是因为还要去除这个选项,fuse节点会重新计算法线,我们就用以前的法线,不让他重新计算:

然后就是使用copy to point啦:

不过好像有点大,先缩小一点:

现在发现好像有点问题,我们没法控制它的方向。一样的,我们还需要一个变量up来控制,所以还是搞一个attribute wrangle节点,里面输入:
vector v_temp_right = {1, 0, 0};
v@up = cross(v_temp_right,@N);

好像还是差一点点,似乎旋转个90°就OK了:

merge看一下:

效果完美。
本文标签
游戏开发、Houdini、Houdini基础、程序化生成、笔记、视频笔记。

浙公网安备 33010602011771号