UE4第一个玩家控制器

御坂美琴丶 发表于    2018年05月02日 17:06
3566
2
13


大家好 !  我是九妹 !  最近有很多人问我关于蓝图方面的问题!这里简单的给大家介绍一个简单的蓝图吧!首先在对象浏览器中点击右键创建一个新的文件夹,起名为BluePrints!

blob.png


然后分别创建一个GameMode,一个PlayController和一个Character,记得规范命名哦,蓝图前面都带上BP前缀!

blob.png


然后在设置中打开世界设置,在世界设置面板中指定新建好的GameMode,playcontroller和character。此时点击播放运行,如果设置正确的话会发现无法旋转视角和移动。在这里需要注意的一点是,可以为整个游戏设定同一个GameMode,也可以单独为一个场景设置GameMode,而且在发布程序的时候,需要在:编辑》项目设置》地图模式》中指定GameMode和开始时的场景

blob.png


OK,现在来进行输入控制吧,打开 编辑》项目设置》输入 ,点击Axis Mappings选项后的加号,创建输入映射,起名为Turn,选择对应输入为鼠标X,再创建一个映射,起名为LookUp,选择鼠标Y,并设置为-1。关于此处映射,其实就是一个总体设定,方便以后的多输入支持,比如绑定鼠标输入和手柄输入之类的!

blob.png


双击建好的Character,在事件图表中框选默认的事件,按delete删除,然后右击输入trun,创建之前映射好的输入Trun事件,再拖拽出新节点,输入Add Controller Yaw Input,创建节点,并将输入事件的值拖拽连接到Input节点的值上,如法创建LookUp事件,并连接Add Controller Pitch Input节点,最后选中所有节点,按C创建注释面板,添加注释以便识别。这时候点击编译,再关闭面板,然后播放场景,就会发现鼠标可以控制视角改变了!

blob.png


再次创建输入映射,创建一个MoveFrward和一个MoveRight,如图,注意值

blob.png


然后来看输入的蓝图,首先通过 Get Control Rotation 获取到旋转的值,这个值是个Rotator三维向量,由于我们只需要Z轴方向的值,所以需要break解开,再Make组成一个新的Rotator值,Get forward Vector 获取到当前面向的正面方向,再通过Add Movement Input增加该方向的值,就完成了向前移动!

blob.png

最后运行,就能自由移动和旋转视角了,记得把地形改大点哟,不然掉下去就得重来了。    



(未完待续~   后续补充!)


发表于    2018年05月02日 17:06
关于作者
御坂美琴丶
回答
0
文章
0
粉丝
110
URL已复制到剪贴板!