/Blen64

Blender scripts to convert and export mesh objects to draw lists as header files for use with the n64 SDK

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Blen64

Blender scripts to convert and export mesh objects to draw lists as C header files for use with the n64 SDK Mesh output example

V2.2 - beta

Change log:

  • Reindex triangles after each vertex load (fixes large exports)
  • End display list properly
  • Allow script to run in edit mode
  • Clear the symbol table between exports
  • Set the alpha to 255 for vertex colors
  • Report correct triangle count (triangulate before checking)
  • Added options to export panel
  • Apply transformations
  • Descend heirarchies of objects
  • Only converts selected objects that are meshes
  • No longer crashes when UVMap/Vertex Colors are not present
  • Always outputs valid C identifiers
  • Exports all objects selected in the scene
  • Uses Export Menu now instead of requiring the user to run a script
  • Fixed poly buffer limit issues
  • Added Vertex Color Support
  • Fixed missing vert/face disarray issue
  • Cleaned up some code

Usage:

1. Copy the io_scene_n64dl folder to your Blender installation's addons folder. Then enable the addon under settings. To run the script, select the objects you wish to export and choose N64 DL from the export menu. Setup

Cautionary Note:

Blen64 in it's current state is extremely unequipped to optimize for poly count, that is to say IT WILL EAT UP YOUR VETEX BUDGET, in short it because we are building draw lists from poly loop indices we end up with duplicate vertices, essentially there are duplicate vertices for every face connected to a point, in turn faces aren't technically connected(hence the weird shading effect since surfaces cant be smoothed). This shouldn't be a problem for long and I have a couple different solutions in the works.

Feature Roadmap:

  • Fix the last of the SAIFAV(super annoying incorrect faces and vertices) bugs.
  • integrate render modes(opaque, translucent, cutout etc.)
  • possible auto save to header
  • Triangulate non-destructively :)