文章目录
虚幻中的常用操作与开发技巧(持续更新)
常用操作
2D资产的导入
纹理(Texture) -> 右击 -> Sprite Actions -> Apply Paper2D Texture Settings,这样就能为2D资产自动应用正确的设置。
Mip Gen Settings
:Mip Map相当复杂,它们会在远离摄像机的时候使用Mip Map减少物体的细节。如果是在使用正交摄像机的项目中,例如2D游戏,所有物体都会与摄像机保持固定的距离,这意味着此时Mip Map派不上任何用场,只能浪费空间,需要手动关闭。Texture Group
:2D Pixels(unfiltered)。通常情况下,纹理过滤会产生平滑的效果从而改善图片的整体外观,然而在2D游戏中,它会让像素图看起来更模糊。Compression Settings
:当选项为UserInterface2D(RGBA)时会禁用纹理压缩,默认值为DXT,对于使用了高清纹理的传统3D美工来说,这种压缩非常有效,几乎不会导致质量缩水。但当纹理分辨率比较低时,例如2D游戏,被压缩后也不会变得太小;另一方面,因为像素比较少,所以压缩产生的任何缺陷都会变得更为明显,这是因为每个像素占整体的比重会比较大。Chroma Key Texture
和Chroma Key Color
:可以用来使纹理的背后区域变为透明,根据实际的纹理使用滴管进行调整。
TileMap放入到关卡中后颜色偏亮的解决办法
- 添加
Post Process Volume
到关卡中(如果没有的话)。- 找到明细中的
Post Process Volume Settings
->Infinite Extent(Unbound)
选项并勾选。

- 找到明细中的
Lens
->Exposure
->Min EV100
和Max EV100
两个选项并勾选,同时将其值都设置为1即可。
测试摄像机晃动效果的方法
1.在场景中放置
CameraShakeSourceActor
。

2.确保勾选
Realtime
和Allow Camera Shakes
。

3.选择自己创建好的摄像机晃动蓝图,并可以根据自身情况实时调整各类参数。

4.打开
Camera Shake Previewer
窗口,此时可以播放摄像机晃动效果,从而可以更好地进行体验。


在游戏暂停时执行完整的Tick操作

当游戏被暂停时,默认情况下,许多游戏逻辑都会停止执行,以节省计算资源并给用户一个清晰的暂停状态反馈。然而,在某些情况下,开发者可能希望在游戏暂停时仍然保持某些逻辑的执行,比如摄像机的平滑移动、某些动画的播放或者特定的后台任务。这个时候就需要勾选
Should Perform Full Tick when Paused
选项。
开发技巧(自己的一些心得,可能有不对的地方,欢迎指正和沟通)
- 可以将一些通用的功能提取成组件蓝图(
Actor Component
),比方说主角的拾取功能,一方面可以在其他项目中继续使用,另一方,功能进行拆分,逻辑更加清楚。- 玩家控制器(
Player Controller
)中主要是用来配置玩家的按键行为,或者是玩家的生成和销毁。- 游戏模式(
Game Mode
)中主要是用来配置游戏的胜利条件,也可以配置开始游戏、结束游戏的事件通知。