1、actor,pown,character
Actor类是可以放到游戏场景中的游戏对象的基本类型。你如果想放置任何东西到游戏场景中,必须继承Actor类。
Pawn类是一个代表你或者代表电脑的人工智能的游戏对象,它是可以在屏幕上控制的游戏对象。Pawn类是从Actor类中基础的,它可以通过玩家的设备(键盘、鼠标等)控制或者被人工智能脚本控制。如果它是被玩家控制的,我们通常称之为controller(控制器);如果它是被人工智能脚本控制的,我们通常称之为AI(Artificial Intelligence,人工智能),如果你经常玩游戏,那些NPC(Non-player Characters,非玩家角色)就通常具有AI行为。
character即角色,是一种特殊类型的 Pawn,用于双足类型的角色,并具备一些复杂的功能。
2、新建角色
在内容浏览器,右击,新建蓝图类,在弹出菜单中选择角色,名称为moveman
在左边窗口,下部分的细节栏中,可以看到胶囊体组件,网络体,角色移动(非可视化的对象,用于)
进入主窗口,大纲视图中,新建前面的虚拟相机或电影摄像机Actor(CineCameraActor),并将其拖入到moveman下,以便后面联动。
然后是文件,保存所有
3、定义角色的移动
蓝图类对象创建后,就是控制它
项目设置--引擎--输入,右边的轴映射,点击+号,输入moveforward,键盘定义W=1,S=-1,即前后移动;数字越大幅度越大,可以设为小一点或0.1。
点击+号,再输入moveright,键盘定义A=1,D=-1,即左右移动
点击+号,再输入moveup,键盘定义Q=1,E=-1,即上下移动
4、定义角色事件
在内容浏览器中,双击moveman,打开事件图表
A: 右击,在弹窗中输入"输入轴moveforward”,选择第一个,其箭头指向B的箭头,axis value指向B的Scale value;
B: 再右击,在弹窗中输入”添加移动输入“,选择第一个
C: 再右击,在弹窗中输入”获取控制旋转“,选择第一个;其return value指向D的in rot
D: 再右击,在弹窗中输入”获取向前向量“,选择第一个;其return value指向B的world Direction
A2: 右击,在弹窗中输入"输入轴moveright”,选择第一个;
B2: 复制B
C2: 复制C
D2: 再右击,在弹窗中输入”获取向右向量“,选择第一个;
A3: 右击,在弹窗中输入"输入轴moveup”,选择第一个;
B3: 复制B
C3: 复制C
D3: 再右击,在弹窗中输入”获取向上向量“,选择第一个;
然后是编译;
5、测试效果
回到主界面,将moveman拖向舞台
然后运行
6、解决几个问题
如果出现左右各一个手柄,在项目设置--输入,右边移动平台,默认触控界面,选择清除即可。
移动键盘W\S\A\D\Q\E,如果出现移动某个或整个舞台,则退出来
右边的细节--通用--pawn,自动控制玩家,选择玩家0;
如果没有上下移动,进入蓝图类--组件--角色移动--右边细节--角色移动(通用)--默认陆地运动等式--选择行走为正在飞行;
如果上下缓冲较大,改“制动摩擦因子”为100,数越大则空气阻力越大。
如果模型有干扰,大纲选择moveman,找到细节--渲染--mesh,取消勾选可视。
7、引入虚拟相机
步骤详上一节内容
运行
发现虚拟相机可以与实体相机同步;角色也可以通过键盘自由移动,但二者没联系起来。
8、将虚拟相机绑定角色
进入蓝图类--左边我的蓝图--变量--新增cam,对象类型=Vcama Actor;
将cam拖入蓝图,选择获取cama,引脚指向“获取Actor向前向量”,其引脚指向B的world Direction,则之前指向world Direction的引脚自动断开。
同理,将cam拖入蓝图,选择获取cama,引脚指向“获取Actor向右向量”,其引脚指向B2的world Direction,则之前自动断开。
进入蓝图类,将变量cam的眼睛处点一下,让其打开;
进入主窗口,大纲视图中,将VcamaActor拖入到moveman下,选择moveman,然后在细节下默认的cam,选择VcamActor,才进行了真正的绑定。如果没有找到,重启一下ue窗口。
十五、角色控制与虚拟相机绑定
于 2023-05-30 16:51:32 首次发布