当前位置: 首页 > article >正文

虚幻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++的蓝图类


http://www.kler.cn/a/293742.html

相关文章:

  • hadoop大数据平台
  • Systemd: disable和mask的区别
  • Vim9 语法高亮syntax 在指定的缓冲区和窗口执行命令
  • Linux手动安装nginx
  • 【贪心算法】——力扣763. 划分字母区间
  • Qt 编写插件plugin,支持接口定义信号
  • 球球大作战
  • ELK学习笔记(二)——使用K8S部署Kibana8.15.0
  • 辨别高防服务器
  • python tkinter 文本类组件
  • python 下载excel 添加水印
  • [240907] Python 标准库中鲜为人知的宝藏 | Node.js 22.8.0 发布:编译缓存 API、覆盖率阈值等新特性
  • mysql连接oceanbase数据库集群+租户
  • 企业微信群管理:构建高效沟通与协作的社群生态
  • Node.js 入门:中间件与安全性深度解析
  • LeetCode 算法:单词拆分 c++
  • 栈和队列的数据结构
  • ASP.NET Core 入门教学八 集成RocketMQ消息队列
  • json字符串CSS格式化
  • 【python因果推断库12】工具变量回归与使用 pymc 验证工具变量5
  • DDoS对策是什么?详细解说DDoS攻击难以防御的理由和对策方法
  • Docker进入容器并运行命令
  • 【学习笔记】SSL证书安全机制之证书撤销
  • Docker 安装 MySQL 8.0 并支持远程访问
  • jmeter之循环控制器使用
  • 校园圈子论坛小程序如何搭建?校园多功能系统源码实现