粉丝198.7万获赞5108.8万



回到教程中,打开我新建的空白项目,新建一个蓝图,名字随便给一个,这里我输入的是 spline b p, 输入完成后,双击打开蓝图,点击左上角的加号,新增一个样条组件,成功添加后,来到市口可以看到白色的样条线, 大家都知道两个点可以组成一条线,所以要 样条线组建,默认是有两个点的。回到场景中,推一个样条安图到地板上, 首先让我们看一下官方文档是怎么描述样条线组建的, 本质上说,蓝图样条组件是一条可用于定义和使用未知数据的路径。 怎么去理解这句话呢?简单来说就是我们可以拿到样条点在场景中的位置信息,一旦有了位置信息,这根样条线就可以被看作是一条路径。明白它的含义之后, 我们尝试在样条线中新增几个样条点,默认有两个点。鼠标左键选中第二个拖拽轴,可以看到压条点也跟着移动, 线也跟着发生了变化。按住键盘的二键拖动,可以新增压条点,非常的方便。找到世界大纲中的压条蓝图。选中压条组件,可以看到在细节面板中任多选项, 其中比较常用的是 close loop, 勾选后压条线首尾相连接着随便选中一个样条点,可以看到当前点的位置信息。在 time 列表里面可以 切换点的类型,这里我们切换成线形,可以看到两条线变成了直线,这个属性用的也比较多, 其他的属性等我们用到了再说。来到第二节,在编辑模式下,使用样条线工具, 双击打开样条蓝图,来到 construction script team, 这里的代码会在编辑模式下生效。举个例子,我在事件后面新增一个打印节点, 打印内容改为编辑模式保存。回到场景中, 一个样条蓝图到地板上,可以看到屏幕上打印了编辑模式四个字,好!测试完成后,回到蓝图里 拖一个样条组件到面板中,从它往外拖,输入 get location, 选择通过样条点获取位置节点, 他的功能就和名字一样,节点需要输入点位的序号, 这里我们拿到样条点的数量。用一个循环去拿到每一个点的序号,因为循环的开始序号是零, 所以我们要用整体长度减一, 将循环节点右侧的输出给到目标节点,这样我们就拿到所有样条点的位置了。拿到位置后,在它上面生成模型,空白处右键输入 aesthetic mesh。 难道添加网格体组建节点,把位置给到他, 最后设置一下组建的模型,这里我们生成一个变量,在细节面板里打开实力化开关,方便我们在外面调节模型。样式 代码写好了,回到场景中测试一下,可以看到点位上面成功生成了模型。 新增点位后,代码也会继续生成模型。在细节面板里选择不同的模型,看下效果不错, 代码是没有问题的。上节,我们在样条点上生成模型,本节把样条线等距分割,在分割位置上生成模型。 回到项目中,直接复制一个样条蓝图,给个合适的名字,这里输入 match by distance, 双击进入蓝图, 整体思路和上界差不多,先删掉多余的部分。 从样条线节点中拿到 gas plan lengths, 获得样条长度,节点 节点右侧输出样条长度,从它往外拖拿到 c, f, d 外单全分割节点其实就是在出法的基础上增加了分母为零的情况。 接着把节点的第二个输入创建成变量,这个变量控制模型间隔,最后把结果 连到循环节点上面,引擎自动用 trinket 节点帮我们把结果的小数点部分去掉。 分割段数确定好之后,从样条线节点中拿到 get location at a distance, 通过距离的到位,直接点所需要的距离参数 就是每次循环的次数呈上间隔。最后把位置信息给到生成模型组,间接点 保存一下,给间隔变量输入一个值 并打开实力化,方便在外面调整间隔数值 再次保存。回到场景中,拖一个样条蓝图到场景中,新增几个样条点,好代码是成功的。 上节,我们沿样条线生成具有相等间隙的模型,间隙可以根据暴露出来的参数值进行更改,这通常被用来制作栅栏、护栏等比较独立的模型上面。而对于管道、绳子之类的模型,我们采用拉伸模型的方式, 这样效率更高。回到项目中,先复制一个样条蓝图,给他一个合适的名字,这里输入 stretch by distance, 通过距离拉伸。双击打开蓝图,先删掉多余的部分。 通过样条组件拿到 gan number of spain plans 节点,拿到样条点的数量后,先减去二,把得到的结果连到循环节点。这里减去二的原因有两点,第一点,因为循环是从零开始的。 第二点意味拿到两个样条点之间的距离,只需要倒数第二个点就行了。接着通过样条点拿到 get the location and attention and supply 获取位置和期限节点。 同样的方式,我们将锁引值加一,拿到下一个点的位置和切线。 准备工作做好之后,来认识一个新的节点, s blind mesh component。 使用它的原因是引擎在这个组建 里面添加了很多实用的样条节点。从节点的返回值往外拖,拿到 set forward access, 设置前向轴节点,它主要用来修改拉伸的轴向。这里为了方便调整,把输入设置成变量。 继续拿到 set start, and and, 设置开始和结束的位置和切线节点。 把刚刚取到的数值依次连接上去。好了,代码写好了, 保存一下,去场景中测试一下。拖一个样条蓝图到场景中,增加几个样条点,可以看到模型被拉伸了,这里替换一个炸烂的模型。 拉伸的轴向改为 z 轴,可以看到两点之间的模型随着长度不同,被拉伸的大小也不同。 换上管道的模型不错,效果好多了。本节在拉伸样条蓝图上新增尺寸参数,再来添加一个绳子材质。回到项目中。打开上节的拉伸样条蓝图, 找到添加样条组件节点,从他的返回值往外拖,输入 set start scale, 设置开头尺寸节点。同样的,拿到设置末尾尺寸节点,把它们连起来,组合到代码中。 把两个节点的尺寸变量打开,这里我用一个浮点变量去控制尺寸,输入一个合适的名字, 最后把变量的实力化打开,方便我们在外面调整。在细节面板中找到尺寸参数,调整他的值,看下效果, 可以看到随着尺寸数值的增大,两条模型也在放大,效果还是很不错的。 左上角按钮中,打开 bridge 面板,输入关键词,绳子, 这里随便选择一个,点击它,然后下载就行了。 下载完成后,点击右侧加号,这样就把资源添加到项目里了。 回到项目中,找到刚刚下载的材质,它会存放在这个固定的文件夹中, 把材质给到提前暴露出来的变量中,可以看到材质的效果不太行,这是 u v 的问题,可以从模型方面解决,也可以修改材质贴图,这里我直接用建模工具新建一个模型。打开建模面板,新增一个圆 圆柱体,在细节面板中调整一下参数,调成绳子的尺寸。 高度细分,这里可以多给一点细分,越大弯曲的地方会比较自然,可以换个模式看下高度细分 没问题后点击创建, 点击刚刚创建的模型快捷键, c t r l 加 b, 找 到模型的资源,把它给到样条蓝图,修改一下前向轴 尺寸给的小一点,效果还是很不错的。 好了,这节就到这里了,如果你有什么疑问,请在评论区留言,最后感谢大家的点赞,关注评论,你免费的赞就是对我最大的帮助,让我们下期再见!