包括引擎的使用,蓝图的技巧,c++的编写,有哪些是自己觉得不错,但可能挺多人不知道的


  1. 写过C++代码的都知道,如果你在VS中写下UPROPERTY或者UFUNCTION那一行之后再回车,就会多一个缩进:

为了对齐,不得不手工再删除这个缩进,挺烦人的。

有人专门做了一个插件,来解决这个问题:

hackalyze/ue4-vs-extensions?

github.com图标

装上之后,问题解决,完美~

2. 即使C++代码一点点改动,编译起来可能也需要几分钟,日志窗口半天不动,有时候你都会觉得VS是不是卡住了。。。如果你试过了网上说的其他方法,都不太好用,建议试一下固态硬碟。

这是在我电脑的固态硬碟上编译的时间:

大概十几秒,是一个可接受的范围。

仍然有改进的空间,因为,第一,我的ue4源码安装在了机械硬碟,改到固态应该能加快几秒钟;第二,我的固态硬碟是三年前买的,现在的应该更快。

3. 蓝图中不小心连错了针脚(Pin)怎么办?

按住ctrl,线的针脚可以用滑鼠拖动,见视频:

材质中也是一样的:


原文发布在我的专栏里,内容比较符合这个题目,搬运过来。

想看后续更新,可以关注原文。

戴巍:[UE4]偏门实用技巧合集?

zhuanlan.zhihu.com图标

目录:

  • 视窗操作篇
  • 反转滑鼠中键
  • 自适应视窗缩放速度
  • 解除对选中物体旋转
  • 对屏幕外物体进行位移旋转缩放
  • 物体吸附到模型顶点
  • 屏幕编队(记录当前相机位置和旋转)
  • 落到正下方物体
  • 显示与隐藏
  • 资源操作篇
  • 场景中选择相关物体
  • 查找场景物件相关文件
  • ContentBrowser骚操作
  • 快速调用资产
  • 组操作
  • 资源管理篇
  • Add to Favorites
  • Collections
  • Favorite Levels
  • Visualize相关快捷键设置
  • Debug篇
  • 控制台使用技巧
  • 常用控制台命令

视窗操作篇

反转滑鼠中键

由于UE4默认中键操作和maya等主流软体不同,可以通过Editor Preferences &> Viewports &> Invert Middle Mouse Pan 设置,反转滑鼠中键操作,以实现和maya等软体一致的视口操作。

自适应视窗缩放速度

默认视窗缩放速度是线性的,这会导致距离物体尽的时候,很难精确缩放;而距离物体很远的时候,相机又有拉不出来的感觉。

可以勾选 Editor Preferences &> Viewports &>Use distance-scaled camera speed 选项,来达到丝滑的视图相机缩放效果

解除对选中物体旋转

现在版本的UE4,默认旋转视图是以选中物体为中心的。当选中很远的物体调节参数以后,不小心旋转视窗,很容易让画面飘到未知的地方:

可以取消勾选 Editor Preferences &> Viewports &> Orbit camera around selection 选项,来禁用这个功能,实现视窗旋转永远以画面中心为中心。

对屏幕外物体进行位移旋转缩放

有时候,我们场景里的东西可能在视图之外,离得很远。比如说远处的平行光。我们想调节灯光的位置或者旋转,但又需要观察当前画面里的效果。

就可以按住键盘上的Ctrl键不放,同时用滑鼠 左键 或者 右键 或者 左键+右键,来进行远距离的位移旋转缩放。

物体吸附到模型顶点

选中物体,在移动模式下,按住键盘上的V键不放,加滑鼠拖动物体移动轴心,可以吸附到附近物体的顶点上。

屏幕编队(记录当前相机位置和旋转)

用快捷键 Ctrl + 数字(0-9),可以对当前相机状态编队。 再用数字(0- 9)返回之前相机编队的状态。(星际玩家基本操作)

落到正下方物体

地编非常常用的功能,属于人尽皆知(也许)的基础知识。

大部分时候End 就非常好用了

Alt + End 会按照轴心点吸附

而吸附实际上算的是模型的bounds ; Show&> Advanced &>Bounds 可以显示模型的Bounds

这个时候就可以看出 End 和 Shift + End 的区别了 。大部分时候用End 就足够了,有时候不满足自己心理预期的时候,可以点开bounds 看一下

显示与隐藏

相关的常用操作有这么四个

  • hide selected 隐藏选中Actor
  • show selected 显示选中Actor
  • show all actors 显示所有场景中的Actor
  • show only selected 只显示当前选中的Actor

相关快捷键都可以在Editor Preferences&> General&> Keyboard Shortcuts&> LevelEditor下找到

也可以在Editor Preference 面板的搜索栏,搜索我列出的操作名称,来快速查找并 绑定快捷键

因为我的maya使用习惯,所以我的快捷键设置如下:

  • hide selected (Ctrl+H)
  • show selected (Shift+H)
  • show all actors (H)
  • show only selected (Shift + I)

个人可以根据自己的使用习惯设置相应快捷键,或者沿用引擎默认快捷键


资源操作篇

场景中选择相关物体

Ctrl + Alt + 滑鼠左键拖动,可以拉出矩形框,框选物体。

对于选中物体使用快捷键 Shift + E 可以选中场景中其他相同的物体。(Ctrl +E 可以直接打开该资产面板,进行编辑,在Reference Viewer中也生效,实用)

对于选中物体,右键 &> select &> select all with same material ,可以选中所有赋予了相同材质的物体。如果该功能使用多的话,可以自行设置快捷键。

查找场景物件相关文件

选中场景中的物体,使用快捷键Ctrl+B, 可以在Content Browser中显示该物体资产存放位置。

对于Content Browser中选中的物体,使用快捷键 Alt + Shift + R 可以打开Reference Viewer,查看该资产的引用关系。

选中Reference Viewer中的资产,可以再次使用Ctrl+B 查看选中资产的存放位置;也可以使用Ctrl + E 打开该资产的编辑面板;也可以双击某个节点,查看该节点的引用关系。

ContentBrowser 骚操作

在Content Browser的搜索栏,输入 空格, 可以查看该文件夹下的所有文件。

在当前ContentBrowser 面板锁定的情况下,使用快捷键Ctrl + B ,可以快速调出新的ContentBrowser面板。

当需要多个ContentBrowser 面板去同时操作多个资产的时候,不用在UI里慢慢点开新的ContentBrowser面板了。

快速调用资产

Ctrl + P Open Asset (千万不要操作成 Alt + P ,会直接运行游戏。。。 如果右手在操作滑鼠,左手用快捷键的话,建议用键盘右侧的Ctrl 键,和P离得很近 )

输入快捷键后,会调入这样一个小面板,可以在 搜索栏中按名称查找到自己想要的资产,可以配合左侧的filters 过滤想要的资产类型。相当于一个快速简洁、没有文件夹结构的content browser, 要求对想要调用的资产名称很熟悉

在需要调用使用率很高的模型,或者需要赋予一些使用率极高的基础材质或者测试材质时,很方便。(记得找到的资产要拖进场景里,不是双击)

组操作

在场景中选中多个Actor ,使用Ctrl +G 进行打组,是经常会使用的基本操作。

对于已经打组的Actors,可以使用快捷键 Shift +G 来解组

但是很多时候,我们已经打好组的一组Actor,我想要再次改变其中某些Actor的位置,我们正常情况下,是无法选中组里面的某个Actor 进行操作的。

但我又不想 先解组,再重新打组这么繁复的操作。

这个时候,就可以使用快捷键 Ctrl + Shift + G 切换为 组选择模式,来选中组里面的某个(或某些Actor)进行局部调整;操作完之后,再按快捷键Ctrl + Shift + G 重新切换为组选择模式。


资源管理篇

项目文件爆炸增长之后,可以用一些方式快速定位自己常用的资源位置。

Add to Favorites

可以将选中文件夹添加到Favorites,后面就可以快速打开这些常用文件夹。同时, Set Color可以对文件夹指定颜色,方便用右脑记忆文件夹。

Collections

对于Content Browser面板中的资产,右键 &> Manage Collections 可以将该资产置于某个Collection中,方便以后快速调用。

调用Collection中文件的方法是点击图中按钮

Collection 不会移动资产的位置,仅仅将一批资产位置的引用收集在一起。用户可以根据自己的需求,将一些常用、或者相关性较高的细碎文件,放在一个collection中方便后续快速调用。

Collections?

docs.unrealengine.com

Favorite Levels

可以设置自己的常用关卡,并用快捷键急速打开。

在打开自己想要添加到Favorite Levels中的关卡时,点击File &> Favorite Levels &> Add XXXX to Favorite,可以将当前打开的关卡,添加为最喜欢的关卡。

以后在日常工作中,可以使用快捷键 Alt + 1 ,快速打开排序第一的Favorite Level

Visualize相关快捷键设置

在场景中lookdev的时候,会非常经常地查看场景不同通道的状况。官方已经设置了很多默认快捷键。

View Modes?

docs.unrealengine.com

比如Alt + 3 的Unlit模式

Alt + 6 的Lighting Only模式 等等。

但是在复杂的项目开发中,这些默认设置往往是不够用的。用户一般需要为自己常用的一些查看模式设置快捷键。设置的方式是,在Editor Preferences 面板中,搜索对应的名字,并且设置快捷键。

分享一下,我设置的一些快捷键:

因为我的项目面数极高,Wireframe模式是满满的线,没有查看价值。所以我使用Show&>Advanced&>MeshEdge 来取代线框模式 (此条修改来自评论区日天哥@日天 建议,非常好用

2020.09.10 take a break


Debug篇

常用快捷键

Ctrl + Shift + H

show fps

显示当前运行帧率(非常快速查看帧率的方法,相当于命令行输入stat fps)

也可以勾选Editor Preferences&> Performance&> Show Frame Rate and Memory 选项

让引擎右上角一直显示帧率 和 内存使用情况:

同时还需要查看Draw Call 消耗或者 CPU消耗等 的时候,可以点击键盘左上角的小飘号——"~",输入命令行,输入指令 stat unit

Shift + L

show stats

切换是否显示右侧这些数据信息

Ctrl + Shift + , (逗号) profile GPU 显示当前状态GPU消耗

进入Debug Mode

在Play 状态下,按键盘上的 ; (分号键),可以进入。

有点类似于 Play状态下按F8的弹出,但是Debug 模式 是第一人称视角的, 快速检查一下周围环境,比F8的弹出使用方便。

Gameplay Debugger?

docs.unrealengine.com

并且Debug mode 可以检测到非常多有用的数据,以及相关的一些操作使用方法。

具体的一些好用的功能介绍,可以看一下这个直播中 @Asher 的讲解(102 分钟):

[中文直播] 第8期 | 贾越 - Niagara基础2_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili?

www.bilibili.com图标

控制台使用技巧

~ 号键打开控制台

在什么都不输入的情况下,使用键盘上的 箭头↑ 键,可以看到并且选择之前已经输入过的控制台指令,反复开关某些指令的时候,非常实用

输入控制台指令,并不需要打全名,比如我记得锐化是sharpen,但中间那些乱七八糟的我记不住,可以输入 空格sharpen 进行模糊搜索

常用控制台命令

stat fps

显示帧率

stat unit

显示包括Draw Call ,游戏逻辑等各种项的消耗

stat rhi

显示各种GPU上的消耗细则

r.Tonemapper.Sharpen

锐化,后面跟数字表示锐化强度。比如:r.Tonemapper.Sharpen 3

r.Streaming.PoolSize

相信大家多少都看到过这串文字

当你的场景稍微复杂一些的时候,默认纹理流送池就会被挤爆,导致部分贴图载入成很小的lod,画面会糊。

默认有1G显存分配给了纹理流送池,不够用的时候可以手动调大。

比如,r.Streaming.PoolSize 4096,就可以分配4G显存给纹理流送池。 这个参数吧,量力而行就可以了。

当然,懒人最爱用的是 r.Streaming.PoolSize 0,可以设置纹理流送池 无上限

slomo

游戏运行下的运行速度;很多时候要仔细观察某些视觉效果的时候,可以把整个运行速度调慢。

可以使用 slomo 0.1 ,即可将运行速度变成正常的十分之一。 默认参数为1

r.TonemapperFilm

开关后处理效果

ShowFlag.PostProcessing

开关后期盒子的效果

HighResShot

使用自己指定的尺寸截图, 比如 HighResShot 1920x1080 (注意,数字之间是字母,x 挨科思,不是 乘号

r.AOSpecularOcclusionMode

可以让 skylight 产生的 DFAO 产生更准确的高光, 0为开启,1为关闭。大多数项目中,粗暴地设置r.AOSpecularOcclusionMode 0 ,都可以直接获得的skylight 照明提升

https://docs.unrealengine.com/en-US/Engine/Rendering/LightingAndShadows/DistanceFieldAmbientOcclusion/index.html?

docs.unrealengine.com

2020.11.05 updated a lot ,由于群众的需求,不可避免地介绍了一部分基础但非常有用的知识。

很久以后应该还要更新一篇 节点面板操作篇


感谢 @大钊 采纳我的提问,感谢 @CGBull (从他那里白嫖的知识)

众所周知,UE4中同一个点只能受到三个固态光(加一个天光)的影响,多了就会出现打叉

那么当我们的场景中有复杂的光源摆布的时候,很容易难以区分是哪些光源在互相影响。

这个时候,只需要打开可视化中的光照影响

选中光源,就能看到互相影响的情况啦!

实在是太强了!


100个UE4使用小技巧?

www.unrealengine.com

备用地址:https://epicgames.box.com/s/q3b3udjy08c24vlrob0tp9epj9z9idyh


感觉很多朋友都会忽略或者懒得用的技巧(大型项目)

高级搜索语法?

docs.unrealengine.com图标

非同步载入不需要动C++也可以轻松实现(BP+DataTable)

PSD可以直接导入UE4,也支持带Alpha通道。

当你需要把资源信息(大小,类型)导出为CSV的时候,选择Columns才会出现的选项

隐藏模型但是投射阴影

打开地形编辑模式才会出现的地形调试选项

默认的缓存信息会写入C盘,这里可以修改到其他位置(非常占硬碟空间)

蓝图隐藏技巧合集传送门:

电竞张家辉:BP蓝图实用快捷操作?

zhuanlan.zhihu.com图标

蓝图执行控制台的节点是可以一次执行多行的


ue4中有时因为在3D软体中物体的位置没有归零,也就是没在世界中心原点(0,0,0)的位置。导入到ue4中的轴座标不在物体中心,在移动复制等过程不方便。

可以在ue4中临时调整,Alt + 中键,移动座标到物体中心,然后右键:

选中物体单击两下即可。


彰显诚意 开源插件 商城收费。https://github.com/pdlogingithub/UE4-Node-Graph-Assistant


这个话题有意思,有意思在「不为人知」,这个可以有很多种理解。

虚幻那么强大,有那么多集成的功能,怕是学习很久都不一定能学完,只能是掌握一定使用技巧以后,用到哪些再学习新的技巧。而且怕是学习的速度都不一定能跟得上虚幻的更新速度,哈哈哈。分享一下去年偶然发现的一个小技巧吧 , 大家经常用,但是不一定发现。

我们平常在写蓝图的时候,一般写完以后都要点击编译,然后没有错误以后就要再点击一下保存。

下面这个功能,估计很多人都没有发现过,SaveOnCompile。隐藏在Compile的下拉箭头下面。

哈哈哈!顾名思义:是不是你没有发现。

SaveOnCompile,然后可以分三种情况,

Never:这是默认情况,编译完了不会执行Save;

OnSuccessOnly:也就是只有编译成功了才会Save;

Always:不管成功还是失败,只要编译了就会Save;

我选择的是Always,大家可以根据情况自行选择,但是至少,对于嫌麻烦的道友来讲,是不是不用点击两次就可以再点击运行测试了啊(强迫症除外!),运行也是有快捷键滴:alt+p。哈哈 一点小改进说不定会让你写程序更舒服。


Windows TerminalPowerShell(Core)里面输入

winget install egs

可以一键安装Epic Games Launcher

这需要你的操作系统是Windows 10 1803以上,且应用安装程序版本大于1.0.41331.0

但,目前还不支持卸载(逃

已经装了就不装了233333

过年的时候写了一篇专栏,希望能帮到大家:

SakuraNeko:十个「并无卵用」的虚幻4使用小技巧?

zhuanlan.zhihu.com图标
推荐阅读:
相关文章