UE的主要概念
关卡Level
内容Content
蓝图类
组件
组件依附在蓝图类上,有层级关系。
主要蓝图类

继承关系从父到子:蓝图类>Actor>Pawn>Character
Actor
游戏里的对象。
Pawn
可以被玩家控制的对象。
- 在详情搜索possess可以找到自动控制玩家,设置玩家0时会控制这个对象。
- 多个Pawn都设置玩家0时,随机控制一个,都设置禁用时,会创建一个GameMode里的默认Pawn类。
- 控制一个Pawn时画面在Pawn的位置,朝向Pawn的x轴。

Character
可以被玩家控制的人物对象。


GameModeBase
定义一大堆管理器类和默认Pawn类。

PlayerController

可以用
直接获得,所以好像是一个单例。可以设置光标是否显示:
,设置接收游戏还是UI的输入:

关于框架
世界场景设置里有GameMode设置。GameMode设置里有一大堆类的设置。开始运行后这些类哪个在场景里没有实例,就会创建,运行后创建的为黄色。


U3D和UE对比
一些概念的大致对照关系
| U3D | UE |
| Scene | 关卡Level |
| Asset | Content |
| GameObject | Actor |
| 预制体 | 蓝图类 |
| MonoBehavior | 我的蓝图 |
| 子GameObject+Component | 组件 |
| .cs脚本 | 事件图表 |
生命周期函数
| U3D | UE |
| Start | Event BeginPlay |
| Update | Event Tick |
- UE没有“脚本的字段”概念,变量属于蓝图类,可被所有事件图表使用。
- UE没有“子GameObject”概念,U3D的组件、子GameObject、子GameObject的组件,对应带层级结构的组件;
- 对于数值运算、赋值、条件判断、循环等操作,有编程基础的人对U3D可以无缝上手,对UE即使最基础的加减法、判断相等也要知道节点;
- 使用体验上,虚幻=Unity+一套模板。即使有成熟模板,学起来也并没有很轻松,因为需要学的知识点就那么多,不管从头搭建还是直接用都需要理解,从头搭建反而理解更深。不过理解了虚幻的模板有助于在Unity自己搭建模板。
坑
天空球的异常
- 天空球是一半蓝一半白,老师的新建场景是正常的天空;
- 太阳出现在平行光射向的方向;
- 改天空球的颜色也没效果;


看起来天空球是出问题了。
然后注意到老师新建场景时有3种模板:

我这里有4种:

TimeOfDay里面是正常的天空,但是没有天空球。
新建关卡里几个光照相关组件的作用
这里面有平行光、氛围雾、天空球、天光。比Unity复杂,那边只有平行光和天空盒。

全关闭
平台能看见,其余全黑。

只开平行光
平台被照成灰白色,其余全黑。
平行光+天空球
环境一般发白,一半蓝灰。 
平行光+氛围雾
高空是蓝天,下面是雾,天上有个太阳。
只开氛围雾
天空是深色,下面是淡红色,黄昏效果。

只开天空球
雾气效果,正上方发黑。

氛围雾+天空球
淡粉色

平行光+氛围雾+天空球
天空一半蓝色,一半发白。
结论:
- 平行光+天空球导致了天空一半蓝一半白的效果;
- 氛围雾对天空的真实感起了重要作用;
天空球是橙黄色

因为没绑定平行光:

人物在光照显示模式下有部分是黑色

资源迁移
从Content文件夹到Content文件夹
设置碰撞
在静态网格编辑器里,详情里:

地形工具怎么加地形层,画出多种材质
这里因为前面没按教程做,没用引擎内容里的Landscape_Material材质,拖了一个StarterContent里的材质,所以无法加层。

先找到要求的材质,这个材质和StarterContent里的材质的着色器不一样,支持多层贴图。

然后Layers下就有3个层:

所以地形多层材质其实是需要地形的用一种特殊的材质,这种材质有多个层(材质编辑器里叫LandscapeLayerBlend节)。

现在能涂不同层了,问题是只是纯色,没有纹理:

看了这个文章
UE4虚幻引擎学习云笔记(六)-关卡设计入门-[5.地形快速入门] - 知乎
使用了自建材质。又去教程用的材质的编辑器看了一下:

只支持纯色混合,那必须要自建材质了。就照抄上面的文章,弄了一个简单点的:

把新材质应用给地形,layers里面有些层变成问号了,删掉,给新的Layers新建Layer_Info。

打包错误
一开始项目是中文名,在2/5报错:


项目换成英文名,打包到3/5报错:

删除Intermediate和Saved后打包成功。
和输入法的bug
新加蓝图节点时总是需要按两下shift才切到中文。后来发现其实按下右键时就是中文,但是显示英,按一下shift会切到真的英文。


在场景视角里移动
按住右键调滑轮可以改变WASD移动的速度,和Unity一样,但是不显示当前的速度倍率,很垃圾。滑轮调速度和这个面板好像是独立的设置。

导入Fab上的素材不完整,重新导入失败
删除素材失败



UE4.27打包能不能用Visual Studio2022
UE4.27可以使用Visual Studio 2022进行打包,但需注意以下关键点:
兼容性验证
VS2022已实测支持UE4.27的C++项目打包,包括Windows平台构建。官方脚本默认仅识别VS2017/2019,需手动修改GetMSBuildPath.bat文件,将MSBUILD_EXE路径硬编码为VS2022的MSBuild.exe路径(例如:"E:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe")。
安装与配置
推荐通过一键安装包(含预配置批处理文件)部署VS2022,自动集成UE4.27/5.x支持。
若手动安装,需确保勾选工作负载“桌面应用与移动应用”及“.NET桌面开发”组件。
常见问题处理
PCH内存错误:在项目属性→Debugging→Command Arguments添加-Zm1000参数并重启VS2022。
编译堆溢出:需升级物理内存(建议≥64GB)并配置虚拟内存。
源码编译补充
运行GenerateProjectFiles.bat前需确保环境变量正确指向VS2022工具链,否则需手动调整脚本逻辑。
3271

被折叠的 条评论
为什么被折叠?



