Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Summary: Create an exporter for the Blender modelling application.
  • Description: Ryzom Core has one fully functional exporter for its game data pipeline: 3DSMAX. We greatly wish to enable FOSS users to create content completely independent of proprietary tools. This exporter will need to be functionally identical to the 3DSMAX exporter. This task may also require modifications to NeL in order to enable additional functionality (such as animation tracks keyed with a different algorithm). Finally the exporter should provide a method for build_gamedata to procedurally execute the export functions (see the 3DSMAX MAXScripts called to export shapes, etc).
  • Technical Details: At a bare minimum we need the ability to export shapes, animations, skeletons and other objects out from Blender. The process should as closely match the 3DSMAX plugins capabilities as possible so that object creation between the packages is consistent and that the resulting exported data can uniformly be processed by build_gamedata regardless of the modeling package. Liberty can be taken on the presentation of the plugin information as is appropriate with Blender. The NeL builder classes are all in C++ but wrapping them in Python in order to use Blender Python API is acceptable.
  • Specification: TBD
  • Difficulty: Medium
  • Required Skills: Python, C++, 3D Algorithms
  • Mentor: TBD

Ryzom Core

...

DAE Converter

  • Summary: Create an exporter for the Maya modelling application.
  • Description: Ryzom Core has one fully functional exporter for its game data pipeline: 3DSMAX. This exporter will need to be functionally identical to the 3DSMAX exporter. This task may also require modifications to NeL in order to enable additional functionality (such as animation tracks keyed with a different algorithm). Finally the exporter should provide a method for build_gamedata to procedurally execute the export functions (see the 3DSMAX MAXScripts called to export shapes, etc). Note that the student will need to download and use the free 13th month student edition of Maya.
  • Technical Details: At a bare minimum we need the ability to export shapes, animations, skeletons and other objects out from Maya. The process should as closely match the 3DSMAX plugins capabilities as possible so that object creation between the packages is consistent and that the resulting exported data can uniformly be processed by build_gamedata regardless of the modeling package. Liberty can be taken on the presentation of the plugin information as is appropriate within Maya. A fair portion of the basic ground work of an exporter already exists for the student to review at: http://werewolf2.svn.sourceforge.net/viewvc/werewolf2/trunk/tools/maya/
  • Specification: TBD
  • Difficulty: Medium
  • Required Skills: C++, 3D Algorithms, Maya API and MEL.
  • Mentor: Matt Raykowski (sfb)

Ryzom Core DAE Converter

  • Summary: Create an converter for DAE's exported from modeling applications.
  • Description: TBD
  • Technical Details: TBD
  • Specification: TBD
  • Difficulty: Medium
  • Required Skills: C++, 3D Algorithms
  • Mentor:TBD

 

Ryzom Core Landscape Editor Plugin

  • Summary: Create a landscape editor plugin for Object Viewer Qt
  • Description: Landscape editing and painting is one of the more sophisticated components of the 3DSMAX plugins. This plugin will combine four major components: Tile Editor, Landscape Sculptor and Landscape Painter, Ligoscape Editor. We envision the tool being something similar to EasyGen or the Torque Terrain Editor.
  • Technical Details: The Tile Editor plugin will need to rewrite the Tile Edit Qt tool's presentation so that it is more flexible (implemented as re-sizable and dock widgets.) The process will also require the elimination of the PIC library - use CBitmap where edges need to be saved into the tile bank and QBitmap or QPixmap otherwise.

The Landscape Sculpting tool should use bezier patches as the underlying topology (since that is the native topology of NeL landscape zones.) A basic ability to edit sub-objects on the patch and to add sub-objects (cut to add more segments and points) is an essential. The ability to "sculpt" with brushes is the second task required. Finally an option to deform the topology using a heightmap. This tool should output a ".zone" file which is a binary serialization of CZone.

Landscape Painter should be based on the 3DSMAX Patch Painter plugin (nel_patch_paint). Nearly all of the underlying logic already directly manipulated the NeL CZone object - only the 3DSAMX driven presentation needs to be replaced.

The Ligoscape Editor will need to be able to define various zones created by the previous modules as ligobricks and define their purposes (ligozone, ligomat, ligotrans or special.) It will need to be able to export all of this information in a form that is usable by World Editor.

  • Specification: TBD
  • Difficulty: Very Difficult
  • Required Skills: C++, Qt, 3D Algorithms
  • Mentor: Matt Raykowski (sfb)

OVQT Build Gamedata Frontend Plugin

  • Summary: Create an OVQT plugin allowing execution and monitoring of build_gamedata.
  • Description: build_gamedata is a Python-based tool that automatically exports and builds gamedata. The purpose of this task is to create a plugin for Object Viewer Qt that provides a way to execute the various stages of the pipeline, to view the logging/debugging and provide basic workflow status. In addition to this the build_gamedata workflow should be represented in some form - either tree view or graphical - and allow certain stages to be run directly. This will require modifying the build_gamedata tool so both C++ and limited Python will be required.
  • Technical Details: TBD
  • Specification: TBD
  • Difficulty: Mediumconverter for DAE's exported from modeling applications.
  • Description: TBD
  • Technical Details: TBD
  • Specification: TBD
  • Difficulty: Medium
  • Required Skills: C++, 3D Algorithms
  • Mentor:TBD

 

Ryzom Core Landscape Editor Plugin

  • Summary: Create a landscape editor plugin for Object Viewer Qt
  • Description: Landscape editing and painting is one of the more sophisticated components of the 3DSMAX plugins. This plugin will combine four major components: Tile Editor, Landscape Sculptor and Landscape Painter, Ligoscape Editor. We envision the tool being something similar to EasyGen or the Torque Terrain Editor.
  • Technical Details: The Tile Editor plugin will need to rewrite the Tile Edit Qt tool's presentation so that it is more flexible (implemented as re-sizable and dock widgets.) The process will also require the elimination of the PIC library - use CBitmap where edges need to be saved into the tile bank and QBitmap or QPixmap otherwise.

The Landscape Sculpting tool should use bezier patches as the underlying topology (since that is the native topology of NeL landscape zones.) A basic ability to edit sub-objects on the patch and to add sub-objects (cut to add more segments and points) is an essential. The ability to "sculpt" with brushes is the second task required. Finally an option to deform the topology using a heightmap. This tool should output a ".zone" file which is a binary serialization of CZone.

Landscape Painter should be based on the 3DSMAX Patch Painter plugin (nel_patch_paint). Nearly all of the underlying logic already directly manipulated the NeL CZone object - only the 3DSAMX driven presentation needs to be replaced.

The Ligoscape Editor will need to be able to define various zones created by the previous modules as ligobricks and define their purposes (ligozone, ligomat, ligotrans or special.) It will need to be able to export all of this information in a form that is usable by World Editor.

  • Specification: TBD
  • Difficulty: Very Difficult
  • Required Skills: C++, Qt, Python3D Algorithms
  • Mentor: TBDJan Boon (Kaetemi), Matt Raykowski (sfb)

OVQT Tool Conversions and Improvements

...