CS2 更新:Smart Props、Vulkan/RTX 与开发者工具升级(2026年9月24日)
本次更新聚焦 Smart Props 工具链、Vulkan/RTX 与着色器重构、粒子与音频控制扩展,以及新增的网络与编辑器开发者选项。
快速摘要
- 引入大规模的 Smart Props 系统,用于程序化摆放、变形与材质风格化,面向地图与创作者。
- 对大量 Vulkan 与 RTX 着色器进行重构,并新增 Vulkan/RTX 相关的控制台变量以便内存、碎片整理与光追诊断。
- 扩展粒子系统的控制与调试工具,新增多项 `cl_` / `r_` 粒子控制台变量与粒子管理命令。
- 大幅扩展 Steam Audio 的配置与烘焙选项,以实现更精细的遮挡、混响与路径化行为控制。
- 新增多项输入、UI 与网络体验的质量改进控制,同时提供显著的 Hammer、模型与资源工具命令供开发者使用。
- 为编辑器与工具链添加新的模块元数据与类,改善后期处理、模型文档与内部编辑器工作流。
- 引入 Vulkan 内存管理、管线与调试命令,支持 GPU 内存碎片整理与更精确的渲染区域控制。
本次更新为创作者与工具用户铺设了重要基础:大幅扩展的 Smart Props 程序化摆放框架、对 Vulkan 与 RTX 着色器的广泛重构,以及大量面向开发者的控制台变量与命令,覆盖粒子、音频、网络和地图编辑工具等领域。
Smart Props:新一代程序化细节系统
更新中最大的一部分是一个数据驱动的 Smart Props 框架——用于摆放、变形和风格化世界物件的系统,主要面向地图与内容创作者,但最终可能带来更丰富多变的游戏场景。
-
Smart Prop 根与变量:
- 新的核心类型如
CSmartPropRoot、CSmartPropElement、CSmartPropVariable和CSmartPropChoice定义了完整的 Smart Prop 图表,包含内容版本、最大深度、变量、选择项、子元素与修饰器。 - 支持类型化变量(float、int、vector)和材质组(用于选择模型的材质变体),意味着创作者可以暴露参数(例如缩放范围、样式选择)来快速重用和配置物件布局。
- 新的核心类型如
-
摆放元素(线、路径、网格、体积):
CSmartPropElement_Layout2DGrid:按可配置的二维网格布置子元素,支持宽度、长度、间距、原点模式和交替偏移。CSmartPropElement_PlaceOnPath与CSmartPropSelectionCriteria_PathPosition:沿路径摆放,支持间距、偏移、坐标空间以及“每第 N 个位置”或仅在起点/终点摆放的规则。CSmartPropElement_FitOnLine与CSmartPropSelectionCriteria_LinearLength:沿线段分布子元素,支持朝向、上向量和基于长度的过滤。CSmartPropElement_PlaceInSphere:在球体内或环形区域内随机或规则地分布子元素,支持最小/最大数量、半径、随机性和对齐设置。CSmartPropElement_PlaceMultiple:重复放置子元素 N 次,可由表达式驱动。CSmartPropElement_PlaceOnMesh及针对网格的判据(拓扑边计数、边角度)支持沿网格特征摆放。- 该工具集看起来旨在快速填充碎片、植被、杂物或沿路径/表面/体积布置的装饰件。
-
基于模型的 Smart Props:
CSmartPropElement_Model与CSmartPropElement_ModelEntity定义了基于模型的元素,包含模型名、材质组、细节对象标记、缩放(向量与统一缩放)、LOD 提示、表面属性覆盖与阴影开关。CSmartPropElement_PropDynamic与CSmartPropElement_PropPhysics专用于动态与物理道具,包含可变形的附着/朝向模式以及物理道具的m_bStartAsleep标志。- 这些类允许创作者在不重做布局逻辑的情况下,在静态、动态与物理驱动的同一物件版本之间切换。
-
变换操作(移动、旋转、缩放):
- 直接变换操作:
CSmartPropOperation_SetPosition/Translate:设置或偏移位置;坐标空间可选(世界/元素)。CSmartPropOperation_SetOrientation:用前向与上向量定向元素,可选择优先上向量。CSmartPropOperation_RotateTowards:从原点朝目标旋转(支持权重与坐标空间控制)。CSmartPropOperation_ResetRotation:可选择性清除 pitch/yaw/roll,并可选择忽略物体原始旋转。
- 交互控件:
CSmartPropOperation_CreateRotator:创建带偏移、轴向、吸附、限制与颜色的旋转手柄。CSmartPropOperation_CreateSizer:定义三维尺寸框(min/max X/Y/Z),输出 min/max 变量并可显示预览模型。CSmartPropOperation_CreateLocator:定义可移动/旋转/缩放的定位器,带偏移与显示缩放。
- 随机化:
CSmartPropOperation_RandomOffset、RandomRotation与RandomScale:按约束范围与吸附增量引入随机变换。
- 这些操作暗示了类似节点图的创作流程,设计师可以串联确定性与随机步骤以从共享逻辑产生变体。
- 直接变换操作:
-
变形器与高级空间逻辑:
- 变形器:
CSmartPropElement_BendDeformer:在盒体内弯曲几何体,支持原点、角度、尺寸、弯曲角、弯曲点与弯曲半径。CSmartPropElement_MidpointDeformer:定义两个点间的变形区域,包含半径、偏移、样条连续性、角度、缩放与衰减。
- 基于射线检测的操作:
- 基础
CSmartPropOperation_Trace存储原点、原点空间、原点偏移、表面向上影响、“无击中”行为,以及忽略天空、nodraw、半透明、模型、实体和电缆的标志。 TraceInDirection:按方向投射一定长度的射线。TraceToPoint:从原点追踪到目标点,带可选的“远离追踪”和最大长度。TraceToLine:朝由端点 A/B 定义的线投射,每个端点都有自己的坐标空间。
- 基础
- 这些功能合在一起,应该允许物件以数据驱动的方式“贴合”关卡几何(匹配坡度、墙面、边缘)。
- 变形器:
-
向量运算与几何辅助:
- 节点如
ComputeVectorBetweenPoints3D、ComputeDistance3D、ComputeNormalizedVector3D、ComputeDotProduct3D、ComputeCrossProduct3D与ComputeProjectVector3D(含平面投影模式)提供基础数学运算。 SaveDirection可把预定义方向(例如 forward)存入变量。- 这些节点帮助无需脚本就能做精确的朝向与对齐控制。
- 节点如
-
颜色与材质操作:
CSmartPropOperation_MaterialTint:从特定颜色或渐变位置对材质进行染色,支持不同的颜色选择模式。CSmartPropOperation_SetTintColor与RandomColorTintColor:在离散颜色选项或渐变中选择,支持随机或特定选择,并使用ApplyColorMode_t控制颜色如何应用(例如乘以物体颜色)。CSmartPropOperation_SetMateraialGroupChoice:通过变量选择与选择模式设置材质组选择。CSmartPropOperation_MaterialOverride:应用逐材质的替换覆盖,支持清除现有覆盖项。- 放置过滤器如
CSmartPropFilter_MaterialAttributes与CSmartPropFilter_SurfaceProperties支持按属性或表面属性名包含/排除表面。 - 这些功能使同一基础物件可以根据上下文呈现不同的外观、染色或表面处理。
-
选择判据与过滤器:
- 路径位置与线长判据(
PathPosition、LinearLength)帮助控制沿路径/线段哪些位置会生成元素。 - 网格判据:
TopoEdgeCountCriteria:按开放边计数(拓扑)过滤网格边,可反转条件。EdgeAngleCriteria:按角度范围过滤,并支持反转。
- 这些判据允许例如只在特定类型的边上放置装饰或只在每隔 N 段处生成。
- 路径位置与线长判据(
-
Smart Prop 组合与嵌套:
CSmartPropElement_Group:持有子元素的基本分组。CSmartPropElement_SmartProp:实例化另一个 Smart Prop(通过资源名引用),并可选择本地求值状态。- 这种模块化便于构建可重用的细节库。
对于玩家而言,这些大多是幕后系统,但未来内容更新或创意工坊作品中可能会带来更一致、更丰富且更有变化的环境细节。
Hammer、Modeldoc 与工具链改进
更新还影响了多个 Source 2 编辑与可视化模块,主要围绕编辑与工作流改进。
-
新的工具模块元数据:
- 为
tools_postprocessingeditor、tools_sfm、assetrename、toolframework2、tools_subrecteditor、toolscenenodes、modeldoc_utils、physicsbuilder、propertyeditor、helpsystem与vrad3添加了模块元数据文件。 - 这些元数据列出了如
CBindableCamera、CGlobalHotkeyCommands、CLightingControlRig、CQToolSceneWidget、CQCurveEditorWidget与CQHelpEditorWidget等工具端类。 - 这表明 Valve 在后期处理、SFM、模型工具等内部编辑器上持续投入,有助于 Valve 与高级模组作者更快迭代视觉与动画内容。
- 为
-
Hammer 专用控制台变量与命令:
- 许多以
hammer_开头的控制台变量覆盖网格行为、操纵柄大小、等值面设置、Dota 专用路径绘制、gridnav 预览、工作灯参数、SSAO 开关、地形更新、顶点法线绘制等功能。 - 如
hammer_bake_cubemap_debug_colors、hammer_save_gridnav、hammer_dota_rebuild_paths以及 GPU 预览灯光/光线追踪切换等命令扩展了 Hammer 的烘焙灯光与导航工作流。 - 这些改动显示了 CS2 渲染管线与编辑器(包含 RTX 烘焙与可视化)之间的更深整合。
- 许多以
-
模型与物理工具:
mesh_trace_data_memory_report、print_model_bind_pose、reload_model、phys_get_model_materials与phys_set_model_materials等命令为模型骨骼与物理表面属性提供更多诊断与控制。- 与 Smart Prop 的材质组变量结合,应有助于模型、物理与材质的一致性管理。
对创意工坊地图作者和高级工具用户来说,本次更新有望提升构建与烘焙复杂 CS2 场景的效率与可用性。
Vulkan、RTX 与着色器大修
大量变更落在 Vulkan 着色器与光线追踪照明相关代码上。
-
引擎核心着色器:
game/core/shaders_vulkan_dir/shaders/vfx下许多文件更新,包含:rtx_pathtracer、rtx_default_hitgroup、rtx_vrad3_lightmap、rtx_vrad3_vertexlight、rtx_vrad3_farfield、rtx_vrad3_farfield_metrics以及用于光线追踪光照贴图采样和占用标记的工具。- 通用着色器如
spritecard、generic、refract、sky、SSAO、bloom、shadowing、wind、skinning compute、aggregate culling 以及各种调试可视化着色器。
- 这些改动显示了对实时与烘焙管线的广泛迭代,尤其是围绕 RTX 光照贴图与远场光照的工作。
-
CS2 专用材质着色器:
game/csgo_core/shaders_vulkan_dir/shaders/vfx的更新包括:csgo_lightmappedgeneric、csgo_vertexlitgeneric、csgo_character、贴花、水面、unlit、沙滩泡沫、工具材质以及组合/通用材质等。
game/csgo/shaders_vulkan_dir/shaders/vfx的改动涵盖:- 武器与手套着色器、环境混合材质、植被、静态叠层、玻璃、眼球、烟雾体积、天空盒、特效、轮廓、bloom、景深、狙击镜、手雷相机、UI 纹理与多个后处理通道。
-
RTX 专用调优:
vrad3模块引用了materials/dev/vrad3/farfield_metrics.vmat和farfield_raytrace.vmat,表明新增用于路径追踪光照度量与远场光线追踪可视化的开发材质。- 新增 RTX 控制台变量:
rtx_allow_blas_compact与rtx_allow_blas_create控制底层加速结构(BLAS)的创建与压缩。rtx_perf_stats与rtx_show_bounce用于报告或隔离路径追踪视图中的特定反弹。
- 这些工具有助于 Valve 与技术型创作者分析与优化光线追踪照明,长期来看有助于 RTX 功能的稳定性与效率。
-
Vulkan 内存与流水线控制:
- 新增或更新的渲染器控制台变量包括:
r_allow_low_gpu_memory_mode(允许低 GPU 内存模式)、r_memory_aliasing、r_vma_defrag_enabled、r_vma_defrag_algorithm、r_vma_defrag_threshold_mb以及一系列r_vma_defrag_*参数,用于 GPU 内存碎片整理与阈值调节。r_vulkan_accurate_renderarea(切换更精确的渲染通道区域与直接使用渲染目标大小的策略)。r_vulkan_sw_cmd_lists(启用 Vulkan 的“软件命令列表”)。- 调试与统计命令如
vulkan_framebuffermgr_print、vulkan_memgr_print、vulkan_memgr_fragmentation_print、vulkan_pipelinemgr_print、vulkan_shader_table_print、vulkan_vma_defrag与vulkan_vma_gpu_mem_dump。
- 虽然这些多数面向开发者,但它们表明在 GPU 内存稳定性与性能方面的持续工作,可能改善高负载场景下的卡顿与显存使用。
- 新增或更新的渲染器控制台变量包括:
玩家短期内可能不会直接看到视觉差异,但长期这些改进有助于提升光线追踪与粒子密集场景下的性能与稳定性。
粒子系统控制与调试
粒子系统获得大量配置选项与调试工具扩展。
-
客户端粒子行为(以
cl_开头的控制台变量):- 包括
cl_particle_batch_mode、cl_particle_fallback_base、cl_particle_fallback_multiplier、cl_particle_max_count、cl_particle_retire_cost、cl_particle_sim_fallback_base_multiplier、cl_particle_sim_fallback_threshold_ms与cl_particle_simulate等,其中语义更清晰:- 基础/倍数/阈值决定何时回退到更廉价的效果以及回退的激进程度。
cl_particle_newinit启用优化的初始化路径。cl_particle_log_creates与cl_particle_create_duplicate_work_for_profiling支持性能分析/调试。
- 这些控制多数被标记为开发/作弊用途,普通玩家通常不会修改,但可帮助开发者在高负载下优化粒子表现。
- 包括
-
渲染器粒子控制(以
r_开头的控制台变量):- 新增大量
r_particle_*控制项,覆盖:- 缆线(cables):裁剪、包围体、动态圆润、meshlet 渲染、阴影投射与调试可视化。
- 调试:过滤器、强制睡眠/唤醒仿真、显示属性、控制点、绳段、排序位置与随机种子行为。
- 性能:快速路径开关、显式取样、GPU 隐式仿真模式(
r_particle_gpu_implicit*)、最大细节级别、最大绘制距离、裁剪尺寸、纹理层、最小时间步长、混合分辨率视图启动与每线程模型数。 - 测试:
r_particle_render_test、r_particle_warn_threshold_ms与r_particles_memset_at_init用于测量开销并捕获回归。
r_freezeparticles现为带说明的作弊项(“暂停粒子仿真”),r_drawparticles/sc_particle_debug_visualizer在菜单栏有挂钩。
- 新增大量
-
与粒子相关的命令:
- 新命令如
dumpparticlelist、particle_profile、particle_profile_spike、particle_reset_assertions、particle_stop_all、particle_stop_specified与particle_stop_unspecified提供对哪些系统运行及其测量方式的细粒度控制。
- 新命令如
这些多为 Valve 与技术型创作者所用,目标是让烟雾、火焰与其他特效在广泛硬件上更稳定、更高效。
Steam Audio 与空间声学调优
Steam Audio 的整合获得大量调优、烘焙与诊断控制项。
-
混响与 HRTF 控制:
- 控制项包括
snd_steamaudio_enable_reverb、snd_steamaudio_reverb_level_db、snd_steamaudio_reverb_order、snd_steamaudio_reverb_order_rendering与snd_steamaudio_reverb_update_rate,用于管理混响的细节程度与更新频率。 - 与 HRTF 相关的选项有:
snd_steamaudio_enable_custom_hrtf、snd_steamaudio_enable_ordertruncated_ambisonics_hrtf、snd_steamaudio_default_hrtf_volume_gain、snd_steamaudio_max_hrtf_normalization_gain_db与snd_steamaudio_normalize_default_hrtf_volume。
- 这些设置有助于在不同 HRTF 集合之间获得更一致的响度与方向感。
- 控制项包括
-
烘焙与探针系统:
- 许多
snd_steamaudio_*bake*与*_probes_*控制变量管理烘焙时用于维度、遮挡、路径与混响的光线数、样本数、反弹次数与探针数量,以及是否使用压缩的混响查找表和加载哪些烘焙数据集(dimensions、materials、occlusion、pathing、reverb)。 - 维度烘焙还包含网格高度间隔、最大高度与最大射线长度等设置。
- 诊断工具如
snd_steamaudio_baked_data_stats、snd_steamaudio_diagnostic_baked_occlusion_single_probe与多种显示/调试切换方便验证结果。
- 许多
-
遮挡与路径寻径:
- 遮挡参数包括烘焙遮挡模式、路径偏差斜率、反射因子与正则化、空气吸收系数、空间滤波器与探针查找设置。
- 路径寻径支持缓存选项(
snd_steamaudio_pathing_enable_caching、snd_steamaudio_pathing_caching_threshold、snd_steamaudio_pathing_enable_source_probe_interp)、渲染顺序与验证工具。
-
运行时与编辑器整合:
- 命令如
snd_steamaudio_display_probes、snd_steamaudio_source_pathing_debug、snd_steamaudio_halton_sequence与 Hammer 相关的调试选项显示出在地图制作与空间音频调优间更紧密的循环。
- 命令如
对玩家来说这些多数是不可见的后端工作,但它们支持在复杂室内/室外交接处实现更物理精确且一致的声场表现。
输入与界面体验改进
引入了若干输入与 UI 相关的控制台变量與命令,其中部分对普通玩家也有用。
-
光标与键盘:
cl_auto_cursor_scale:自动光标大小缩放。cl_cursor_scale:手动光标缩放因子。cl_input_enable_raw_keyboard:启用原始键盘输入(绕过操作系统级别调整),对追求最直接输入路径的玩家有用。key_updatelayout:重新同步游戏的键盘布局与当前操作系统布局的命令。
-
手柄与摇杆:
cl_joystick_enabled:全局切换摇杆输入。joy_axisbutton_threshold:模拟轴被视为按钮按下所需的移动阈值。
-
其他界面/工具挂钩:
toolhud_enable与各类graphcanvas_*控制台变量多为工具端设置,但反映了内置编辑器所用 UI 框架的持续改进。
依赖非标准输入配置或需要精确光标大小的玩家,未来在菜单或配置文件中可能会看到这些选项可供调整。
网络与服务器防护
在网络层面添加了大量监控与限制工具,重点在稳健性与调试。
-
数据包压缩与日志:
net_use_packet_compression与net_compresspackets_minsize控制是否及何时对数据包进行压缩。net_filelogging、net_log_processing、net_detailed_canpacket_log与net_showmsg/net_showreliable/net_showoob/net_showudp提供不同层级的流量可见性。
-
服务器接收限制:
- 新的防护项包括:
net_limit_sv_recv_max_message_size_kb。net_limit_sv_recv_segments_per_packet。net_limit_sv_recvbuffer_kb与net_limit_sv_recvbuffer_msg。
- 这些用于限制服务器从单个客户端接受的数据量,减少因滥用或异常流量导致的风险。
- 新的防护项包括:
-
每客户端处理上限:
net_max_message_process_count与net_max_message_queue_size设置了每帧处理或排队消息的上限。sv_net_client_message_process_time_ms_warn与sv_net_client_message_process_time_ms_drop分别在处理时间过长时发出警告或丢弃客户端。
-
诊断命令:
- 一系列
net_*命令覆盖连接与通道统计(例如net_channels、net_connections_stats、net_status等),便于调试与监控网络状态。
- 一系列
这些改动能提升服务器对异常或恶意流量的抗性,并帮助服务器运维与开发者更精确地定位网络问题。
