subCurve node bug

subCurve node bug

BurkhardRammner
Collaborator Collaborator
1,691 Views
16 Replies
Message 1 of 17

subCurve node bug

BurkhardRammner
Collaborator
Collaborator

Hi,

 

it looks like encountered another unfortunate bug.

This one is related to the 'subCurve' node.

As I haven't found anything on the net about weird behavior, I post it here:

 

When you get the sub-curve of a nurbsCurve which itself is the sub-curve of another nurbsCurve, all subCurve nodes take as a source the original nurbsCurve.

If I don't get it wrong, the subCurve node should take the direct nurbsCurve input node as a source and not the nurbsCurve which is actually not visibly connected, right?

 

Can anyone confirm this?

Maya file is attached.

 

thanks!

0 Likes
1,692 Views
16 Replies
Replies (16)
Message 2 of 17

sean.heasley
Alumni
Alumni

Hi @BurkhardRammner

 

Thanks for attaching the scene file!

 

I am seeing this on Maya 2018. Is that the same version you're working with? If not please let me know what version you are working with so I can update the log on this issue so our dev team can work on a fix for a future update/release of Maya.

 

 

0 Likes
Message 3 of 17

BurkhardRammner
Collaborator
Collaborator

Hi Sean,

I`m on 2018.4

 

thanks!

0 Likes
Message 4 of 17

BurkhardRammner
Collaborator
Collaborator

I don`t know if the subCurve bug is specific to 2018.4. Never used that node before...

 

However: the node only accepts parameter based min and max values.

Why is that? MFnNurbsCurve offers easy access to length based min and max values.

So Jean, why not add that functionality with an enum switch? Its really no big deal...

0 Likes
Message 5 of 17

BurkhardRammner
Collaborator
Collaborator

to be more specific: I 'hate' it to write a node for that myself ; }

0 Likes
Message 6 of 17

BurkhardRammner
Collaborator
Collaborator

Sean,

 

if I'm right, the subCurve node has another bug.

To be clear, actually I submit found bugs myself. But often, I`m not sure whether its really a bug or I did something wrong or understood the result wrongly. So, maybe this is the case here, but it looks like its a bug...

 

I attached the relevant scene and explain it:

There are two sets of connected nodes in two containers.

(yes, I hate it that the nodeEditor still cannot work with containers, so use the hypergraph here)

The node network is identical for both containers.

There is a nurbsCurve source connected to a subCurve node which feeds the result to another nurbsCurve node. Then the nurbsCurve data are modified by a rebuildCurve node and the last node is another nurbsCurve so we can see the result.

Whats different is that the source curve A has 7 CVs and source curve B has two CVs. The CVs of source curve A are NOT evenly spaced.

For both networks, a subCurve of identical length is produced. You can see that looking at 'curveAA' and 'curveBB'.

But, when another curve is created from these data using the rebuildCurve node, the resulting curves (curveAAA/curveBBB) have different length.

Sooo, doesn`t this look strange?

'curveAAA' is clearly wrong, right?

 

thanks for your help!

0 Likes
Message 7 of 17

BurkhardRammner
Collaborator
Collaborator

I created a workaround node for this bug myself -> simply create a new curve with the data from the subCurve output

(MFnNurbsCurve::create(...) ). Looks like the resulting curve from the subCurve node is of absolutely no use. Maybe its because of the knotDomain data (min max value) ? Maybe the fix would be to create a totally new curve inside the subCurve node and not a curve which carries the knotDomain data?!?

0 Likes
Message 8 of 17

Anonymous
Not applicable

There's a better solution.

0 Likes
Message 9 of 17

sean.heasley
Alumni
Alumni

Hi @BurkhardRammner

 

Thanks for adding all of that information!

 

I went ahead and updated the log with all of this new information so the devs can see it as they work on this issue.

 

 

0 Likes
Message 10 of 17

absoluteKelvin
Collaborator
Collaborator

The subCurve output is still a problem. Whenever i deleteHistory on the output Curve, the curve reverts back to original instead of the result I have tested this in 2020.4

 

Edit: Correction. It happens when i try to duplicate the output curve from subCurve.

https://www.artstation.com/kelvintam
0 Likes
Message 11 of 17

BurkhardRammner
Collaborator
Collaborator

...its one of the many nodes the early Maya developers must have written when they were totally drunk and off earth when Steve Jobs told the press that Maya was the most complex piece of software ever.

 

I cannot think of another explanation for all that old garbage code inside Maya.

0 Likes
Message 12 of 17

absoluteKelvin
Collaborator
Collaborator

wait what Steve jobs said that? lol. I hope they fix this. because it would be a handy node to use for some procedural curve tool im building.

https://www.artstation.com/kelvintam
0 Likes
Message 13 of 17

BurkhardRammner
Collaborator
Collaborator

wait what Steve jobs said that?

Yep...but maybe it was him who was drunk?

Nevermind...

 


I hope they fix this. because it would be a handy node to use for some procedural curve tool im building.


...unless you are the CEO's nephew -> forget it : )

0 Likes
Message 14 of 17

BurkhardRammner
Collaborator
Collaborator

I have been re-visiting the scene where I had to deal with that subCurve issue...

My solution was to create a new nodeType, which takes as input the curve data from the subCurve node, internally creates a new nurbsCurve with these data, and then simply outputs the new curve to a nurbsCurve node.

That was, when you copy the nurbsCurve, it keeps its correct values.

Unfortunately, my most recent maya version is 2020 (no reason to get new updates, as nothing relevant for me gets a boost and also I don`t want to 'rent' maya!).

Maybe you find a default node which does the same as my 'postSubCurve' node...

0 Likes
Message 15 of 17

absoluteKelvin
Collaborator
Collaborator

fair point about the rent issue. But i have invested too much into maya and it so ingrained in my workflow. the indie pricing seems reasonable.  off topic a bit sry. I have no experience in writing nodes, nor do i have the patience to maintain it. However do you have any workarounds that allows to get a cleaned curve out of the subCurve without getting into API?

https://www.artstation.com/kelvintam
0 Likes
Message 16 of 17

mcw0
Advisor
Advisor

The subCurve node is useless!!!  For all the previously posted reasons.  The workaround is the detachCurve node.  Works perfectly!

Message 17 of 17

absoluteKelvin
Collaborator
Collaborator

genius solutions thanks mcw0 

https://www.artstation.com/kelvintam
0 Likes