Hello . 大家好,今天开始分享unreal blueprint的部分,我是木偶心没。先来分享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里面进行制作。
5、blueprint创建
右键新建一个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)
6、Event 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轴负方向飞出去,但是过程中又会受重力影响,所以有一个抛物线运动。
今天的入门内容暂时完结,蟹蟹围观!
来源:Thepoly公众号
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答023年以来,在版号审批、出海政策等影响下,新品游戏大量涌现,这也为游戏市场带来了一些新变量、新现象。
学习游戏开发班可以帮助游戏爱好者从零基础成为游戏开发专家,掌握全面的游戏开发技能。
火星时代教育为您提供专业的界面设计实战班,在实践中掌握界面设计的核心技巧和最新趋势,成为优秀的UI设计师。
了解UI交互设计培训的最佳选择,比较不同培训机构的优势和特点。
火星时代教育为您推荐专业的学影视后期培训机构,提供高质量的培训内容及资深导师指导,助您成为优秀的影视后期剪辑师或合成师。
火星时代教育是一家专注于交互设计培训的机构,为学员提供专业的交互设计培训课程,并帮助他们成为优秀的交互设计师。
1. 打开微信扫一扫,扫描左侧二维码
2. 添加老师微信,马上领取免费课程资源
同学您好!