I am trying to get a simple model made in cinema 4d into vvvv, and manipulate it in dx11. I have followed evvvil’s great tutorial, and it’s working great in dx9, but getting the same mesh to look right.
Any help would be greatly appreciated.
Cinema4d Collada to VVVV DX11.zip (93.5 kB)
If you can, go with fbx and the assimp nodes.
No need for the heavy vertex buffer split.
Have you got a demo patch with the assimp nodes?
I’d like to point out this.
When exporting a mesh from C4D to the COLLADA format, you should first make the object editable (from parametric to polygonal -> at this point you would connect and/or optimize the object) and then you should set the coords for the axis of each object to (0,0,0) in world coords.
This is possible only when the object is NOT parametric, and can be achieved like this: select a single object (if you don’t want to connect any of the submeshes, you should do this for them too), use command Enable Axis Modification, and in the coordinates manager input 0 for each axis; finally you can click on apply button.
Why you would do this? Because this is what you get if axis (of all submeshes in this case) is not set to (0,0,0)
Here we see that the extrusions sit where they should, while the submeshes (that M) are not where they should be (moreover nor A nor L nor U submeshes are in the viewport).
In this case the single chars are still split into extrusion and caps, but the axis of every single object (mesh and its submeshes) is set to (0,0,0)
All meshes are exactly where they are in C4D viewport, or better their position relatively to the (0,0,0) point in world coords in C4D is the same for the (0,0,0) point in vvvv.
This is not a must, obviously, but I can see some use for this tip.
yes good point h99. are you aware of a way to set the “origin” for all elements at once (nested or not) in cinema 4d? i remember struggling with that on some complex meshes with hundreds of elements. touching each one was no fun…
I don’t know if they implemented something to achieve this in the most recent versions - select all objects, and go.
Anyway you can set the same origin for multiple objects at once only if they already share the same coordinates, otherwise what happens is something like an average coords values.
So at the moment, for what I know, there are four ways:
- select each and every object and input the (0,0,0) array.
- enable grid point 3d snapping, select an object and translate its axis from wherever it may be to the center - this is probably the fastest manual way I know of.
- export ASCII data for every object, work with it in a vvvv way, reimport everything (though you should still manually input some data).
- write a plugin, or find the one that probably already exists; this can’t be achieved via xpresso, afaik.
All in all, honestly this is something I do “automatically”, and don’t find myself in such a mess, but I usually build my meshes, and rarely import them.
There’s really no easy way when importing stuff, imho.
Yeah, haven’t had the greatest of luck, keep getting broken meshes… the collada method > dx9 and then dx9>dx11 seems to give the nicest results, but ideally would love to have it all dx11 right the way thru.
The logo that I’m working with is pretty specific in colour, and placement of the letters, just trying to get something that looks good that I can navigate around in 3d in vvvv. Will keep working at it!