1. 为unity开发者准备的UE4
本章从一个unity用户的视角来了解UE4,并讲解如何将unity的开发经验应用到UE4的世界中。
1.1项目文件和文件
1.编辑器

unity和UE引擎对应数字区域是相同的,1是视图编辑区,unity有scene和game两个视图,UE只有一个,所以UE中没办法在运行时像unity那样在scene中用箭头图标来移动物体。2就是在场景中的物体,3就是资源存放目录,unity资源在Assets目录下,UE资源在Content目录下


4就是物体的属性面板,5是UE的系统自带物体,就跟unity中系统自带的Sphere\Cube之类的物体一样的。
2.资源素材
可以通过双击一个.uproject文件来打开UE编辑器并加载该项目,如上图中有蓝色图标的SC_YJFX文件。项目目录中包含不同的子目录,保存了游戏的资源内容和源代码,以及各种配置文件和二进制文件。最重要的就是Content子目录和Source子目录。
想要向游戏中导入素材,可以在Content目录下新建子目录,如Map、Model、Texture等,然后将素材文件复制到Content中对应的子目录中,或者直接拖动到子目录下。

3.支持的资源文件格式 
4.如何修改项目的设置
所有的项目设置都可以在主菜单的Edit->Project Setting中找到。能够对项目设定所需要的信息(比如项目的名称和图标),配置游戏输入的绑定,并定义运行项目时引擎的行为。可以在这里了解更多单独项目的设置,如"平台设置"。
5.源文件在哪
在unity中,开发人员习惯于将C#的源文件放在资源目录Assets中。
UE4工作机制有点不同。对那些拥有C++代码的项目,可以在项目目录中找到一个Source的子目录包含多种文件,包括C++源文件(.cpp)和头文件(.h),以及编辑链接的脚ben (Build.cs, Target.cs)。而只有蓝图的项目则不会有Source目录。
在UE4中使用C++最方便的做法是使用编辑器的菜单项AddCodeToProject(在主菜单的File菜单中)或应用某个模板来新建一个C++项目。可以在内容浏览器中直接看到C++类项目,通过双击他们便能直接在Visual Stidio或XCode中打开该文件。
1.2 从GameObjects到Actors
unity中的GameObject对应UE4中的Actor。在UE4编辑器中,可以从物体面板中直接拖一个空的Actor放置到场景中。UE4提供了各种特殊类型的Actor并预定了它们的特性,比如Pawn(用于作为玩家或AI的角色),或者Character(用于会做动作的生物)。和空的Actor一样,可以直接将它们拖动到场景中,并给它们添加组件,自定义属性。

UE4中的Actor和Unity中的GameObject有不同之处。在unity中,GameObject是C#的类并且无法直接扩展。在UE4中,Actor是C++类,可以很容易地被继承或扩展来自定义。在细节面板中点击添加组件按钮,就可以给物体添加各种组件。1是添加组件,2是添加蓝图脚本。

1.3 从unity的Prefab到UE4的蓝图类
unity的工作流程是基于预设(prefab)的,UE4则是基于蓝图类来协同工作的。大致可以理解为预设(prefab)等于蓝图(Blueprint)。
脚本组件和MonoBehaviour在哪里?
在unity中,物体有脚本组件,并可以添加C#脚本,可以创建MonoBehaviour子类并定义那个组件做什么,即自定义脚本。UE4中也可以自由创建全新的组件类并将它应用于任意Actor。组件类可以使用蓝图脚本创建,也可以使用C++创建。
在UE4中,也会有一个框架类,有一个InitializeComponent()函数和一个TickComponent()函数,它们和unity中的Start、Update具有类似的行为。如果创建一个蓝图脚本组件,则会有可视化节点来表示类似的函数,如下图:EventBeginPlay在脚本开始时执行一次,EventTick则每帧执行一次。


1.4 蓝图类的扩展性
在UE4中可以通过扩展已有的蓝图类来创建新的蓝图类,并定义新的属性、组件功能及可视化脚本功能。
更多推荐
所有评论(0)