unreal BluePrint | 做个ball
UE4技术虚幻引擎Thepoly 14280 1
实名

通过了实名认证的内容创造者

发布于 2022-3-26 15:03:15

您需要 登录 才可以下载或查看,没有账号?注册

x
            
640.jpg

174551k9r66ex7z719e99h.jpg

Hello . 大家好
今天开始分享unreal blueprint的部分
我是木偶心没


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


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


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





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


1创建空白项目   

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



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





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





2
导入fbx   

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





3制作金属材质球   

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

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





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


4添加物理效果  

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

首先加一个collision

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





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





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





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





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


5blueprint创建  

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

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

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





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





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





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






这时候我们的不一般的金属ball已经被加载进来了,现在就可以在这个bp里面对其添加任何操作了
同样勾选属性Simulate Physics,保存以后直接把这个bp拉到场景中,然后play就可以得到与我们之前一样的下落反弹效果。(左边是bp)





6Event Graph

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

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





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

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





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





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





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





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





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





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





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





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


End -

喜欢Thepoly的可以通过三种方式与我们建立联系。分别是公众号、微信群以及QQ群。公众号是我们最为官方的窗口,更多内容都必须关注公众号后才能获取。另外现已开通微博:         

本帖被以下画板推荐:

还没有设置签名!您可以在此展示你的链接,或者个人主页!
使用道具 <
Teny  发表于 2022-3-26 18:43:05  
2#
谢谢楼主分享!!!
回复 收起回复
使用道具
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表