// 日志输出:临时日志,警告级别,文字,%s,替换,加 * 表示取得数据
UE_LOG(LogTemp, Warning, TEXT("Hello %s am in OpenDoor! "), *Owner->GetName());
// GetName() 取得是ID名称
输出日志 窗口:
窗口---开发者工具---输出日志
// 日志输出:临时日志,警告级别,文字,%s,替换,加 * 表示取得数据
UE_LOG(LogTemp, Warning, TEXT("Hello %s am in OpenDoor! "), *Owner->GetName());
// GetName() 取得是ID名称
输出日志 窗口:
窗口---开发者工具---输出日志
一、安装UnrealEngine4游戏研发软件
二、使用Unreal提供的Vs编译插件在VisualStudio中进行安装
三、在VisualStudio中配置UnrealEngine开发环境
四、启动UnrealLauncher 下载UnrealEngine对应版本的编辑器
五、安装完毕对应的编辑器版本后,创建第一个虚幻C++项目进行玩耍
六、开始走上UnrealEngine4的研发之路
七、初步认识UnrealEngine
{
(1)界面布局
{
1.世界大纲视图->场景内所有物件的显示面板
2.细节->场景内某一个物体身上的一些组件以及相关的属性信息
3.内容浏览器->项目所有工程资源内容
4.输出日志->log信息
5.工具栏->场景设置以及一些执行游戏相关的工具栏
6.关卡视图->当前打开的游戏地图视图
}
(2)知识点
{
1.在UnrealEngine中,一个地图等同于一个游0戏场景[关卡]
2.编程的 方式有两种
{
2.1蓝图[BluePaint]{适合美术以及策划制作游戏原型的开发}
2.2C++编程[CPlusplsu Program]{适合有基础的编程人员进行游戏原型的开发}
}
3.游戏中的游戏对象(物体)[Actor]
{
3.1每一个游戏对象拥有不同的组件以及相关的属性
}
4.关卡编辑时一些不起眼的快捷方式
{
4.1_Fps旋转相机视角
{
鼠标左键->旋转视野
}
4.2_Fps移动视角
{
W->前,
A->左,
S->后,
D->右
}
4.3_电梯移动视角
{
LeftMouseButtonDown + Q->向下降低视角,
LeftMouseButtonDown + E->向上抬高视角
}
4.4_定位搜索游戏对象
{
F->快速聚焦到一个游戏对象的所在位置
}
4.5_围绕着一个逗比看看长什么样子
{
Alt + LeftMouseButton_DragDown->按住 Alt + LeftMouse 不放可以围绕着一个游戏对象在它周围进行旋转
}
4.6_蹂躏一个游戏对象
{
W->拖拽游戏对象,
E->旋转游戏对象,
R->缩放游戏对象
}
4.7_极速落地操作
{
End->这个快捷键用作快速使一个游戏对象在处于腾空的状态下快速降落到这个游戏对象下面的一个游戏物体上,
如果当前游戏对象下面没有其他任何游戏对象,则不进行任何操作,也就是这个操作不生效了。
}
4.8_相机跟随操作游戏对象
{
Shift + LeftMouseButton_DragDown + W[移动坐标轴工具]->按住 Shift + LeftMouse(需要拖拽操作) + W[移动坐标轴工具]
则可以实现在进行使用坐标轴拖放游戏对象的时候达到相机跟随当前拖拽的游戏对象的效果
}
4.9_拷贝一个兄弟出来
{
Alt + LeftMouseButton_DragDown + W[移动坐标轴工具]->按住 Shift + LeftMouse(需要拖拽操作) + W[移动坐标轴工具]
则可以实现复制拷贝出一个新的游戏对象
}
4.10_游戏中操作游戏对象的方式
{
Shift + F1 ->
在实际编辑器进行游戏运行的过程中,无法直接操作游戏对象,需要使用热键 Shift + F1 热键弹出游戏画面,
在弹出游戏画面之后,可以按下 F8 热键 [弹出 或者是 拥有的操作]进入类似于游戏编辑设计的环境下,这时候就可以看到在编辑环境下运行游戏时的所有游戏地图内的游戏对象。
}
}
}
(3)UnrealEngine中的C++_Api
{
Ps:
{
1.如果在引入UnrealEngine所提供的头文件出错的情况下,请不要使用双引号来进行引入,需要使用尖括号来进行头文件的引入
2.如果要引入与虚幻引擎相关的游戏框架中的C++脚本,则需要通过 #include <GameFramework/Script.h> 来进行引入对应的C++脚本
3.如果要引入与虚幻引擎相关的C++组件脚本,则需要通过 #include <Engine/ComponentScript.h> 来引入对应的C++组件脚本
Ps:
1_需要注意的是->
所有引入的头文件必须放置在 #include "OpenDoorComponent.generated.h" 这个引入的头文件上方
2_需要注意的是->
如果虚幻引擎在编译过程中出现了项目工程崩溃的情况下,如果处于再次打开却打不开的情况下,
那么需要进行处理的手段需要将打不开的项目工程中的Content文件夹和Source文件夹拷贝一下,重新创建一个虚幻项目工程,
把新创建的项目中的Content和Source文件夹删除掉,把拷贝的两个文件夹放到新工程中来,做一个补救措施。
3_需要注意的是->
如果要获取游戏地图中的游戏对象不要再构造函数中获取游戏对象,而要在初始化函数中获取游戏对象。
4_需要注意的是->
在进行Unreal项目开发的时候,编写关于指针方面程序的时候,编程逻辑一定要严谨,
在使用指针方面的程序,需要先进行判断是否为空指针,然后在进行使用
不能有一丝疏忽,如果有一丝疏忽,就会导致整个项目崩溃损坏
}
0.理论知识点
{
0.1_获取游戏对象的两种方式[后期可能还会有更多,到时候再进行知识点的补充]
{
第一种:直接通过代码获取自身游戏对象
第二种:通过拖拽的方式获取其他游戏对象
{
声明定义一个游戏对象[Actor]后,在定义这个游戏对象的上方需要使用预定义宏[UPROPERTY()]来进行显示在当前游戏对象的细节面板上,
进行编译之后,就可以在当前游戏对象的当前C++组件脚本上看到这要通过拖拽获取的游戏对象插槽了,这时候就可以将对应的游戏对象拖拽到这个插槽中,然后既可以开始做其它相关的事情了。
}
}
0.2_使用 [nullptr] 来判断指针是否为空
}
1.获取游戏对象自身:
{
1.1_每一个游戏对象都继承自Actor,所以获取游戏对象只需要获取Actor即可
1.2_Actor对象的类包含在"GameFramework\Actor.h"这个头文件中,获取之前需要先引入这个头文件库
1.3_AActor->用于获取游戏对象自身的Actor对象,通过指针接收获取的方式: AActor * Actor =GetOwner();
}
2.使游戏对象旋转
{
Ps:在虚幻四中,X,Y,Z不同于其他3D软件的坐标系,而是[Roll=X,Pitch=Y,Yaw=Z],还需要注意的是Y[Pitch]是前后坐标轴,而Z[Yaw]是上下坐标轴
2.1_构建FRotator对象,构建这个对象时需要传入三个参数(pitch=y,yaw=z,roll=x);
2.2_调用Actor自身的函数SetActorRotation(NewRotator[构建的FRotator对象]);
}
}
}