Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
Hi,
In Maya, an object in the outliner is usually represented by a shape node and a transform node. Shape node is what you see in the viewport. Transform node is what holds the PSR data, among others.
shape node
transform node
This separation allows user to swap shape nodes (through scripting) easily with no consequence.
Is this possible in C4D?
For example, I want to swap a cube spline with a sphere spline I can't do it directly since the cube spline is already connected to various xpresso, python tag etc. It will break if I just do so.
I just want to have the cube look like a spline (i.e. change the shape node).
Is this possible?
P.S. The expressions the cube is connected into is not points dependent so I will not have problem changing the number of points if necessary.
I'm referring to a lazy single command API that I might have missed .lol Like in Maya, it would be just parent -r -s. haha.
parent -r -s
If there's no direct API, no worries.
I probably can get away with it with ResizeObject. And just store the point position of source spline and modify the point position of the target spline. No need for illustration code.
ResizeObject
Just need a confirmation if such API call exist. Thanks!
Hello @bentraje,
Thank you for reaching out to us. This is a tricky question to answer, especially since you do not clarify what you would expect that function to do exactly.
When I take here all hints and assume a bit, then the answer is: No, in a classic API scene graph this is not possible in the way you probably think about it, but in a maxon API scene graph it is.
The classic API scene graph, i.e., things you see in the Object, Material, etc. managers, is organized as a monohierarchical structure (with a twist), while the Nodes API and Maya are inherently polyhierarchical. A common example of a monohierarchy would be a classical file system. Every node in a classical file system can have exactly one parent, it cannot appear twice in two separate places. A common example of a polyhierarchy is the human family. Here a child usually has more than one parent (both Alice and Bob consider Carol to be their child).
Technically speaking, polyhierarchies are not really hierarchies but directed acyclic graphs, a.k.a., 'a scene graph'. A monohierarchy is what we usually call 'a tree'. The classic API scene graph puts a twist on the tree concept, branches, but it would be more aptly named as a scene tree. At its core it is however bound to this 1:N relation, opposed to Nodes API scene graphs or Maya, which express relations in the complexity of N:N.
1:N
N:N
With this fundamental difference also follow many other changes, ranging from a more granular node model to high level things as dependency relations. In the end, this means that you can drive two geometries with the same transform in a Scene Nodes scene and Maya, but you cannot in a classic API scene. Switching out the geometry of a node, replacing a cube with a circle spline, is only a variation of the same problem.
Okay, that was a lot of tech blah-blah for a simple question. But I explained this to highlight how deeply rooted the problem is. You can of course just replace data:
You could also simply use Scene Nodes, as there this all no problem:
Cheers, Ferdinand
@ferdinand
Thanks for the outlining the limitation.
For options
RE: scene nodes. Uhm I really find the nodes implementation clunky at the moment and this is coming from a user who uses Houdini. No plans in implementing it at all in my workflow.And the pyro being implemented as a tag and not as a scene nodes set-up tells a lot that they are not confident in that workflow. Too convoluted for what it is trying to achieve and doesn't use "attributes" like what Houdini and Blender can. I find it as a "toy" at the moment rather than an actual production tool.
Anyway, will close this thread for now.