• UE4添加人物模型

    在正式使用 UE4 添加人物模型之前,我们先来解释几个概念。

    什么是组件

    在添加人物模型之前先介绍一个概念叫“组件”,组件是什么呢?组件的作用是为了让 Actor 实现一个功能,比如说:我们现在的角色,没有模型,我们需要一个模型那怎么办呢?那么我就要在 Character 身上挂一个“骨骼模型组件”,比如说我想要我的摄像机远离我的人物实现一个上帝视角那要怎么做呢?那么我们可以在Character的身上挂一个摄像机组件。

    什么是 Actor

    Actor 是 UE4 里面的 “可放置物品”,我们在 UE4 游戏窗口中所看到的场景、灯光、角色、模型,它们的父类都是 Actor。

    什么是Character

    Character 是 Actor 的一个子类,Character 封装了 移动组件 ,让 Character 类有了移动的功能。

    添加人物模型

    通过上面的介绍,我们已经知道需要通过添加组件来添加人物模型。那么我们要如何在 C++ 里面添加组件呢?

    1) 首先打开 VS 编辑器,在 APlayingCharacter.h 文件尾部下入以下代码:

    //这个是骨骼模型组件
    USkeletalMeshComponent* MeshComponent = nullptr;
    //这个是骨骼模型
    USkeletalMesh* SkeletalMesh = nullptr;

    上面就是声明组件的格式。USkeletalMeshComponent 是组件的类型,贴心的 UE4 其实已经在父类帮我们创建好了 USkeletalMeshComponent,我这里只是演示如何添加一个组件。删掉USkeletalMeshComponent* MeshComponent = nullptr,我们来到构造函数去注册我们的骨骼模型 USkeletalMesh。

    2) 首先我们把构造函数里面的PrimaryActorTick.bCanEverTick = true;删掉,然后把virtual void Tick(float DeltaTime) override函数删掉,这个是开启帧事件和实现帧事件的函数,这个帧事件非常损耗性能,因为它是每帧执行一次的,我们不需要。

    然后我们输入以下代码:

    APlayingCharacter::APlayingCharacter()
    {
        //注册组件
        SkeletalMesh = CreateDefaultSubobject<USkeletalMesh>(TEXT("SkeletalMesh"));
    }

    这里我注册了一个骨骼模型。注意,SkeletalMesh 是骨骼模型,不是骨骼模型组件,但是它还是一个组件,我们需要把这个骨骼模型添加到骨骼模型组件里面去,它们是配套的。

    注意:CreateDefaultSubobject 只能用在构造函数里面,在构造函数其他地方使用的话会崩溃。

    3) 下载资源,资源地址:https://pan.baidu.com/s/1ymF9V1yEPEb_Kow4Qx-jcA

    我先下载这两个资源,这两个资源是人物的模型资源,下载好了之后我们把这两个文件夹复制到你的 UE4 保管库目录,保管库目录可以在 UE4 的启动器里面查看。

更多...

加载中...