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一样,但是不显示当前的速度倍率,很垃圾。滑轮调速度和这个面板好像是独立的设置。