来咱先看个简单的例子:
以上的例子是不是简单明了一看就懂呢?(并不……)
好吧没事以后就慢慢懂了,来我们一起动手做一遍吧……
实战部分:
注:学习本节你至少得知道引擎的界面吧……
再注:使用引擎自带模板 ThirdPerson 进行参考,人家蓝图里都写着呢……
再再注:推荐学习: 3小时速攻UE4
然后让我们打开上一节创建的工程,在对象浏览器中点击右键创建一个新的文件夹,起名为BluePrints,然后分别创建一个GameMode,一个PlayController和一个Character,记得规范命名哦,蓝图前面都带上BP前缀。
然后在设置中打开世界设置,在世界设置面板中指定新建好的GameMode,playcontroller和character。此时点击播放运行,如果设置正确的话会发现无法旋转视角和移动。在这里需要注意的一点是,可以为整个游戏设定同一个GameMode,也可以单独为一个场景设置GameMode,而且在发布程序的时候,需要在:编辑》项目设置》地图模式》中指定GameMode和开始时的场景。
OK,现在来进行输入控制吧,打开 编辑》项目设置》输入 ,点击Axis Mappings选项后的加号,创建输入映射,起名为Turn,选择对应输入为鼠标X,再创建一个映射,起名为LookUp,选择鼠标Y,并设置为-1。
关于此处映射,其实就是一个总体设定,方便以后的多输入支持,比如绑定鼠标输入和手柄输入之类的,如果不懂,可以看文档这里: 输入
双击建好的Character,在事件图表中框选默认的事件,按delete删除,然后右击输入trun,创建之前映射好的输入Trun事件,再拖拽出新节点,输入Add Controller Yaw Input,创建节点,并将输入事件的值拖拽连接到Input节点的值上,如法创建LookUp事件,并连接Add Controller Pitch Input节点,最后选中所有节点,按C创建注释面板,添加注释以便识别。这时候点击编译,再关闭面板,然后播放场景,就会发现鼠标可以控制视角改变了。
而关于Add Controller Yaw Input是什么鬼呢,再来看文档吧: Pawn Input
再次创建输入映射,创建一个MoveFrward和一个MoveRight,如图,注意值
然后来看输入的蓝图,首先通过 Get Control Rotation 获取到旋转的值,这个值是个Rotator三维向量,由于我们只需要Z轴方向的值,所以需要break解开,再Make组成一个新的Rotator值, Get forward Vector 获取到当前面向的正面方向,再通过Add Movement Input增加该方向的值,就完成了向前移动。
最后运行,就能自由移动和旋转视角了,记得把地形改大点哟,不然掉下去就得重来了。
角色的创建:
由于我们一开始创建的是Character模型,自带的mesh组件只能丢个特定的人形模型上去,于是我们再给他添加一个static mesh,然后随便丢个啥玩意上去,我扔了个圆锥……调整合适的大小,至少在包裹的碰撞盒内吧……意思意思一下就行。
运行一下,转动下视角,你会发现能看到有东西了,再回到character里,添加个 springArm ,然后将相机拖到下面,再勾选个使用pawn controller Rotation(此处很重要),如果你要玩第三人称,距离就远点,第一人称,就设成0,约莫就酱紫了……
好,最后闲得无聊的我给Character加了俩棒子,就当这就是手了……记得加到arm下,这样可以跟着视角旋转。
啊对了我们是不是忘记PlayController了?主要是写多了怕你们消化不良,所以咱就简单加个功能吧,比如……HelloWord?
来在输入中添加个动作映射,记得是Action Mappings,不是Axis哟,我比较习惯用F,其他的你看着办了,然后打开PlayController,拖出节点,连个print,再运行,按F,屏幕上就出现Hello了。
哈哈哈哈哈这篇文章是不是很简单很强大发现一看就会呢,其实就是天天加班没时间好好写而已啦(就是懒),好吧其实这个真的是基础中的基础没啥好讲的,下一篇的会比较多的实 *** ,做一些无聊的小功能啦,亲们可以先去看下蓝图的使用,作者估计就是一个动图,一个蓝图截图就讲一个模块啦,所以可以先预习下,就酱,诸君晚安……
ue4中ui主要通过控件来控制粒子特效的。
控件是一种提供简单功能的UI元素。比如,按钮控件提供了玩家可见可点击的物体。控件本身不一定是可视的。控件也可以嵌套控件。你甚至可以创建一个铺满屏幕的控件。了解完什么是控件,现在动手创建一个。
创建控件
Content Browser界面进入UI文件夹。点击Add New按钮,选择创建User Interface\Widget Blueprint,将其重名为WBP_HUD。
双击WBP_HUD打开UMG UI Designer。
UMG UI Designer
UMG UI Designer由七个主要元素组成:
Designer:这个区域展示所选控件的外观。通过长按右键移动鼠标拖动面板,滑动滚轮缩放面板。
Details:展示所选控件的参数
Palette:可用控件列表
Hierarchy:当前所使用的控件列表
Animations:控件能够基于位置,大小等外观参数制作动画效果。该面板展示控件的所有动画
Timeline:当你选中动画时,该面板会展示对应的动画参数和关键帧
Editor Mode:通过该按钮可以切换编辑器的Designer和Graph模式。Graph模式的编辑器显示类似于蓝图的Event Graph。
创建Text控件
Text控件非常适合展示像计数和倒计时这样的数字信息。
在Palette面板搜索Text控件。通过按住左键拖拽控件至Designer面板。
别在意文本内容,等等我们会替换它。
先选中Text控件,在Details面板顶部的文本框输入CounterText进行重命名。
你可以在Designer面板通过长按左键拖拽控件。
你也可以通过左键点击拖拉选中框来调整控件的大小。这样可以调整控件的包围框。Unreal引擎不会渲染包围框之外的内容。
同样的,你可以通过Details面板输入数值来修改控件的位置和大小。设置CounterText如下:
Position X: 200
Position Y: 50
Size X: 500
Size Y: 100
此时文本只占了包围框很小一部分显示。
我们可以在Detail面板的Appearance设置调大字体大小。在Font属性的最右侧文本框可以设置字体大小。
将字体大小调成68。
接着我们再在文本框旁添加一个图标来提升视觉效果。
官方文档:
https://docs.unrealengine.com/en-US/Engine/Rendering/PostProcessEffects/index.html
PostProcessEffect影响游戏最终的视觉效果。正确地使用它,能使游戏增色不少。
UE默认的渲染方式为延迟渲染(deffered rendering)。在deffered rendering中,G-Buffers扮演着重要的角色。我们可以在view port的view mode中选择buffer visualization模式,来查看各个g-buffer。这些g-buffer作为输入,经过光照计算等步骤后,输出最终的显示结果。
在post process material中,有一个关键节点 SceneTexture :
Post process effect对于渲染的顺序比较敏感。当渲染出现问题时,可以尝试改变后期处理效果的顺序来解决问题。比如常见的屏幕抖动,是由于temporary AA造成的,你应该把渲染提前到Before Tonemapping。
应用post process effect,你需要 post process volume 或者是带有 post process component 的actor。
这是虚幻商城中的一个post process资源包,包含大量效果(有些效果引擎也有内置),在这里列出,供以后查询。【开开眼,有如此多的屏幕特效!!!】
https://www.unrealengine.com/marketplace/en-US/slug/chameleon
当然,如果有需求,我们可以修改里面的material,或者重新写新的material。即使不在实际工程中使用,作为学习资料也是很有用的。
说到学习资料,自然不能漏了大名鼎鼎的shader toy。只是入坑需谨慎,一般人还真看不懂。
https://www.shadertoy.com/
作者搭建了demo场景,目前共有7个房间。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)