Blender Programmers,
I was at the GSOC mentor summit and was talking to your representatives and they said to post this here.
We are looking for someone to make an Ryzom Core blender exporter.
Ryzom Core is a full featured open source MMORPG platform. This means that we provide all of the tools and technology to begin making a sandbox MMORPG on day one. We provide all of the essential services to create a shard including all of the essential services, a client and a myriad of tools and an exporter for artistic assets. In addition to the technology provided we also provide a massive wealth of artistic assets ready to use with Ryzom Core - every single texture and 3D object created for the Ryzom game.
Currently we have a 3DS Max exporter which takes the object data from inside max and sends it to a C++ class, this class then does the actual conversion into the Ryzom Core format, as such you wont have to deal much with the specifics of the Ryzom Core format, however you will need to wrap the C++ class in python.
As we are an open source project there is no set budget and would be paid directly from me, however I do understand the amount of work involved and am willing to pay a reasonable bounty.
If you’re interested, please see me on IRC @Freenode, I am online almost all the time in #ryzom.
You can also post here or email me at matthew (dot) lagoe {at} subrigo {dot) net
ALL CODE MUST BE LICENSED AS GPL2+/AGPLv3
***Current Blender Importer
There was some work done on a blender importer located at https://github.com/NeoSpark314/blenderNel3dImport it may be useful to look at however I don’t know for sure, currently it only supports shapes.
Technical Information
Exporting is a somewhat complicated topic. To get an idea of what MAX is doing it’s probably best just to reference where the MAX exporter is getting work done. This is in code/nel/tools/3d/plugin_max/nel_mesh_lib. Here is an example from export_mesh.cpp:
This is where MAX creates the CMesh::CMeshBuild object. This object is used to take MAX data into the mesh build object which then basically serializes out to a file (.shape). This is a simple object creation. The next example does some more elaborate exporting.
https://bitbucket.org/ryzom/ryzomcore/src/2f25c4ab69e2830f0b2731ac7f2a053704996f54/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_mesh.cpp?at=default#cl-65
This part really isn’t complicated. Here’s where the actual mesh export happens - this is when MAX makes decisions as to how to export this shape:
https://bitbucket.org/ryzom/ryzomcore/src/2f25c4ab69e2830f0b2731ac7f2a053704996f54/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_mesh.cpp?at=default#cl-134
An example if these kinds of decisions are here:
https://bitbucket.org/ryzom/ryzomcore/src/2f25c4ab69e2830f0b2731ac7f2a053704996f54/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_mesh.cpp?at=default#cl-218
This is checking to see how many LODs are defined. You define these in the node properties box:
https://ryzomcore.atlassian.net/wiki/display/RC/Using+Max+Assets#UsingMaxAssets-NodeProperties:LOD_MRM
The idea here being that you list the LODs from most detailed to least detailed. What happens in the code is it goes through each LOD name in the box (which is the name of a shape node in MAX) and adds them to a NeL CMeshMultiLod::CMeshMultiLodBuild, which will build and serialize out its shape appropriately.
Thank you
Matthew Lagoe (Botanic)