首先,需要在UE4中设置自己需要输入的按键,点击工具栏的Settings/ProjectSettings,找到input,在Bindings下添加自己需要的输入按键,我这里绑定了JumpBtn、MoveForward、MoveRight、Turn、LookUp

[UE4]创建自己的角色

输入设置完毕后,就开始创建自己的主角控制器

一、使用蓝图创建主角

1.在UE4文件夹中,右键创建一个Blueprint Class,选择继承Character(人形控制器),创建后自己命名FirstHero

2.双击打开蓝图,可以给FirstHero添加一个摄像机组件,点击AddComponent,找到Camera

3.开始可以给FirstHero添加控制事件了,打开Event Graph,分别找到最开始设置输入的五个事件,并对应相应的操作,JumpBtn调用Jump跳跃和StopJumping,MoveForward调用AddMoveMentInput前后移动,MoveRight调用AddMoveMentInput左右移动,Turn调用AddControllerYawInput左右旋转,LookUp调用AddControllerPitchInput上下查看
[UE4]创建自己的角色

4.还需要一个小小的设置,不然摄像机是不会跟着控制器旋转的,选择摄像机组件,找到CameraSettings/UsePawnControlRotation,选中即可

5.编译,设置好GameMode的DefaultPawnClass,就可以运行了。

 

二、使用C++创建主角

1.在UE4中创建一个C++ Class,选择继承Character(人形控制器),创建后自己命名FirstHero

2.在VS中,进行编辑

#pragma once
 
#include "GameFramework/Character.h"
#include "FristHero.generated.h"
 
UCLASS()
class MYNULLPROJECT_API AFristHero : public ACharacter
{
    GENERATED_BODY()
    class UCameraComponent* FirstCameraCompent;
public:
    // Sets default values for this character's properties
    AFristHero();
 
    // Called when the game starts or when spawned
    virtual void BeginPlay() override;
    
    // Called every frame
    virtual void Tick( float DeltaSeconds ) override;
 
    // Called to bind functionality to input
    virtual void SetupPlayerInputComponent(class UInputComponent* InputComponent) override;
 
    //前后移动
    void MoveForward(float value);
    //左右移动
    void MoveRight(float value);
    //跳跃
    void Jump();
    //停止跳跃
    void StopJump();
};
View Code

相关文章: