虚幻5|C++第三人称射击(1)添加摄像机
一.在C++类创建一个一个角色类蓝图,命名为BasePlayer
1.得到cpp和h文件
2.打开BasePlayer.h,定义摄像机内容
编译以下代码,定义摄像机和摄像机组件
private:
//定义摄像机
UPROPERTY(VisibleAnywhere,BlueprintReadOnly,Category="PlayerCamera",meta=(AllowPrivateAccess="true"))
//宏定义,可视的,蓝图只读,分类玩家摄像机。在私有里使用BlueprintReadOnly可能会报错,需要强制要求私人属性是被允许访问的要加meta
class USpringArmComponent* PlayerSpringArm;
//以上部分就有了摄像机
//定义摄像机组件
UPROPERTY(VisibleAnywhere, BlueprintReadOnly,Category = "PlayerCamera", meta = (AllowPrivateAccess = "true"))
class UCameraComponent* PlayerCamera;
3.打开BasePlayer.cpp
编译以下代码
先引用.h头文件
#include "Camera/CameraComponent.h"
#include "GameFramework/SpringArmComponent.h"
找到构造函数的位置编辑
//摄像机
PlayerSpringArm = CreateDefaultSubobject<USpringArmComponent>("PlayerSpringArm");//弹簧臂组件
PlayerSpringArm->SetupAttachment(RootComponent);//附加到根组件
PlayerSpringArm->TargetArmLength = 300.f;//弹簧臂的长度
PlayerSpringArm->bUsePawnControlRotation = true;//pawn角色控制旋转
PlayerCamera = CreateDefaultSubobject<UCameraComponent>("PlayerCamera");//摄像机组件
PlayerCamera->SetupAttachment(PlayerSpringArm);//附加到弹簧臂组件
PlayerSpringArm->bUsePawnControlRotation = false;//pawn角色不能控制旋转
以上编译好后,打开虚幻,右下角同步代码
如果编译后错误,很可能说明代码错了
编译完成后
创建其蓝图类
得到如下蓝图,命名BP_
再创建游戏模式的一个C++的蓝图类