Game Engineering – II |Assignment – 7
This assignment required us to create a Maya plug-in so that we can create a mesh in Maya which then exports it in a format that can be parsed by the Lua parser I made for the previous assignment.
Here is the executable MyGame_
Controls :
- F1 – F2 — Move camera up – down
- F3 – F4 — Move camera left – right
- directional keys — move sphere
- SPACE — remove plane
I created a simple plane, a sphere and a prism in Maya. here is what they look like in the game.
Although the assignment mentioned that references needed to be added for the MayaMeshExporter project, I do not think any were necessary. This is because MayaMeshExporter is a project that is only required by Maya to create our mesh files. It has no other use inside our project.
Same goes for dependencies.
As for the other information that Maya can give us such as normal, tangents and bitangents, I simply do not export these to my .mesh file. This is because my Lua parser is not built to parse this data. If however I decide to use these in the future (and update my parser to recognize these) I would only need to add these as table entries to my Vertex. (inside my human readable .mesh file)
Here is an image of the Mesh exporter project hitting a break point when Maya is exporting a mesh.
The last part of the assignment requirement is somewhat difficult to test. Since it requires me to test what would happen if a mesh has too many vertices. I understand the limit is the size of uint16 since that is the type of my index array. As such I’ve added checks when parsing the Lua file to handle this situation. As such the engine will throw an error and output it to the log file.