Choose your operating system:
Windows
macOS
Linux
根据你使用的版本,你可能不一定需要启用Chaos插件。
如果你用的是虚幻引擎4.26或更早的版本的标准版本,必须通过源码版本编译并启用Chaos破坏工具。
假如用户用的是UE_4.26Chaos版本或更高版本,Chaos是默认启用的。 更多信息请参阅Chaos破坏系统概述文档。
使用几何体集时,显示特定几何体集(或一组几何体集)的信息十分实用。 利用**几何体集调试绘制Actor 可利用 细节** 面板或控制台命令切换如层级、群集、刚体信息等显示信息。
在编辑器中调试
关卡中有要调试的几何体集后,在 在编辑器中运行 会话期间,使用 世界大纲视图 查找并选择 GeometryCollectionDebugDrawActor。
此操作将显示 调试绘制 属性面板,其控制当前关卡中几何体集内可用的不同可视化模式类型。
显示刚体ID
上手调试的最佳地点便是显示刚体ID。在Actor的 调试绘制(Debug Draw) 类别和 刚体(Rigid Body) 子类别中,启用 显示刚体ID(Show Rigid Body Id) 复选框。
利用 选定刚体(Selected Rigid Body) 属性可查看所有刚体(-1)或输入想要显示的刚体ID。
启用场景中所有几何体集的可视化对于小测试场景十分有用,但可能会严重影响大关卡的帧率。
除在 选定刚体(Selected Rigid Body) 字段输入Id外,还可使用滴管选择场景中的对象。
同样可通过启用 调试绘制群集(Debug Draw Clustering) 选项,显示群集几何体集的非活跃子项来获取更多信息。
导航群集
在 选定刚体(Selected Rigid Body) 选项下,可在子项/父项间移动及在不同群集间循环。
可视化选项
使用 调试绘制完整集(Debug Draw Whole Collection) 属性可选择是否显示完整集。此操作将显示与选定刚体Id属于相同几何体集的所有刚体调试信息。
启用完整几何体集将会增加显示难度,并会对帧率产生负面影响,具体取决于集合大小。
也可通过下拉列表的方式显示几何体信息(几何体集的图表代表默认位于层级底部)。 如着重于探索顶部节点的几何体,调试绘制层级(Debug Draw Hierarchy) 选项将首先启用父项显示。该选项还可与 调试绘制群集(Debug Draw Clustering) 选项合并以同时显示父项和子项。
由于刚体信息已在父项中显示,因此 调试绘制层级(Debug Draw Hierarchy) 选项仅影响几何体集组件属性的显示。
隐藏几何体
默认仅在显示碰撞体积时隐藏与选定刚体Id相关的几何体,但 隐藏几何体(Hide Geometry) 属性下还有部分其他选项。
选项 |
说明 |
---|---|
不隐藏(Hide None) |
不隐藏任何几何体。 |
隐藏碰撞(Hide Collision) |
隐藏与刚体关联的几何体(默认选项),此类刚体被选中用于显示碰撞体积。 |
隐藏选中项(Hide Selected) |
隐藏与选中刚体相关的几何体。 |
隐藏整个集(Hide Whole Collection) |
隐藏与选中刚体相关的整个几何体集。 |
全部隐藏(Hide All) |
隐藏所有几何体集。 |
将-1用作选中 刚体Id 时,最后四个选项相同(将隐藏所有几何体集)。
开关要显示的属性
在 细节 面板(或通过控制台)中可开关要显示的属性。 结合多个属性可产生不同的效果,例如下方范例中启用 显示刚体碰撞(Show Rigid Body Collision) 和 显示刚体Id(Show Rigid Body Id) 以及选择 隐藏选中项(Hide Selected) 选项的 隐藏几何体(Hide Geometry)。
显示关卡集类型碰撞体积时,一次只能显示一个体积,即使启用 调试绘制整个集(Debug Draw Whole Collection) 选项也同样如此。
可将多个不同类别分组到多个类别:刚体、刚体群集 和 几何体集组件。 这些类别适用于选中刚体或包含选中刚体的整个几何体集。
多数属性为自解释类型,例如 显示顶点(Show Vertices) 切换显示刚体顶点,或者 显示边界框(Show Bounding Box) 切换显示刚体边界框。 以下为部分例外。
显示刚体速度(Show Rigid Body Velocity) - 此属性显示线性(箭头长度)和角速度(圆半径)。
显示刚体力(Show Rigid Body Force) - 显示力(箭头)和扭矩(圆)。
显示刚体信息(Show Rigid Body Infos) - 显示选中刚体完整的屏幕文本调试信息。
显示连接边缘(Show Connectivity Edges) - 显示仍为群集的兄弟刚体的各逻辑连接。
由于 调试绘制群集(Debug Draw Clustering) 选项显示子节点信息,因此需进行使用。
显示单个面(Show Single Face) 和 单个面索引(Single Face Index) - 显示选中面以协助调试几何体。
该可视化仅在选中特定几何体集时可用(选中刚体 不可为-1)。
可视化设置
可在 设置(Settings) 类别下切换调试可视化设置。
在此可进行如更改绘制颜色或变换缩放属性等自定义。因颜色背景造成可视化不清时,该功能将十分有用。 多数属性为自解释类型,并会影响基本调试绘制元素的绘制。 此外,启用 使用活跃可视化(Use Active Visualization) 后可视化将随几何体集的各群集级别而变,调试行和文本将变暗,同时变形轴将随群集级别增大而变小。
使用控制台调试
还可在控制台中更改所有 几何体集调试绘制Actor 属性,具体步骤如下。
列出调试绘制命令
所有几何体集调试绘制命令均位于 p.gc
前缀下:
在命令结尾处添加问号 ?
,可访问各命令的描述:
由于所有命令均与调试绘制Actor的属性匹配,因此请同时参见在编辑器中调试部分,了解属性效果的额外说明。
显示刚体Id
使用命令:
p.gc.ShowRigidBodyIds 1
选择用于调试绘制的刚体
使用命令:
p.gc.SelectedRigidBodyId X
在以上命令中,将X替换为需要显示其信息的刚体Id。
启用/禁用整个集的可视化。
使用命令:
p.gc.DebugDrawWholeCollection 1
此操作将显示与选定刚体Id同属相同几何体集的所有刚体调试信息。
隐藏几何体
默认仅在显示碰撞体积时隐藏与选定刚体Id相关的几何体,使用以下命令可选择另一选项:
p.gc.HideGeometry [0|1|2|3|4|]
0 不隐藏,不隐藏任何几何体。
1 隐藏碰撞,隐藏与选中碰撞体积可视化刚体相关的几何体(默认)。
2 隐藏选中项,隐藏与选中刚体相关的几何体。
3 隐藏整个集,隐藏与选中刚体相关的整个几何体集。
4 全部隐藏,隐藏所有几何体集。
将-1用作选中 刚体Id 时,最后四个选项相同(将隐藏所有几何体集)。
启用/禁用/查询调试绘制属性
还可通过命令台使用以下命令:
命令 |
说明 |
---|---|
|
从选中刚体ID开始(如未选择则从根开始),显示层级顶部的可视化调试,而非叶节点。默认值 = 0。 |
|
显示当前选中刚体ID的群集子项可视化调试。默认值 = 0。 |
|
显示选中刚体的碰撞体积。默认值 = 1。 |
|
显示局部空间中原点处的碰撞体积。默认值 = 0。 |
|
显示选中刚体的变形。默认值 = 1。 |
|
显示选中刚体的线性和角速度。默认值 = 0。 |
|
显示选中刚体的应用力和扭矩。默认值 = 0。 |
|
显示选中刚体的信息。默认值 = 0。 |
|
显示选中刚体的群集连接边缘。默认值 = 0。 |
|
显示与选中刚体匹配的几何体集变形索引。默认值 = 0。 |
|
显示与选中刚体匹配的几何体集层级。默认值 = 0。 |
|
显示与选中刚体匹配的几何体集变形。默认值 = 0。 |
|
显示与选中刚体匹配的几何体集边界框。默认值 = 0。 |
|
显示与选中刚体匹配的几何体集面。默认值 = 0。 |
|
显示与选中刚体匹配的几何体集面索引。默认值 = 0。 |
|
显示与选中刚体匹配的几何体集面法线。默认值 = 0。 |
|
显示与选中刚体匹配的几何体集顶点。默认值 = 0。 |
|
显示与选中刚体匹配的几何体集顶点索引。默认值 = 0。 |
|
显示与选中刚体匹配的几何体集顶点法线。默认值 = 0。 |
刚体碰撞
以下命令可用于显示刚体碰撞:
启用:
p.gc.ShowRigidBodyCollision 1
禁用:
p.gc.ShowRigidBodyCollision 0
查询:
p.gc.ShowRigidBodyCollision
更改可视化设置
以下命令也可用于自定义绘制信息的方式:
命令 |
说明 |
---|---|
|
点厚度。默认值 = 6。 |
|
线厚度。默认值 = 1。 |
|
指数文本下的阴影,提高可读性。默认值 = 1。 |
|
文本缩放。默认值 = 1。 |
|
法线大小。默认值 = 10。 |
|
变形大小。默认值 = 20。 |
|
法线的箭头大小。默认值 = 2.5。 |
后期处理效果
若发现调试绘制线上有瑕疵,可能是由于后期处理影响了调试绘制线条的渲染方式。
关闭线的后期处理
使用控制台命令可关闭后期处理:
ShowFlag.PostProcessing 0
之前,开启后期处理:
之后,关闭后期处理:
关闭后期处理将阻止渲染LevelSet碰撞体积(参见下一章)。
打开LevelSet渲染的后期处理
使用调试绘制显示LevelSet前务必开启后期处理,否则将不会渲染光线行进材质。
ShowFlag.PostProcessing 2
之前,关闭后期处理,未渲染LevelSet:
之后,开启后期处理,照常绘制LevelSet: