美文网首页
2 - 实现角色

2 - 实现角色

作者: 来不及上车了快解释 | 来源:发表于2017-01-16 08:36 被阅读0次


    先决条件页面

    在阅读本页面前应对以下页面有所了解,如尚不了解,则请先浏览以下页面。

    1 - 设置项目

    上图是该部分完成后的效果。

    目标

    此部分旨在说明如何实现第一人称射击游戏中的角色。

    目的

    完成此部分教程后您将学会:

    制作新角色

    设置轴映射

    实现角色移动函数

    实现鼠标摄像机控制

    实现角色跳跃

    为角色添加模型

    更改摄像机视图

    为角色添加第一人称模型




    2.1 - 制作新角色

    在此步中,我们将使用引擎的 Character 基类制作一个新角色。Character 类(派生自 Pawn 类)内置有双足移动功能,如行走、奔跑、跳跃。:


    添加 Character 类

    可手动添加 *.h 和 *.cpp 文件到 Visual Studio 解决方案,较好的做法是使用 C++ 类向导将新类添加到项目。使用 C++ 类向导后,引擎将创建头和源模板,用于设置虚幻引擎专属的宏。

    1.在 File 菜单中,选择 New C++ Class... 选择新的父类。

    2.Choose Parent Class 菜单将打开。向下滚动,将 Character 选为父类并点击 Next。

    3.将新建的类命名为“FPSCharacter”,然后点击 Create。

    创建 FPSCharacter 类后,即可切换到 Visual Studio,为新建的类添加代码。FPSCharacter.h 和 FPSCharacter.cpp 将打开,虚幻引擎将自动编译并加载新类的代码。




    创建角色类

    1.在 Solution Explorer 中展开 FPSProject > Source > FPSProject。

    2.双击 FPSCharacter.cpp 打开 FPSCharacter 类的实现文件。

    3.在 BeginPlay() 函数中添加以下代码行,验证使用的是 FPSCharacter 类。

    if (GEngine)

    {

    // 显示调试信息五秒。-1“键”值(首个参数)说明我们无需更新或刷新此消息。

    GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Red, TEXT("We are using FPSCharacter."));

    }

    4.FPSCharacter.cpp 应与以下代码相似:

    // 在 Project Settings 的 Description 页面填入版权声明。

    #include "FPSProject.h"

    #include "FPSCharacter.h"

    // 设置默认值

    AFPSCharacter::AFPSCharacter()

    {

    // 设置此角色每帧调用 Tick()。不需要时可将此关闭,以提高性能。

    PrimaryActorTick.bCanEverTick = true;

    }

    // 游戏开始时或生成时调用

    void AFPSCharacter::BeginPlay()

    {

    Super::BeginPlay();

    if (GEngine)

    {

    // 显示调试信息五秒。-1“键”值(首个参数)说明我们无需更新或刷新此消息。

    GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Red, TEXT("We are using FPSCharacter."));

    }

    }

    // 每帧调用

    void AFPSCharacter::Tick( float DeltaTime )

    {

    Super::Tick( DeltaTime );

    }

    // 调用后将功能绑定到输入

    void AFPSCharacter::SetupPlayerInputComponent(class UInputComponent* InputComponent)

    {

    Super::SetupPlayerInputComponent(InputComponent);

    }

    5.在 Visual Studio 中保存 FPSCharacter CPP 文件。

    6.在 Solution Explorer 中找到 FPSProject。

    7.迄今为止,您便已使用编辑器的 Build 按钮编译项目。在这步中,您将使用 Visual Studio 的构建功能编译代码。编译代码的方法:在 Visual Studio 中右键单击 FPSProject,选择 Build 编译项目。

    8.构建完成后,打开虚幻编辑器验证新编译的 FPSCharacter 类在 Content Browser 中可见。




    将 CPP FPS Character 类扩展为蓝图

    现在即可将 CPP FPS Character 类扩展为蓝图。在 C++和蓝图 参考页面中可了解 C++ 类扩展为蓝图的更多内容。

    1.右键单击 FPSCharacter 类打开 C++ Class Actions 菜单。

    2.点击 Create Blueprint class based on FPSCharacter 打开 Add Blueprint Class 对话菜单。

    3.将新蓝图类命名为“BP_FPSCharacter”,选择蓝图文件夹,然后点击 Create Blueprint Class 按钮。

    4.现在 Blueprints 文件夹中便拥有了一个新建的 BP_FPSCharacter 蓝图类。

    5.关闭蓝图编辑器之前须保存 BP_FPSCharacter 蓝图。


    设置默认 Pawn 类

    将新建游戏模式成功扩展为蓝图后,此步骤中我们需要设置项目将 BP_FPSCharacter 用作默认 Pawn。

    1.在 Edit 菜单中点击 Project Settings。

    2.在 Project Settings 标签左侧的 Project 标题下点击 Maps & Modes。

    3.在 Default Pawn 下拉菜单中选择 BP_FPSCharacter。

    4.关闭 Project Settings 菜单。

    5.点击关卡编辑器工具栏中的 Play 按钮。“We are using FPSCharacter.”将以红色文本在视口左上角的“Hello World, this is FPSGameMode!”下方显示五秒。

    如您无法移动,即意味着 FPSCharacter 已正确用作 Pawn!新建角色尚未包含移动功能键,因此无法在关卡中移动。

    6.按下 Esc 键或点击关卡编辑器中的 Stop 按钮退出 Play in Editor(PIE)模式,然后前往下一步。

    相关文章

      网友评论

          本文标题:2 - 实现角色

          本文链接:https://www.haomeiwen.com/subject/xqmybttx.html