cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Shape node that can contain more than one curve at a time

Shape node that can contain more than one curve at a time

Currently if you want to have hundreds or thousand (or tens or hundreds of thousands) of curves in a maya scene each curve will get its own shape node.  This will very quickly kill Maya.  Individual curves should be like polygon faces.  The shape node should be able to have more than one curve just as the mesh node can have multiple faces.

11 Comments
ronviers
Enthusiast

hi berjb,

not sure this option includes everything you need but you can do that now with the 'parent' command.

 

select some curve shapes then a transform then:

parent -s -r;

 

hth,

ron

berjb
Contributor

Hi Ron,

 

Sadly no.  While this saves on transform nodes, this still keeps each curve in its own shape.   So for 10,000 curves (not uncommon) you would go from 10,000 transforms and 10,000 shapes to 1 transform and 10,000 shapes.

 

I do believe that Maya's Alembic importer, upon encountering many curves does this automatically as well (puts all of the curve shapes under a single transform).

 

Thanks!

Berj

ronviers
Enthusiast

oh i see, yes that would be useful.

Although it might be a can of worms if it means touching the code of every tool. Could be some weirdness when doing an 'attach' or whatever, between curve elements in different networks.

Anyway, it gets my vote:)

 

thanks,

ron

tj.galda
Alumni
Status changed to: Archived

Unfortunately Ronviers is right here.  Technically this is possible but the implications of all of the workflows that would break or need updating would make this have to sit much further down on our priority list compared to other ideas being requested.

 

Many of Maya tools would not know how to use multiple curve inputs so we would need to do a lot of work to support it.  A simple retrofit to just allow a node to hold multiple curves would require exploding them into multiple nodes anyways once those tools are run.

 

Lets say you want to do a simple extrude with two curves.  Right now you would have:

 

curve1 -> extrude -> shape1

curve2 -> extrude -> shape2

 

where extrude and shape can only take 1 curve input

 

without teaching every operation how to handle multiple curves as inputs we would do something like:

 

curve -> extract curve 1 -> extrude -> shape1

          \-> extract curves 2 -> extrude -> shape2

berjb
Contributor

I feel like a whole new shape node (nurbsCurves?) would solve that.  Curves in such a shape wouldn't have much purpose for things like extruding.  And even if they did then you can extract them to single curve shapes for work until the maya toolsets catch up.  It can be a fully formed feature right from the get go while at the same time giving maya room to grow to handle much more sophisticated workflows that it simply can't handle right now.

 

Right off the bat if you allowed combining multible nurbsCurve shapes into a single nurbsCurves shape (probably need a better name that doesn't differ by one letter...) as well as busting out all or some of the curves into single shapes then that would be more than sufficient to start with.  It would at least allow maya to *function* with such datasets.  After that the rest can come (if necessary).

 

Currently maya crumbles under the weight of the hundreds of thousands of curves I'm importing.  And it's not the data size that's doing it.  It's all the shape nodes in the DG.  Currently I am hacking things so that I create closed poly faces for each curve and then bring them into maya as a mesh.  At render time we just output the open curves and all is good.  Barely a hiccup from Maya.  But it's ugly and not a good long-term solution.

 

 

Now that I am typing this.. the *other* solution is to allow open poly faces in Maya.  Not sure which is worse as far as knock-on effects go, however.

tj.galda
Alumni
Status changed to: Future Consideration

That's a good point Berj.  I've flagged this for further investigation once we have some time after the big features we're doing right now.

Anonymous
Not applicable

 

a new shape node is the way to go...  currently, wrapping 10,000 curves will result in 10,000 wrap deformers...  if those 10,000 curves were simply represented by a single shape node, then you would only need one wrap deformer...   blue sky implemented their own multi-curve geometry type which allowed for deformers to act on thousands of curves simultaneously as efficiently as possible...

 

 

ZachGray
Enthusiast

This is absolutely necessary for performant guide simulation for xgen. Maya just collapses with too many nodes, and bringing in even a few thousand simulated curves brings it to its knees.

berjb
Contributor

Well.. it's 2 years later and we're hitting this problem again. 

 

This is a very real and very painful deficiency in maya.

 

We need a simple way to have a shape node with many tens or hundreds of thousands of curves that can be rigged and generally dealt with the same as a poly mesh.

Anonymous
Not applicable

@tj.galda 

I have 1 curve with multiple shape node. Is there any way to saparate all the shape node from parent curve and use them individuals.

ronviers
Enthusiast

Hi nintin,

If i understand your question correctly you can parent the combined shapes to new transforms. (nulls/groups or anything with a transform)

parent -s -r [shape name] [transform name]; or

select the transform then shift (shift in the node editor - control in the outliner) select the shape and execute the

'parent -s -r;'

command in the command line or the script editor.

 

if you have any problems you will can expect better answers from one of the support forums. here:

https://forums.autodesk.com/t5/maya/ct-p/area-c2

 

Can't find what you're looking for? Ask the community or share your knowledge.

Submit Idea