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.
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.
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:
and so on. This method is easier to implement and can be adapted for all kinds of special cases.
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.
Will close this for now.