分类: 虚拟化
2017-01-29 21:10:33
游戏命令包括两种,一种是运行游戏时候指定的命令行参数,另外一种则指的是进入游戏后输入的控制命令。
对于虚幻三来说,控制台命令分为两种,一种是引擎中已经支持的可执行命令,这些命令都是在C++类的Exec函数中进行处理的。另一种是带exec前缀的脚本函数,称为可执行函数。
下面根据用途统一总结,不进行区分。
退出游戏
暂停游戏,按pause break键也可以。
打开地图,额外的参数同命令行参数的url部分。比如,在大厅中开始游戏就是用的该命令打开服务器下发的ip地址。
重启当前关卡
重新连接服务器,断开服务器连接,取消进行的服务器连接操作。
幽灵模式(可以飞、穿墙)/飞行模式/正常模式
将弹药数目设置为所有武器的最大值
setres [width] [x|X] [height] [w|f]
改变分辨率(width为宽,height为高)
模式(w = 窗口; f = 全屏),
比如 800x600w表示分辨率为800乘以600的窗口模式,
1024x768f表示分辨率为1024乘以768的全屏模式。
将玩家的相机设置为自由轨道相机模式(第三人称视角),FreeCamera false恢复。
viewmode命令设置渲染模式
1. detaillight 默认模式,使用受到法线贴图的光照影响的中性色彩材质渲染场景
2. unlit 无光照
3. lightingonly 只使用光照
4. wireframe 线框模式
5. brushwireframe 线框模式,但是显示画刷边缘
6. lightcomplexity 显示光照复杂度
7. lightmapdensity 显示光照贴图密度
8. litlightmapdensity 显示光照贴图像素密度 6和7的结合
9. texturedensity 显示每个表面上漫反射通道上的贴图像素密度
10. shadercomplexity 显示每个表面上所应用的材质的复杂度
切换各种项目的显示(仅用于客户端)
1. bounds 切换actor边界的显示(包围盒和包围球)
2. volumes 切换体积的显示(体积盒)
3. collision 切换碰撞体的显示状态
4. bsp 切换bsp几何体的显示(用bsp画刷制作的物体,比如墙)
5. fog 切换雾actors的显示
6. particles 切换粒子几何体的显示(比如烟雾弹,特效做的门)
7. paths 切换路径或导航网格物体的显示
8. navnodes 切换和寻路相关的actors的显示
9. foliage 切换植被的显示
10. terrain 切换地形几何体的显示
11. terrainpatches 切换地形块的显示。在每个块的周围描画一个轮廓。
12. staticmeshes 切换静态网格物体几何体的显示
13. decal 切换decal actors的显示
14. decalinfo 切换decals(贴花)的调试开发信息的显示(平头截体、切线轴等)。
15. staticmeshes 切换静态网格物体几何体的显示。
16. postprocess 切换后期处理特效的显示
17. skelmeshes/skeletalmeshes 切换骨架网格物体几何体的显示
18. MISSINGCOLLISION 切换高亮显示启用了碰撞但是没有碰撞网格物体的静态网格物体
在屏幕上实时地显示类class所有实例的属性prop的值
在屏幕上实时地显示对象obj的属性prop的值。
在屏幕上实时地显示类class所有实例的当前处于的状态,比如行走,空闲,攻击等
清楚display系列命令所有的输出
set class/obj prop value
1. 设置给定类class(包括其子类)的所有对象的属性prop的值为value
2. 设置给定对象obj的属性prop的值为value
可以用displayall实时显示出来这个属性,再用set设置后观察属性变化。
stat命令负责在游戏运行时在屏幕上启用显示统计数据功能。
关闭所有统计数据的显示
切换帧频率统计数据的显示
切换动画系统统计数据的显示状态
切换网络统计数据显示的 打开/关闭 状态
切换游戏统计数据的显示。(更新时间等)
切换UIScene统计数据的显示
切换碰撞统计数据的显示状态
切换八叉树相关统计数据的显示
切换一般物理统计数据的显示
1. physicscloth 切换关于布料仿真统计数据的显示。
2. physicsfields 切换关于物理域的统计数据的显示状态。
3. physicsfluids 切换关于PhysX流体仿真统计数据的显示。
切换一般内存统计数据的显示
切换处理内存分配的统计数据的显示
切换场景渲染统计数据的显示
该命令在虚幻三和UDK中用于统计脚本函数的运行时间。
1. start 开始Profile
2. stop 结束Profile
3. 文件:UDKGame\Profiling\T-2016.11.29-19.26.55.gprof
4. 打开工具:Binaries\GameplayProfiler.exe
5. UObject::CallFunction中统计了每个函数的调用时间。
调试命令的结果是控制台形式的输出,并不是在游戏窗口中显示。在逆战中,需要按f8显示控制台窗口,再输入调试命令。其余类型的命令可以使用f7也可以使用f8。
强制进行垃圾回收清理。
显示包中的一个类别的所有物体的列表。
1. obj list显示包中所有的物体列表。
2. obj list class=pawn 只显示指定的类的所有物体的对象列表,比如pawn。
dump objname
在控制台中输出某个对象的所有属性,可以先用displayall找到这个对象名。
碰撞相关命令
关节相关命令
布料相关命令
流体相关命令
软体相关命令
显示内存分配信息
1. mem
2. mem detailed
3. mem stat
显示配置文件内存分配信息
粒子内存信息
内存碎片检测
内存泄漏检测
显示(隐藏)所有的HUD
显示(隐藏)积分面板
切换UI的更新和显示
调用GfxMovie对应的flash文件的as函数
输出GFx Texture Usage到log文件中。
注意:UObkect::ScriptConsoleExec,处理的是当前类中自定义脚本命令(执行带exec前缀的脚本函数)。
因此,流程中带有ScriptConsoleExec函数执行的类(以及子类)都可以定exec脚本函数来执行控制台命令。只有在处理流程中的命令才有效,处理流程外的命令无法被处理。
在控制台命令调用流程中涉及到的C++类的Exec函数中添加对新命令的处理逻辑。
在处理流程中的有ScriptConsoleExec调用的类(Interaction、UISceneClient、GameViewportClient、PlayerInput、PlayerController、Pawn、InvManager、Weapon、HUD、GameInfo、CheatManager)
中添加exec前缀的脚本函数。
更多的游戏命令可以参考文档: 。