Summarised (and apologies once again for the 'art', but this is fun!):
Usage Guide
Extract the contents of the .zip file to your CryENGINE/Tools folder.
Run CryEngine.RC.Pipeline.exe to start the application.
Save your FBX files to CryENGINE/Assets, using the same hierarchy that you'd like them to use in Game/Objects (e.g., C:\Dev\CryENGINE3\Assets\Props\test.fbx will be saved as C:\Dev\CryENGINE3\Game\Objects\Props\test.cgf)
To export individual files, right click the file in the list, and then select "Export". You can do the same for specific folders to avoid full rebuilds.
Features
UV maps
Smoothing groups
Vertex colours
Multi-materials
Basic physicalisation
Limitations
Only handles a single mesh
The mesh must be at the root of the scene hierarchy
Some 3D applications use different unit scales; use the scale factor to work around this
Some applications may require a material to exist in order to export material IDs for submaterials
Licence
Both the source code and builds for CryEngine.RC and ManagedFBX are available for use under the following terms:
The software is only available for non-commercial entities, and may not be relicensed.
You must make changes available to the public.
In the rare event that we meet, you owe me a pint.
Works well on some meshes, and not at all on others, though I blame the finicky dae conversion and not your tool.
Half of my meshes don't convert because of vertices allegedly having the same coordinates - and outside of actually deleting parts of the geometry, or slapping on a ridiculously distorting noise modifier, nothing works.
In Max, no STL errors show up, Xview is fine, no overlapping UVs, nothing to weld within sensible ranges, and there's usually nothing (wrong) at the coordinates specified within the export log.. sigh
Hm, a little heads-up: Using Max 2012 and the Cry exporter, getting the disputed meshes into engine works flawlessly.. so maybe the collada part of your tool is doing strange things?
Hey, thanks for confirming that! I've been meaning to get around to installing 2012 but I've been caught up in other things. This is going to be some fun debugging, I'm sure...
One query; is this with pre-triangulated meshes, or meshes with quads/ngons? I'll be the first to admit that my code is possibly not working entirely as expected but to the best of my knowledge I just list mesh data exactly as provided. There is, however, an exception to this: I do perform a rough triangulation pass using the FBX SDK if a mesh isn't already triangulated. I would assume this uses a similar algorithm to whatever CryMaxExport does to handle quads, but it's worth me investigating.
Hmm, I can't give you a definitive answer on the triangulation question, but I usually have an Edit Mesh modifier sitting on top of my objects, and I also usually have "Triangulate" checked on when exporting to an FBX.
The files were the exact same FBX models that I tried using with your transmogrifier, so hmm. Could send you a mesh tonight, if it'd help.
For those who are still wondering if edited vertex normals alters the shading in CE3. I did some tests on some bushes and it does work like a charm. I'm using maya and MayaCE3 plugin tho.
For some reason my meshes normals are getting flipped when I use the exporter, I have to flip them before exporting. It is a rather large mesh, maybe that has something to do with it:
I'm getting a msg "Failed to compile file: C:\cryengine_3.4\Assets\Props\arch01.fbx"
Is there a way to see what's going on with this mesh? Is it because I have 5 sided faces?
edit: yes it was, I made it work not having 5 sided faces. Would be awesome if you get that info on a log or something, or if automatically triangulate it for you.
Hi guys, sorry about the lack of responses, my email subscription to this thread seemingly died
The normals bug is very strange. I think there have been cases before where symmetry modifiers have screwed up normals even using the official plugins, but I'll look into this.
With regards to materials: I grab the material IDs from the FBX format which is, at least in theory, universal. If material IDs aren't working on a mesh, please attach it so I can take a look at it.
I already perform triangulation on meshes, seems odd that it failed. If you run the Frontend tool rather than Pipeline, you'll get the full RC log. Pipeline is very much a WIP
Sorry if this is a bit off topic, but this seems to be the best place to ask.
Is there any official word regarding custom vertex normals support with the regular Max exporter ? The current Crydev tools and editor (3.4.0) still don't support them (shading wise) even tho they do seem to export fine as pointed out earlier.
I think I remember reading that this functionality is available to the Crytech team internally - it's a bummer that it is not featured in the public tool! Its a big deal breaker when it comes to efficient modular modeling and texturing ...
Not slating the engine as it seems to yield some really superior results, but I would've thought it would have some kinda FBX support by now, considering how easy it is to get an FBX out of a 3D app into UDK. Would be cool to see it in the next update
Does anyone know of a workflow to use with Ruan's tools using Modo? I've got the basics down and can get a model in but I have no idea the naming convention or steps to take to get multiple materials in with one object.
Can anyone get this to work in 3.5.3 on a consistent basis I keep getting a "failed to compile" error ? I've been using Modo and it works pretty well in 3.4.5, super happy I don't have to jump through other software but I'm having a lot of trouble in 3.5.3. Also, it tries to export to the old "Game" directory, and I don't see a way to fix that in the config, but that's less of an annoyance than the "failed to compile" error.
you mind posting your solution for future reference?
Oh, sorry, e-freak, it's pretty basic. Any materials you assign in Modo they go with the fbx file happily, no real naming convention as far as I can tell it just doesn't care. The RC.Pipeline tool converts the model no problem. I did notice it seems to hits a max poly count if you don't triangulate first, forget what it is at the moment. And there maybe a 1 UV layout limit as well, although I'm still learning.
If I understand correctly, you can have a lot of overlapping UVs and if they are assigned different material so that each material is assigned to non overlapping UVs set(if that makes sense) then when you get into cryengine setting up a multi material and then putting different textures in each separate material in the multimaterial should work out pretty good and possibly kind of unseparate the UVs. I read this somewhere, haven't tried it yet.
When you get into cryengine, I'm a noob, I was under the impression that cryengine would somehow show me that there were multiple materials assigned to my model. It doesn't, they are there though. Create a new multimaterial and add materials under that.
Ok so that's a lot of confusing jibberish, let me break it down. I intend to do a video on it when I get something decent put together.
cryengine version 3.4.5
1 create model in Modo
2 UV model (with only one UV map, and all geometry must be uv'd)
3 create as many materials as you want named however you want
4 export to fbx 2010 (works with all of them but that's what I'm using)
5 I export/save directly to the "asset" folder so that the RC.Pipeline.exe can see my file
6 run RC.Pipeline (should take less than 5 seconds, if nothing then delete all UVs but one and pretriangulate in step 4 and/or reduce polycount)
7 in cryengine your folder should be listed under the entity section, drop it into the scene
8 open materials and add a new multi material
9 right click on multi material and set number of sub materials to match the number of materials you created for your model in modo
10 (a bit of testing) go material to material and change the diffuse color to figure out what belongs to what..or use whatever method you want to see the difference.
11 add textures to the correct material and should be done
12 After all this set up you should be able to refine your model, export to fbx, then export to cry with RC.Pipeline.exe and the engine should happily update the new model automatically.
To get textures in, use the crytiff exporter in photoshop. Different topic, wasn't as hard to figure out so I'll leave it at that for now.
Also, I prefer to keep my main model in the lxo format, but there's probably no reason anyone that wants can just save to fbx and work in that format, possibly save a couple steps.
note: if you are using 3.5.3 the RC.pipeline.exe doesn't seem to work for me most of the time. Workaround is I still have my 3.4.5 directory and I run RC.Frontend.exe from the tools folder in that version and select the asset I'm working on in the asset folder, select the 3.4.5 engine folder then when I hit export I navigate to the newer 3.5.3 gameSDK directory where the object is supposed to be saved for the new engine. Leave the exporter open and just hit export after I export the fbx from modo.
If there are issues in engine try reloading the script for the model or under tools reload geometry or click file and go down to the bottom and click the recent worked on file to reload (clicking open then choosing the file you're working on does nothing, think the engine knows better for one button but not the other)
I did have the new crycompressorRC.dll. That got the tiff image importing and the environment map creation working again. But didn't help with the fbx conversion. I'm gonna try a little more testing, see if I can figure it out.
taking notes
format
cryengine rc version compiler, modo fbx version, modo preferences fbx version dropdown for 2013, number of errors or warnings. I'm testing on a non manifold object so there's always a couple warnings at the moment.
kinda weird, in preferences for fbx 2013 modo will save several other versions. so save as 2013 and then the preference drop down will force that to save the file as 2010..11..12..13. hmm. anything not saved with 2013 won't need the number that would follow 13.
all loaded into version 3.5.3 of cryengine, some versions of the fbx export weird smoothing that I'm not sure how to deal with right now. Smoothing groups??
so it will look like this:
345_13_10_1w working
345_13_11_1w working
345_13_12_1w working
345_13_13_1w working
345_10_1w working
353_13_10_? not working. converter doesn't finish, I see dae file flash for an instant in the target folder. Last converter message..."Loaded Cryphysics.dll"
353_13_11_? not working. same as previous
353_13_12_? not working. same as previous
353_13_13_? not working. Same as previous
353_10 not working. same as previous
Didn't test the last one 2006, but I'm running out of testing steam and I suspect it's going to be the same results. I've tried naming the material to the "nophysics" material, can't remember the long name. I tried a proper naming convention when I was trying to get this all working and nothing seemed to export right, I don't know if I'm doing it wrong or if modo isn't capable. I'm pretty sure, since they are named wrong, that the fbx converter is just renaming the materials to 01, 02, 03 etc. Anyway, Cryphysics.dll is blocking my attempts to export with the 353 rc.
Small update, apparently dragging and dropping your fbx onto the rc.exe will convert the file and put the cgf into the folder next to where the fbx was dragged from.
So, I right click on the rc.exe in 3.5.3 and create a shortcut put that into the folder with the objects for my cryengine scene and just keep the fbx in the same folder. Sort by date modified, whenever I save my fbx out of Modo it has that at the top of the list, drag that to the rc.exe, file converted and engine auto updates.
I was told that this bypasses a lot of errors that Ruan's converter would tell you about, so this could potentially be unsafe and you could end up with an object that doesn't work and you don't know why. So, prolly keep frontend.exe around just to be safe.
Replies
You can download the latest build here: https://github.com/returnString/CryEngine.RC/downloads
Summarised (and apologies once again for the 'art', but this is fun!):
Usage Guide
Features
Limitations
Licence
Both the source code and builds for CryEngine.RC and ManagedFBX are available for use under the following terms:
Half of my meshes don't convert because of vertices allegedly having the same coordinates - and outside of actually deleting parts of the geometry, or slapping on a ridiculously distorting noise modifier, nothing works.
In Max, no STL errors show up, Xview is fine, no overlapping UVs, nothing to weld within sensible ranges, and there's usually nothing (wrong) at the coordinates specified within the export log.. sigh
Unless I find some obvious flaws in my application, I'll discuss this with the tools team and see if anything's up.
Also, 0.2.1 is out which has a fix for UV coords being in layers other than 0. Probably not relevant for most users though
One query; is this with pre-triangulated meshes, or meshes with quads/ngons? I'll be the first to admit that my code is possibly not working entirely as expected but to the best of my knowledge I just list mesh data exactly as provided. There is, however, an exception to this: I do perform a rough triangulation pass using the FBX SDK if a mesh isn't already triangulated. I would assume this uses a similar algorithm to whatever CryMaxExport does to handle quads, but it's worth me investigating.
The files were the exact same FBX models that I tried using with your transmogrifier, so hmm. Could send you a mesh tonight, if it'd help.
We got that figured out, they're exported through FBX exporter, I installed max 2012
and they're exported too.
If they make any difference to shading is a different thing though.
Is there a way to see what's going on with this mesh? Is it because I have 5 sided faces?
edit: yes it was, I made it work not having 5 sided faces. Would be awesome if you get that info on a log or something, or if automatically triangulate it for you.
The normals bug is very strange. I think there have been cases before where symmetry modifiers have screwed up normals even using the official plugins, but I'll look into this.
With regards to materials: I grab the material IDs from the FBX format which is, at least in theory, universal. If material IDs aren't working on a mesh, please attach it so I can take a look at it.
I already perform triangulation on meshes, seems odd that it failed. If you run the Frontend tool rather than Pipeline, you'll get the full RC log. Pipeline is very much a WIP
Is there any official word regarding custom vertex normals support with the regular Max exporter ? The current Crydev tools and editor (3.4.0) still don't support them (shading wise) even tho they do seem to export fine as pointed out earlier.
I think I remember reading that this functionality is available to the Crytech team internally - it's a bummer that it is not featured in the public tool! Its a big deal breaker when it comes to efficient modular modeling and texturing ...
Does anyone know of a workflow to use with Ruan's tools using Modo? I've got the basics down and can get a model in but I have no idea the naming convention or steps to take to get multiple materials in with one object.
edit - nevermind, I think I've figured it out.
Thanks for any help
Oh, sorry, e-freak, it's pretty basic. Any materials you assign in Modo they go with the fbx file happily, no real naming convention as far as I can tell it just doesn't care. The RC.Pipeline tool converts the model no problem. I did notice it seems to hits a max poly count if you don't triangulate first, forget what it is at the moment. And there maybe a 1 UV layout limit as well, although I'm still learning.
If I understand correctly, you can have a lot of overlapping UVs and if they are assigned different material so that each material is assigned to non overlapping UVs set(if that makes sense) then when you get into cryengine setting up a multi material and then putting different textures in each separate material in the multimaterial should work out pretty good and possibly kind of unseparate the UVs. I read this somewhere, haven't tried it yet.
When you get into cryengine, I'm a noob, I was under the impression that cryengine would somehow show me that there were multiple materials assigned to my model. It doesn't, they are there though. Create a new multimaterial and add materials under that.
Ok so that's a lot of confusing jibberish, let me break it down. I intend to do a video on it when I get something decent put together.
cryengine version 3.4.5
1 create model in Modo
2 UV model (with only one UV map, and all geometry must be uv'd)
3 create as many materials as you want named however you want
4 export to fbx 2010 (works with all of them but that's what I'm using)
5 I export/save directly to the "asset" folder so that the RC.Pipeline.exe can see my file
6 run RC.Pipeline (should take less than 5 seconds, if nothing then delete all UVs but one and pretriangulate in step 4 and/or reduce polycount)
7 in cryengine your folder should be listed under the entity section, drop it into the scene
8 open materials and add a new multi material
9 right click on multi material and set number of sub materials to match the number of materials you created for your model in modo
10 (a bit of testing) go material to material and change the diffuse color to figure out what belongs to what..or use whatever method you want to see the difference.
11 add textures to the correct material and should be done
12 After all this set up you should be able to refine your model, export to fbx, then export to cry with RC.Pipeline.exe and the engine should happily update the new model automatically.
To get textures in, use the crytiff exporter in photoshop. Different topic, wasn't as hard to figure out so I'll leave it at that for now.
Also, I prefer to keep my main model in the lxo format, but there's probably no reason anyone that wants can just save to fbx and work in that format, possibly save a couple steps.
note: if you are using 3.5.3 the RC.pipeline.exe doesn't seem to work for me most of the time. Workaround is I still have my 3.4.5 directory and I run RC.Frontend.exe from the tools folder in that version and select the asset I'm working on in the asset folder, select the 3.4.5 engine folder then when I hit export I navigate to the newer 3.5.3 gameSDK directory where the object is supposed to be saved for the new engine. Leave the exporter open and just hit export after I export the fbx from modo.
If there are issues in engine try reloading the script for the model or under tools reload geometry or click file and go down to the bottom and click the recent worked on file to reload (clicking open then choosing the file you're working on does nothing, think the engine knows better for one button but not the other)
wow, I typed a lot >.< Hope that helps someone
regarding the 3.5.3 make sure you have the RC update: http://www.crydev.net/viewtopic.php?f=326&t=114211
taking notes
format
cryengine rc version compiler, modo fbx version, modo preferences fbx version dropdown for 2013, number of errors or warnings. I'm testing on a non manifold object so there's always a couple warnings at the moment.
kinda weird, in preferences for fbx 2013 modo will save several other versions. so save as 2013 and then the preference drop down will force that to save the file as 2010..11..12..13. hmm. anything not saved with 2013 won't need the number that would follow 13.
all loaded into version 3.5.3 of cryengine, some versions of the fbx export weird smoothing that I'm not sure how to deal with right now. Smoothing groups??
so it will look like this:
345_13_10_1w working
345_13_11_1w working
345_13_12_1w working
345_13_13_1w working
345_10_1w working
353_13_10_? not working. converter doesn't finish, I see dae file flash for an instant in the target folder. Last converter message..."Loaded Cryphysics.dll"
353_13_11_? not working. same as previous
353_13_12_? not working. same as previous
353_13_13_? not working. Same as previous
353_10 not working. same as previous
Didn't test the last one 2006, but I'm running out of testing steam and I suspect it's going to be the same results. I've tried naming the material to the "nophysics" material, can't remember the long name. I tried a proper naming convention when I was trying to get this all working and nothing seemed to export right, I don't know if I'm doing it wrong or if modo isn't capable. I'm pretty sure, since they are named wrong, that the fbx converter is just renaming the materials to 01, 02, 03 etc. Anyway, Cryphysics.dll is blocking my attempts to export with the 353 rc.
So, I right click on the rc.exe in 3.5.3 and create a shortcut put that into the folder with the objects for my cryengine scene and just keep the fbx in the same folder. Sort by date modified, whenever I save my fbx out of Modo it has that at the top of the list, drag that to the rc.exe, file converted and engine auto updates.
I was told that this bypasses a lot of errors that Ruan's converter would tell you about, so this could potentially be unsafe and you could end up with an object that doesn't work and you don't know why. So, prolly keep frontend.exe around just to be safe.