[译文][新手必读]Unreal Engine 4 C++入门教程(上)
原文|《Unreal Engine 4 C++ Tutorial》作者|Tommy Tran Feb 6 2018| 翻译 开发游戏的老王
阅读时长|25分钟 内容难度|入门
在本教程中,你将学会如何创建C++类并且对编辑器暴露变量和函数在Unreal Engine 4中用蓝图创建游戏逻辑(gameplay)是非常流行的方式。然而,如果你是位资深码农或者偏爱写代码,那么你应该用C++!使用C++的话你甚至还可以修改引擎或开发自己的插件!
在本教程中,我们将会学到:
创建C++类添加组件(component)并将它们暴露给蓝图基于C++类创建蓝图类添加变量并使它们在蓝图中可编辑将轴(axis)和事件(action)与函数绑定在蓝图中重写C++函数将重叠事件(overlap event)与函数绑定
注意,本文并非一个C++教程,而是针对在Unreal Engine环境中如何使用C++的教程。
开始吧
译者注: 本教程提供了范例工程,如果需要可以到原文网站免费注册并下载。如果你还没有安装Visual Studio,请按照Epic官网引导安装并设置Visual Studio。(尽管你可以使用其它的IDE,但本教程将会使用Visual Studio,因为Unreal Engine和它有良好的兼容性)
下载并解压范例工程。在项目文件夹内打开 CoinCollector.uproject。如果出现重新构建模块(rebuild modules)的提示,点击Yes。
完成之后,我们可以看到如下场景:
本教程中,我们将创建一个由玩家控制的球来收集金币。在先前的教程中,我们一直在蓝图里创建由玩家控制的角色。本教程中,我们用C++创建一个!
创建C++类
在内容浏览器(Content Browser)选择Add New\New C++ Class 来创建C++类。
这样C++类创建向导将被打开。首先,我们要选择它的基类。由于这个类需要被玩家控制,我们需要Pawn作为它的基类。选择Pawn点击Next。
在下一个界面,我们可以为.h 和 .cpp文件指定名字和路径。将Name改为BasePlayer 点击Create Class。
引擎会为我们创建文件并编译项目。编译之后,引擎会为我们打开Visual Studio。如果BasePlayer.cpp和BasePlayer.h没打开,请到Solution Explorer中Games\CoinCollector\Source\CoinCollector 目录下将它们打开。
如果我们把(模型)资源移动到其它文件夹,我们的蓝图不会崩溃,然而在C++中,我们必须修改每一处引用该资源的代码。
在蓝图中设置完网格和升降臂的旋转,我们将创建一个基于BasePlayer的蓝图类。
注意:常用的工作流程是在C++中创建基类(base class)然后创建蓝图子类(subclass)。这种方式便于诸如美工和策划等角色编辑类。创建子类
在引擎中,找到Blueprints文件夹,并创建蓝图类(Blueprint Class),展开All Classes 部分,并搜索 BasePlayer,选择 BasePlayer并点击选择。
将蓝图类更名为BP_Player 并打开。
首先,我们要设置网格模型。选择Mesh组件并将它的Static Mesh 设为SM_Sphere。
接下来,我们将设置升降臂的旋转和长度。我们的游戏是一个俯视角游戏,因此摄像机要在角色的上方。
选择SpringArm组件将Rotation设为(0, -50, 0)。这样旋转升降臂使摄像机自顶向下朝向网格。
由于升降臂使网格的子组件,当球旋转时它也会旋转。
我们要将升降臂的旋转设为absolute以修复这个问题。点击Rotation旁的箭头,并选择World。
然后将Target Arm Length设为1000。这样摄像机将会被放置于距网格1000个单位远的位置。
接下来,我们将把默认的Pawn类设为我们的Pawn。点击编译,然后回到编辑器。打开World Settings 并将Default Pawn 设为BP_Player 。
点击Play,来看看我们游戏中的Pawn。
接下来是添加让角色移动的函数。
下半部分请见
页:
[1]