UE教程

用心搭建好场景

ue4教学blueprint案例教程之金属球作用效果一

首先介绍什么是blueprint蓝图,就是虚幻引擎的可视化脚本的方法。像unity这种需要代码来完成的效果,在unreal里面可以直接用节点和连接组成的图形来创建。所以,蓝图是c++函数或者类的一些封装,更方便一些美术工作者进行操作。

所以接下来我们就通过一个小案例来初步介绍一下unreal的blueprint(BP)

如下是一个被加在蓝图中的金属小球的作用效果

Unreal的blueprint案例教程之金属球作用效果一

现在就打开unreal,开始第一个bp制作.

1、创建空白项目   

首先打开unreal,然后选择新建一个blank项目,并且选择No Starter Content,表示在创建的项目中不会有默认的贴图材质球等

Unreal的blueprint案例教程之金属球作用效果一

创建好项目以后打开文件在Content Browser窗口中打开资源文件的窗口

Unreal的blueprint案例教程之金属球作用效果一

如果没有Content Browser,可以在工具栏的Windows里面调用出来

Unreal的blueprint案例教程之金属球作用效果一

2、导入fbx   

用maya或者max做一个球体,然后保存fbx导入unreal。导入的时候,不要勾选collision,也不要勾选材质球和贴图,Normal的导入模式为Import Normals and Tangents

Unreal的blueprint案例教程之金属球作用效果一

3、制作金属材质球   

右键创建material,命名为MAT_metal,双击打开材质球。

对于金属来说,首先metallic的值是1.所以用快捷键1加鼠标左键就可以新建一个一维数值,改变值为1然后输入到metallic中。同样还是键盘的1加左键给roughness输入一个0.25的值。对于basecolor,用V加鼠标左键,添加一个颜色值,命名为colour,然后调节颜色到一个金属的灰度值以后输入到basecolor中。然后点击保存就可以在小窗口里面预览到我们的材质效果。

Unreal的blueprint案例教程之金属球作用效果一

创建完成以后把材质赋给刚才导入引擎的那个ball,然后我们就可以看到这个ball已经不是一个普通的ball了,是拥有了我们金属材质的一个ball了。

4、添加物理效果  

如果要让这个不一般的ball拥有下落并且弹出去的效果,就需要给这个ball加物理效果了。

首先加一个collision

因为当时我们导入ball的时候是没有加碰撞的,所以需要现场生成一个collision。双击ball,打开ball,Collision->AddSphere Simplified Collision

Unreal的blueprint案例教程之金属球作用效果一

预览里面显示的高亮线就是这个ball的collision。

Unreal的blueprint案例教程之金属球作用效果一

切换到场景中选中ball,属性面板中勾选Simulate Physics(回放可以发现在没有collision的时候这个选项是灰色不可勾选状态)

Unreal的blueprint案例教程之金属球作用效果一

勾选完成以后,点击paly,就可以看到ball已经开始有下落并且微弹的效果了

Unreal的blueprint案例教程之金属球作用效果一

但是如果我们要来控制这个ball的其他运动属性,比如说方向大小,就需要在blueprint里面进行制作。

5、blueprint创建  

右键新建一个blueprint class,选择Actor模式,给名BP_ball

这样,我们就可以把这个call的所有逻辑都加在这个blueprint里面

双击这个bp,我们可以看到里面view窗口中有一个ball,但是这不是我们加进来的那个ball,那是一个默认的无法选中的ball,只是一个DefaultSceneRoot。也就是如果把这个蓝图拉到场景中,然后play,你并不会看到任何东西,因为现在为止他还是一个空bp。(注意play完了以后一定要点stop结束掉预览)

Unreal的blueprint案例教程之金属球作用效果一

现在我们来替换掉这个bp里面的default ball,点击components面板里面的+Add Component,然后选择static mesh加入一个静态网格,给名ball。

Unreal的blueprint案例教程之金属球作用效果一

但是现在的Viewport窗口里面还是有默认ball,所以我们需要在component里面把ball拖到DefaultSceneRoot里面去覆盖掉,就可以看到场景里面没有任何ball了,空空如也

Unreal的blueprint案例教程之金属球作用效果一

选中这个ball,然后再右侧属性版面里面加载我们外面的mesh

Unreal的blueprint案例教程之金属球作用效果一

这时候我们的不一般的金属ball已经被加载进来了,现在就可以在这个bp里面对其添加任何操作了

同样勾选属性Simulate Physics,保存以后直接把这个bp拉到场景中,然后play就可以得到与我们之前一样的下落反弹效果。(左边是bp)

Unreal的blueprint案例教程之金属球作用效果一

6、Event Graph 

双击打开后的blueprint里面有Construction Script和Event Graph两个可以添加节点的地方,在都可以添加功能的前提下,他们有什么区别呢?

Construction script里面添加的功能,在bp拉到场景里面就可以运行;而event graph里面的需要play以后或者触发了以后才会有效果。

Unreal的blueprint案例教程之金属球作用效果一

所以我们现在的操作应该是在Event Graph里面的。

首先右键给增加一个Add impulse节点,表示给ball增加一个冲量。

Unreal的blueprint案例教程之金属球作用效果一

默认的target会有一个输入点ball因为我们给这个bp添加的作用actor就是这个ball。把一个任何数值输入到这个add impulse中,然后调节方向,就可以让ball向某个地方运动。比如我们现在在左边my Blueprint里面添加一个变量Variables,命名为default speed。

Unreal的blueprint案例教程之金属球作用效果一

选中创建好的变量,右边属性面板里面调节变量的类型为vector,表示他是一个带方向的向量。

Unreal的blueprint案例教程之金属球作用效果一

然后点击compile,编译一下整个bp,就可以看到default speed已经有可以控制的默认参数,调节y轴值为-2000,这样就可以沿着y轴负方向运动。

Unreal的blueprint案例教程之金属球作用效果一

鼠标左键拖动我们的变量到event graph中,松开选择get,表示获取变量值

Unreal的blueprint案例教程之金属球作用效果一

将event tick(表示什么事件开始的时间,每一帧都会触发eventtick)的delta seconds(当前帧花费的时间)和我们拖入进去的default speed相乘。由于时间类型是float型,所以选择vector乘以float

Unreal的blueprint案例教程之金属球作用效果一

接着讲相乘的结果连接到add impulse的impulse属性中,event tick触发事件连入到add impulse上。并且勾选vel change,可避免一些力波动影响。

Unreal的blueprint案例教程之金属球作用效果一

然后点击compile和save,回到场景里面,点击play重新运行进入游戏,就能够实现出我们在开头看到的小球效果,从y轴负方向飞出去,但是过程中又会受重力影响,所以有一个抛物线运动。

Unreal的blueprint案例教程之金属球作用效果一

今天的入门内容暂时完结,蟹蟹围观!