tesselation question, special imnporter plugin to cinema4d

Next
 From:  lllab
3314.1 
dear MOI team,

we developed a plugin that can import 3dm files into maxon cinema4d. this was mainly developed for rhino, but there are also many MOI users among the Cinema4d userbase.

now my question is:
as c4d has no nurbs and has to read polygonal data with normal tags, we use the internally stored render meshes rhino saves into the file, or custom tessellated objects.

i own also MOI and of course hoped it would work also for it. but i encountered 2 problems:
1) it seems moi does not save any render meshes into the 3dm file( or does it differently?)
2) i find no way to tessellate a geometry in writing a 3dm file. this is specially sad, as the tessellation engine of MOI is extremely good and clean. but it seem i can only tessellate when exporting to a foreign file format.

so my question would be, is it possible to add an option to tessellate the file on export also to 3dm? or is it possible to add a command to mesh objects in MOI itself,as it can be done in rhino?

maybe this both is also possible already, then excuse my questions:-)
best greetings
stefan laub
vrayforc4d
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3314.2 In reply to 3314.1 
Hi stefan,

MoI only saves pure NURBS objects to 3DM files, it does not write out any render mesh data in addition to the NURBS objects since those often times bloat the file size up by many times in size.

The reason why Rhino was designed to store render meshes is because it has a very slow meshing mechanism. It was necessary to store them in the file to avoid the slow recalculation time to get a shaded display.

That problem is solved in MoI by having a very fast display mesh generation mechanism - having a very fast display tessellator enables MoI to create display meshes on demand when loading a file instead of having to store all that additional data in the files. This results in smaller files being saved which is a nice benefit.

That fast display mesher also helps out at model time in MoI a lot as well, since when you edit a model the display mesh may need to be recalculated anyway in response to changes in the model.


> 1) it seems moi does not save any render meshes into the 3dm
> file( or does it differently?)

It never saves render mesh data as part of a NURBS object, when it loads in a 3DM file it just creates the render meshes as needed by tessellating them.


> 2) i find no way to tessellate a geometry in writing a 3dm file.

Yes, that's correct - but the same thing applies to Rhino as well - there isn't any mechanism in Rhino to save a "meshed 3DM" file at save time by picking it as a file type off of the file type list.

The reason why is it could easily lead to confusion having different kinds of 3DM files that are written but with completely different types of objects in them.

3DM is intended to be MoI's primary file format, so it wants to write out the full NURBS objects to its primary file format and not possibly confuse someone by thinking they are saving their true model data to 3DM when it actually turned out that they were writing only tessellated data (which MoI cannot read back in again) to their file, basically losing their work.


> so my question would be, is it possible to add an option to
> tessellate the file on export also to 3dm? or is it possible to add a
> command to mesh objects in MOI itself,as it can be done in rhino?

Possibly in the future, but there is not currently any way set up to do this.

MoI is not currently focused on working with mesh data at model time, so that's why there is not any separate "Mesh" command for turning objects into a mesh but keeping it in the model instead of writing it out to a mesh file.


But what is it that you are trying to gain by reading the mesh data out of a 3DM file, instead of reading the same mesh data out of a more polygon oriented type of file like an OBJ file?

With the RipTide importer, Cinema4D is able to import material information from OBJ files.... Is there something that you're trying to do that is not covered well by just loading an OBJ file into Cinema4D instead ?

- Michael

EDITED: 14 Feb 2010 by MICHAEL GIBSON

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3314.3 In reply to 3314.1 
Hi stefan, also even if MoI did write out render mesh data attached to NURBS objects in 3DM files, I think you will be getting some reduced functionality if you tried to read that data rather than loading in an OBJ file.

For example, I don't think that 3DM render meshes can have n-gons in them.

Also MoI is able to apply different materials to individual faces out of a solid, which does not really map to Rhino - Rhino is limited to have only one layer assigned to a whole solid and can't assign different layers to individual faces in the solid like MoI is able to do.

Also 3DM meshes are not able to have a welded vertex structure where 2 faces share the same 3D vertex point but have separate vertex normals and uv coordinates for the face, rather than sharing everything.


If you try to read only 3DM mesh data instead of OBJ mesh data you're going to end up with all the limits that are imposed by Rhino's older style mesh structure. You won't be getting the full fidelity of what MoI's mesh export is able to produce.


MoI is able to handle mesh data in a more flexible way and can produce these other kinds of mesh data like n-gons, welded points with different normals, different materials per face of a single solid which work in an OBJ file but won't fit in a 3DM mesh file.

With those limits, 3DM is just not really a great file format for storing mesh data in general, it was never really the primary focus of the format.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Brian (BWTR)
3314.4 In reply to 3314.3 
Since MoI has had the Browser with the Styles I only now export out to .obj files.

However, ever since I have had MoI, Carrara seems to import the 3DM files quite cleanly.

The attached is from a 3dm file creation I did yesterday in MoI following the ideas of another thread.

Brian
Image Attachments:
Size: 175.8 KB, Downloaded: 66 times, Dimensions: 1024x640px
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  okapi
3314.5 
Is this for people who receive 3dm files but do not have access to either moi, or rhino?
At least when using moi (from Rhino it is a different story), I would not see a need to have an import plugin in C4d since the
obj or lwo meshes from Moi are extremely clean.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  WillBellJr
3314.6 
I bought C4D specifically because it imported MoI objects the best out of all the 3D apps I have.

The Objs do fine all by themselves but if you want v2's new styles to get in also, use the Riptide plugin and then you'll get the styles as well - job done...


-Will
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  lllab
3314.7 
thanks for the answers, i know the obj export is working good in MOI,and i own reptide pro,
still this has no automatic file export capability, as we have it in our plugin, and some other drawbacks from the way it is structured in c4d.
the plugin makes our live a lot easier for the rhino-c4d connection. and i would have loved the same workflow for moi.

in the end it is all about workflow. the rhino files comes in very nice and clean from all our models and testers, so we are quite happy with the rhino mesh export. it is true that there are this limits you explain in rhino, but we seldom had a problem with that or miss those features.

anyway, as moi users i miss the ability to mesh an object without the need to export it.
so i place here an wish, maybe sometime there will be a tessellate command inside MOI:-)

thanks
stefan
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Lemo (LEMONNADO)
3314.8 
My experience is that the stored meshes from Rhino are inferior to the meshes exported with options in Rhino which are in turn inferior to the meshes exported from MOI. I'll stick with the MOI step for C4D conversion of 3dm files for quality and control reasons.
Rainer
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3314.9 In reply to 3314.7 
Hi stefan,

> the rhino files comes in very nice and clean from all our
> models and testers, so we are quite happy with the rhino
> mesh export.

Are you only working with very simple models or something?

Rhino has a tendency to create quite messy meshes, there are a lot of people who use MoI only for the purpose of getting a higher quality and cleaner mesh (including using n-gons) than what Rhino is able to produce.

Problems with Rhino's mesher are pretty well known, and are discussed frequently in the Rhino newsgroup.

Here are a couple of comparisons in meshing between Rhino and MoI from some other people:

http://www.renderology.com/?p=144
http://forums.luxology.com/discussion/topic.aspx?id=23798

There you can see some direct side-by-side comparisons between the meshing, and it is so easy to see how messy Rhino's output is, and what a nice benefit it can be to the wireframe appearance to generate n-gons rather than a whole bunch of triangles.

Cinema4D has good support for n-gons so it is kind of a shame to not make use of it...

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  Michael Gibson
3314.10 In reply to 3314.7 
Hi stefan, so I guess the problem for MoI users is that storing the mesh data into a 3DM file will actually degrade the data - you won't have support for things like welded points and n-gons which MoI users are currently able to make use of when exporting to OBJ format. Those are not just fringe features either, they are used quite frequently.

3DM is just not a particularly good format for storing mesh data...

Why not use OBJ format for your importer instead? OBJ is just fundamentally a more flexible format for storing meshes.

Just because Riptide does OBJ format does not mean that you cannot use OBJ format as well, and you can then add in whatever automated export or structural type mechanisms that you wish, without being forced to also degrade the mesh geometry.


> so i place here an wish, maybe sometime there will be a
> tessellate command inside MOI:-)

The thing is, in the future when I would have a command for that, it could be better to have it focused on producing a full fidelity mesh inside of MoI and not necessarily one that was Rhino compatible because of all the limitations in Rhino's mesh structure that I wrote about previously. I guess maybe there could be some kind of option to generate a more limited Rhino compatible mesh instead possibly.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All