Home Technical Talk

Cinema 4d tips and tricks thread

polycounter lvl 19
Offline / Send Message
hawken polycounter lvl 19
I've noticed more of us are using this rather friendly software these days.

I was wondering if anyone has tips and tricks up their preverbal sleeve?

I have a good-un:

you can do sums in the numbers boxes! so you can write "5 x 39" and hit enter and the answer will appear as your value! handy.

Replies

  • Spanki
    Options
    Offline / Send Message
    If you don't mind a little self-promotion, I have some plug-ins at my site ( Spanki's Prop Shop ) that some may find usefull...

    Free:

    Add Normals - Will add (or update) a "Normal Tag" to the selected mesh, honoring the settings in the Phong Tag if it exists (phong angle, phong edge-breaks) or compute the vertex normals as averaged face normals if it doesn't exist (my next post will be about the "Evils of Normal Tags in C4D" :) ).

    Riptide - Wavefront .obj Import/Export filter with many features not found in the built-in C4D .obj filter (including loading/creating .mtl files, support for 'Groups' and UVMapper 'Regions' and lots of other features and control).


    Commercial (w/30-day Free Trial):

    I/Ogre - My most recently released Ogre3D .mesh / .skeleton file Import/Export plug-in. This is my first in a series of efforts to bring more game-oriented DCC Tools to Cinema 4D users. It Imports and Exports the text-based .xml versions of the .mesh and .skeleton files (with options to convert to<->from binary format) and supports skeletal animation.

    EDIT: Now also Imports VALVe:Source Engine .smd files, as well as MilkShape3D binary .ms3d files.


    Riptide Pro - The commercial version of my popular Riptide plug-in, with multitudes of additional options for the ultimate control over .obj files (see the comparison chart at the provided link).


    Undertow - A set of commands primarily focused on UV-mapping, along with some focus on / help with modeling with the C4D Symmetry Object (or what I call a "Symmetry Work-flow").


    ...I also have a few other plug-ins under development, including a MilkShape3D (.ms3d) Import/Export plug-in.

    Cheers,

    Keith
  • Spanki
    Options
    Offline / Send Message
    As promised above, this post is my tips about Cinema 4D's "Normal Tag"...

    In Cinema 4D, Vertex Normals (and thus, the 'smooth-shading' aspect of mesh objects) are normally generated and maintained by the "Phong Tag". The Phong Tag has options for setting a "Phong Angle" (smoothing angle) as well as an option to honor phong edge-breaks, or not - to get a break in the shading of what would otherwise be a smoothed surface (based on the Phong Angle), you can create a 'break' along any polygon edges. The Phong Tag keeps track of any edge-breaks and then also based on the angle set, generates and maintains Vertex Normals for the mesh.

    In addition to the Phong Tag, Cinema 4D also provides a "Normal Tag". This tag is typically only used/created by Import plug-ins, to set a specific set of Vertex Normals, found in some file when Importing. Note that the circumstances related to 'how' those normals were generated is not always known by the Import code - it just has some list of Vertex Normals that can be used (more on this topic, below).



    So, with the above in mind, here's what you need to know about the Normal Tag:
    • If both a Phong Tag and a Normal Tag are present, the Vertex Normals come from the Normal Tag (the Phong Angle and any edge-breaks are overidden by the specific normals in the Normal Tag).
    • If there is a Normal Tag, but no Phong Tag, no 'smooth-shading' takes place. This is a little surprising, but even though the Normal Tag values trump any Phong Tag settings, a Phong Tag is still required if you want any smooth-shading to occur.
    • Any changes to the mesh (particularly adding/subtracting vertices, but also just moving vertices around) invalidates the normals stored in the Normal Tag. You will start seeing shading errors in the mesh as soon as you start modifying it in any way.
    • Similarly, if any deformers or animation is applied to the mesh, the Normals are not updated (even though the vertices might now be facing some other direction, the normals still point in the original direction). This means when that viewing animations (either in the editor, or rendering) of meshes that have Normal Tags, you will not see the correct shading.
    ...so, with the above in mind, the question becomes "What good is a Normal Tag in the first place?" Good question :). But here's the best answer I have...

    The Normal Tag was implemented in order to provide some means of honoring some specific set of Vertex Normals that exist in some external file (generated by some unknown application). Since C4D has no idea about the 'intention' or the circumstances under which those normals were generated (edge-breaks?, smothing groups?, manual manipulation?), it doesn't make any assumptions - it just stores them (and effectively provides them to the Phong Tag and any Export plug-ins that might read them directly).

    The short story is: the Normal Tag is only useful in some fairly limited set of situations - it is not good for (and not meant for) a 'general' solution. In fact, it's generally less hassle to just delete them and use the Phong Tag setting and edge-breaks, etc. to fix the mesh how you want it.



    One example of when the Normal Tag is usefull:
    • Let's say you have a complex mesh object, with multiple Texture Tags (and thus, multiple Materials assigned to it).
    • That single, complex mesh has a Phong Tag, with the angles and edge-breaks set how you need them for the desired smoothing.
    • You then Export the mesh (using some Exporter that exports Vertex Normals).
    • You then (re)Import the mesh...
    • In either the Export process, or the Import process, the mesh may have been 'split' into multiple mesh objects - likely, but not always due to it having multiple Material assignments.
    ...if the mesh didn't have those original Vertex Normals (from back when it was a single/smooth mesh), then you'd now have 'breaks' in the smoothing, between the separate mesh objects.

    The above scenerio is actually quite common in game-oriented DCC, since the target file format typically requires that 'mesh' (or submesh) objects be broken up at material boundries. Say you just want to Import one of these meshes to make some edits to the uv-mapping... you can do this (enabling the Import of the Vertex Normals from the file, so they get preserved), modify the uv-mapping (but no vertex changes) and re-export the file (re-saving thos original, smoothed normals).

    Sorry for the mini-novel, but I hope someone finds it useful :)

    Keith
Sign In or Register to comment.