Im writing a game engine and I'm wondering what 3D model format should I use/load/export? Obj seems universal and easy but it also appears to be unreliable in that most models out there contain errors and it doesn't store anywhere near as much as other formats.
There appear to be formats specifically for games such as MD2/3/5 but Im not sure, I use wings3d if I model, and I don't know what other details beyond purely loading what I need and support from the format Id have to implement, such as would I need to implement IK? and can I use scripted per piece animation rather than Inverse kinematics and bone rigging?
In terms of software support, both STL and OBJ are very well covered. STL is the standard format for most, if not all, 3D slicers in desktop 3D printing. Due to its simplicity and small file size, it's also the most common format when sharing designs intended for 3D printing.
The glTF format is better than FBX if you want to transmit your 3D scene data efficiently over the internet for viewing in a remote application, such as for the purposes of augmented reality.
Generally speaking, FBX is far more complex than OBJ - it supports mesh data, color data, vertex painting, animations, lighting, rigs, joints, skinning, cameras, etc. OBJ is much simpler, supporting just 3D objects and their geometry. For Roblox specifically - if you're only working with meshes then OBJ should be fine.
STL files store objects as sets of vertices joined by edges to make triangular faces. OBJ files store 3D information as a list of vertices joined by edges, and unlike STLs, they support polygonal faces that allow for a closer representation of the original geometry.
Collada is an open XML based format for 3d models owned by the Khronos group(OpenGL standards body)
From the Collada.org FAQ:
The COLLADA 1.4.x feature set includes:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With