Exporter Editor Design Document
Contents
1. Export Library & Tool
2. Shape Meta Editor
3. Material Editor
4. Zone Editor (Phase 1: Instance Groups)
5. Zone Editor (Phase 2: Landscape)
6. Build Library & Tools
7. Old Asset Conversion
1. Export Library & Tools
Requirements:
- Export meshes from any supported format (using assimp or other library) to .shape
- Export skeleton to .skel
- Export skeleton and node animations to .anim
- Export collision meshes to .pacs_prim and .cmb (col_ext and col_int)
- Use meta from Shape Meta Editor to handle Tree VP and MRM generation
Deliverables:
- Library which converts the format in memory (allows to load in any format directly into NeL)
- Tool with various command options for converting to NeL format and saving to disk
Notes:
- How to recognize and configure pacs_prim (cylinders, box, etc)?
- Use node name to recognize col_ext and col_int?
- Allow only one skeleton per input file, skeleton name is based input file name?
- Meshes must include proper UV, skinning, normals, tangents, etcetera
- There can be more than one col_ext and col_int for a single shape
- Potential future additional collision mesh for physics
- Trees use vertex painting to specify wind influence, trees flagged by meta editor
- Lightmapping no longer handled during export phase
2. Shape Meta Editor
Requirements:
- Read basic contents of asset using Import Library directly (only read which nodes inside)
- Configure MRM, LOD, Tree VP, and other NeL Node Properties relevant to export and build
- Store the properties in a file with the same name, but with a .meta extension
Deliverables:
- Plugin for Ryzom Core Studio
Notes:
- NONE of the Node Properties related to zone/ig building (ig, shadowmap, etc) to be included
3. Material Editor
Requirements
- Open any asset using the Import Library directly (load all shapes)
- Store the NeL materials in a file with the same name, but with a .material extension
Deliverables:
- Plugin for Ryzom Core Studio
Notes:
- 1:1 translation of the 3ds Max NeL Material script
- One import asset may contain multiple meshes and thus multiple materials!
4. Zone Editor (Phase 1: Instance Groups)
Requirements:
- Placement of .shape by using Import Library directly, not require a built shape
- Placement of .ps particle systems directly from NeL .ps format as in database
- Placement and configuration of omni lights
- Configuration of build settings for nodes (NeL Node Properties for ig, shadowmap, etc)
- Placement of clusters and portals (IMPORTANT)
- Allow to work either in a ‘continent’, ‘single zone’ or ‘zone transition’ mode
- Show ground grid with measurements in meters and name of zones being edited
- Store continent as ligo .land in database (replaces land edit functionality of WorldEdit)
- Store the node placements/props in each brick in the continent as new .brick format
- Allow to create re-usable groups of items (shape with lights and particles pre-setup)
Deliverables:
- Plugin for Ryzom Core Studio, sufficient to design indoors areas
Notes:
TODO Explain LIGO/bricks->continent here
- Shapes with lightmapping that are placed multiple times are also exported multiple times, as they have different UV channels for the lightmaps, build tool should duplicate the exported shape
5. Zone Editor (Phase 2: Landscape)
Requirements:
- Creation of bezier patch landscape mesh inside the zone editor directly
- Move NeL patch painter functionality into this tool
- Store the landscape directly to NeL .zone format in database (if possible)
Deliverables:
- Updated plugin for Ryzom Core Studio to design full areas
6. Build Library & Tools
Requirements
- Generate lightmapping for continent (lightmapped .shape and .zone)
Deliverables
- Library and command line tool
Notes
- Requires a new lightmapper (current lightmapper too limited)
7. Old Asset Conversion
Requirements
- Convert old assets to new formats, fully automated
Deliverables
- Command line tool