前排看文档啦,看懂了就不用看下面这些废话啦:https://docs.unrealengine.com/latest/CHN/Gameplay/Framework/index.html
来咱先看个简单的例子:
以上的例子是不是简单明了一看就懂呢?(并不……)
好吧没事以后就慢慢懂了,来我们一起动手做一遍吧……
实战部分:
注:学习本节你至少得知道引擎的界面吧……
再注:使用引擎自带模板 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了。
哈哈哈哈哈这篇文章是不是很简单很强大发现一看就会呢,其实就是天天加班没时间好好写而已啦(就是懒),好吧其实这个真的是基础中的基础没啥好讲的,下一篇的会比较多的实操,做一些无聊的小功能啦,亲们可以先去看下蓝图的使用,作者估计就是一个动图,一个蓝图截图就讲一个模块啦,所以可以先预习下,就酱,诸君晚安……