KCollisionLibrary
Changelog
V1.94
- Fix invalid format/float parse error for .obj importing
V1.92
- Split .obj faces by meshes from collision materials.
V1.91
- Optimize .obj more fixing some collision issues.
V1.9
- Fix multiple subdivisions not shifting offsets for the model octree key values. May fix falling through issues.
V1.7
- Optimizations made to .obj to fix some division issues from dupe triangles.
- Fix model octree loading.
- Fix model octree order causing issues falling through the ground for advanced high poly division.
V1.4
- Fix reading .obj with different floating separators (like commas) in certain cultures.
V1.3
- Add little endian Mario Galaxy preset for 3D All Stars. Improve Galaxy 1 preset.
V1.2
- Fix obj collision generation with NaN position values.
V1.1
- Added support for Mario Galaxy and Mario 3D Land material presets (.ba files).
Features
- Supports all versions. GCN, WII, DS, 3DS Wii U, and Switch
- Supports multiple model subdivisions for V2 KCL (WiiU/Switch) allowing for high poly collision models.
- Can go even higher than 65k polygons for V2 KCL (WiiU/Switch).
- Can easily load and save KCL binaries, change endianness, version, etc.
- Supports mapping material attributes by .obj files (COL_## for material name, ## is hex value).
- KCL importer GUI which can load various game material and collision presets and export .obj files.
Planned
- Functional collision handling for in tool editors (currently somewhat functional but needs improvements).
- Automatic .obj triangulation.
Notes
- You must triangulate imported .obj files so your model is made of triangles only.
- Wii U and Switch only support very high poly collisions Older platforms will still be limited to 16k polygons due to limitations of the file format.
- Make sure the collision is scaled correctly. You shouldn't import a small collision and scale it in some map editor, that can cause lag.
Credits
Library by Syroot & KillXGaming.
Thanks to Syroot/Ray Koopa for the original library base.
If you'd like to contribute, feel free to create custom material presets. Guide