WSO Specification
From TS3wiki
The WSO format is a simple file format for importing/exporting Sims 3 meshes to and from workshop. Version 4 is the latest file version.
- Normals and UV-coords are per face, not per vertex.
- Bone assignment is a 4 byte integer, one byte per bone, -1 is unassigned.
- Bone weight is floats from 0-100.0 sum of all bones should be 100.0.
- Vertex ID are used for BGEO and recalculated on import.
- TagVal´s are the color value for BGEO and unknown for MLOD.
- When importing a WSO file the number of meshes (groups) must match the number of groups in the project.
int fileversion (currently 4)
int number of meshes (groups) in file
- foreach mesh
int number of vertices in mesh
- foreach vertex
float position x
float position y
float position z
int vertex ID
int tagval
int bone assigments - 4 bytes
float bone weight for bone 1 (0.0 - 100.0)
float bone weight for bone 2 (0.0 - 100.0)
float bone weight for bone 3 (0.0 - 100.0)
float bone weight for bone 4 (0.0 - 100.0)
int number of faces
- foreach face
short vertex index
float normal x
float normal y
float normal z
float uv map x
float uv map y
int number of geostates (not used, always 0)
byte strlen
char[strlen] name of group/mesh
// end for each mesh
int number of bones
- foreach bone
byte strlen
char[strlen] name of bone
(following section is not currently used by workshop)
float bone position x
float bone position y
float bone position z
float bone rotation x
float bone rotation y
float bone rotation z

