今天和大家分享Unreal基础教程之蓝图样线条,我是木偶心没,既然是入门,就先从如下效果的基本样线条效果开始。
上面主要根据画出的样线条,然后加载了同一个mesh不同的旋转值以及大小。首先按照规矩先创建一个普通的Actor blueprint class。
然后搜索并创建一个spline。
然后在construction script中创建一个loop去循环样线条上的每一个点。
接着就开始往每个样线条距离上面加mesh,添加一个add static mesh component节点,并用set static mesh为添加的static mesh component设置mesh。
New Mesh中可以选择需要用样线条加载的模型,这里先随便加一个圆柱。
用set material为添加的模型赋予材质球,并将add static mesh component的return value;连接到set static mesh和set material的target中,表示是为前面的mesh设置的材质以及模型。
接下来我们将计算各个样线条上面点之间的距离,然后根据这些点需要循环放置多少mesh。
所以首先需要在左边创建如下几个。
Float类型的变量 Spacing,表示mesh之间的距离,默认值设置为150。
Float类型的变量RandomRotation,表示各个mesh的随机旋转值。
Float类型的变量RandomScale,表示各个mesh的随机大小。
RandomStream类型的变量RandomStream,可以产生随机值。
将component里面的spline拉下来,并使用Get Spline Length获取样线条的长度,将获取到的长度除以我们自定义的变量spacing就可以得到loop循环需要的次数,所以最后将return的值输入到ForLoop的Last Index里面。
找到位置以后,就可以开始放置mesh了,再将spline拉下来,然后用节点Get Location at Distance Along Spline来根据给到的样线条间隔长度,得到样线条上面的点。并且coordinate space选择World,Distance就是用自定义变量spacing和循环时候的index相乘得到的距离(如果循环到第1个,就是一个spacing,第二个就是两个spacing的距离)
接下来就是把我们的随机旋转和随机大小给加进去,先把Random Rotation和Random Stream拉出来,然后从RandomStream添加一个Random Float in Range From Stream,并设置Min为-15,Random Rotation连入到Max中,并设置默认值为15.
把最后的旋转值输入到Make Rotator的Y轴中,因为我们设置只绕着Y轴旋转。
同理设置Random Scale的范围大小为0.8-2.2
然后再在之前Get Location at Distance Along Spline后面添加Make Transform节点,把设置好的rotation和scale值都连进去,最后把输出的值连入到Add Static Mesh Component的Relative Transform中,顺手勾选Manual Attachment,可以保证加载的mesh是在蓝图原点生成。
Compile并保存蓝图,然后在拖一个蓝图到场景中,点击前面的样线条点就可以拖动样线条。
拖动样线条的同时按住alt键可以生成弯曲连续样线。
在属性面板还可以调节之前我们设置的变量个mesh之间的中间距离Spacing,随机旋转值Random Rotation,随机大小Random Scale。
这种功能比较适合做一些和电线杆类似有规律摆放的物件。
来源:Thepoly公众号
上一篇 Unreal超级水体系统介绍
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答《黑神话:悟空》作为一款现象级中国游戏,其成功离不开多种先进计算机技术的支持。本文将深入解析该游戏背后的关键技术,包括虚幻引擎......
在游戏开发领域,Unity和Unreal Engine(虚幻引擎)都是备受推崇的游戏引擎,但它们各自拥有不同的特点和优势。
春节之后大量抢人!这6个行业是转行首选,进去1年顶3年!火星毕业就能进
春节后求职,哪些行业进去能立马涨薪?打破信息差很关键!
还没毕业,就去帮电视台拍活动,作品被主任说“非常好”!猜猜是哪个专业呀?
回想过去,电子游戏里的草其实并不是真正的草。开发者们只是简单地把草的纹理直接贴在游戏关卡的地板上
在火星的就业指导老师那里,经常收到同学们这样、那样的提问。其中有一些共性问题,就业老师会根据自己丰富的经验,为同学们给出合适的回答。