Expand description
CS2 Collision file format support.
CS2 Collision files (.cs2.collision) define collision meshes for 3D models in
Total War games. These files contain triangular mesh data used for physics
collision detection and pathfinding.
§File Format
CS2 Collision files are binary files containing:
- Magic number and version header
- Overall bounding box
- One or more named collision meshes with vertices and triangles
- Triangle adjacency information for efficient collision queries
§Supported Versions
- Version 0
- Version 11
- Version 13
- Version 20
- Version 21
§File Contents
- Bounding Box: Overall bounds containing all collision meshes
- Collision3d Objects: Named collision meshes with triangle data
- Triangle Adjacency: Edge connectivity for fast neighbor queries
§Usage
ⓘ
use rpfm_lib::files::cs2_collision::Cs2Collision;
use rpfm_lib::files::Decodeable;
// Decode from binary data
let collision = Cs2Collision::decode(&mut data, &None)?;
// Access collision meshes
for mesh in collision.collisions_3d() {
println!("Mesh: {} ({} vertices, {} triangles)",
mesh.name(),
mesh.vertices().len(),
mesh.triangles().len()
);
}§File Location
These files are typically found at:
rigidmodels/buildings/*/*.cs2.collision
Structs§
- Collision3d
- A named 3D collision mesh with vertices and triangles.
- Collision
Triangle - A collision triangle with vertex indices and edge adjacency information.
- Cs2Collision
- Represents a CS2 Collision file decoded in memory.
Constants§
- EXTENSION
- File extension for CS2 Collision files.