首先先熟悉几个UE4常用的类
AGameMode(控制整个项目的逻辑)
The GameMode defines the game being played. It governs thegame rules, scoring, what actors are allowed to exist in this game type, andwho may enter the game.
GameMode定义了游戏开始运行,它决定了游戏的规则,得分,允许谁退出这个游戏,或加入这个游戏等。
同时,GameMode决定了DefaultPawnClass(控制器),HUDClass(界面),PlayerControllerClass(暂未自定义),GameStateClass(暂未自定义),都可以自己设置,UE4也自带默认设置
APawn控制器
ACharacter人形控制器(继承自APawn,常用)
控制器,处理一下主角的输入,动画及状态之类的
AActor物体类,场景中的物体几乎都继承自这个类
然后开始创建自己的第一个UE4项目
1、创建一个C++的空项目,什么资源都不带。
2、在UE4中C++ Classes文件夹下,有一个自动生成的GameMode,名字默认则为自己创建的工程名称,我这里为MyNULLProject。
3、点击工具栏Settings/World Settings,选择GameMode,为自己工程中的GameMode。
4、创建自己的控制器,也就是项目中的主角,继承自上面的APawn或者ACharacter,建议是用使用蓝图创建,可以重复使用,并且方便管理,如果自己的控制器有一些特殊的功能,也可以先创建一个C++,再用蓝图继承创建自己写的控制器类。
5、开始设置GameMode的参数,在Vs中打开GameMode的那个类,首先,创建一个自己的构造函数,在构造函数中去设置参数。
#include "MyNULLProject.h"
#include "MyNULLProjectGameMode.h"
//#include "FirstCharacter.h"
AMyNULLProjectGameMode::AMyNULLProjectGameMode()
{
//通过路径找到蓝图,并将蓝图控制器的类设置给DefaultPawnClass
static ConstructorHelpers::FClassFinder<APawn> PlayerPawnClassFinder(TEXT("/Game/BluePrint/perBlueprint"));
DefaultPawnClass = PlayerPawnClassFinder.Class; //如果用C++创建,则直接将控制器的类赋值给DefaultPawnClass
//DefaultPawnClass = AFirstCharacter::StaticClass();
}
6、回到UE4中,点击工具栏的Compile进行编译,看看WorldSettings下的GameMode的DefaultPawnClass参数,是不是变成了自己的创建的控制器。
7、点击运行,对于角色的控制,可以在蓝图中设置,具体的蓝图操作,请参考其他资料。