Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush Python API
      • ZBrush GoZ API
      • Code Examples on Github
    • Forum
    • Downloads
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Categories
      • Overview
      • News & Information
      • Cinema 4D SDK Support
      • Cineware SDK Support
      • ZBrush 4D SDK Support
      • Bugs
      • General Talk
    • Unread
    • Recent
    • Tags
    • Users
    • Login

    Tag Based Subdivision Surface?

    Cinema 4D SDK
    r20 python
    3
    4
    1.0k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      bentraje
      last edited by

      Hi,

      Is there I can make a tag based subdivision surface? Currently, they are separate objects as generators.

      My main griped about this is whenever I select an object in the viewport, the subd object is selected first. I understand, that there is a ray selection and hit RMB to see the list of objects. But it gets tricky if there are multiple objects hit by that ray selection. Also it is just a bit cumbersome, overall.

      So, I was looking for a tag based subdivision surface? I think it is possible since external renderers have a subdvision tag where they subdivide geometry at render time, correct me if I'm wrong.

      Is there a way around this?

      Thank you for looking at my problem.

      1 Reply Last reply Reply Quote 0
      • r_giganteR
        r_gigante
        last edited by r_gigante

        Hi Bentraje, thanks for reaching out us.

        With regard to your point it's relevant to make a proper distinguish between how a rendering engine delivers subdivision surfaces and how Cinema does for scene elements to be subdivided.
        The firsts usually take the native (unsubdivided) geometry and based on the parameters which are attached to the geometry (in our case tags) compute the subdivided representation internally filling their acceleration structures with this representation.
        This has the huge advantage that the data being feed from the DCC to the renderer has a small memory footprint and the rendering engines have 100% control on how to deal with the sub-d. In this case they only need to retrieve, beside the native geometry, information about local quantities (think about the crease level for a point / edge / polygon) and other global parameters.
        In the latter case instead, subdivided geometry actually needs to be created and delivered to the Viewport pipeline to be properly passed to the rest of the modeling engine and to guarantee that modeling operations can run on top of the subdivided geometry. In this case the proper way (in Cinema 4D at least) is to create a generator which also takes advantage of the geometry caching mechanism.

        To answer your question, in principle you can consider to do this, but it's far from being practical with on same cases severe performance penalties.

        Best, Riccardo

        1 Reply Last reply Reply Quote 2
        • CairynC
          Cairyn
          last edited by

          Reprogramming a full SDS (however this is done) seems like overkill to me.

          Personally, I did a few simple scripts (tied to keystrokes) that allow me to "walk" the object tree for cases like this, like:

          • from the currently selected object, go down to the next polygon object below (for the SDS case)
          • from the currently selected (polygon) object, go upwards and (de)activate all SDS and symmetry objects containing this poly object

          and so on. This method is easier to implement and can be adapted for all kinds of special cases.

          1 Reply Last reply Reply Quote 1
          • B
            bentraje
            last edited by

            @r_gigante @Cairyn

            Thanks for the thorough explanation. I underestimated the task. I initially thought it was just an easy click since the function is already available as a generator.

            I was looking for the same behavior in Maya. Where the subdivision deformer or modifier is not a separate object. So I can select objects easily.

            Anyhow, will settle for what is available in C4D currently.

            Thank you.

            Will close this for now.

            1 Reply Last reply Reply Quote 0
            • First post
              Last post