Jump to content

Jittery geometry in digital asset


tomwyn

Recommended Posts

Hi all,

I'm having a little problem with digital asset geometry, and was wondering/hoping someone on here might be able to point me in the right direction for a solution.

Basically, I've created my own digital asset of an object, and after installing the otl in a new scene & creating the node, I'm animating it along a nurbs curve around some obstacles.

My problem is, as my asset is moving along the curve, the individual geometry elements within it are 'jittering' as if they are not connected. (They look as though they are slipping over each others surfaces.)

I have tried resampling & refining the curve, hoping that the added points would maybe 'smooth' it out, but it has no effect whatsoever. Neither does converting the resampled curve back to a bezier/nurbs... that just creates far too many points for my machine to handle.

I've also tried creating a null & using the lag animation tool to make the object follow it... Again, this has no effect on the jittering.

My asset is set to be non-editable, and none of the interior geometry paramaters have visible changes to them (greyed out). And I haven't implemented any rand or fit / fit01 expressions anywhere in my scene. (I only mention this because the jittering looks similar to a fit01 expression with extremely low min/max values has been applied to the geometry.).

My only thought at the moment is that the object has a default scale of 1, while it is traveling over 6000 distance units along the curve. But, I have another asset constructed in exactly the same way, which doesn't seem to show these issue at the same scale ratio. Obviously I have tried many iterations in altering the scales of the asset/curve/obstacles but haven't come across a combination which eliminates the jittering.

I'm really scratching my head on this one, so if anyone could help me out, that would be awesome. :)

(Unfortunately, I cannot share my .hip file as I don't own the rights to it.)

Thanks in advance!

P.S. I'm using 11.1.188 on a Mac Pro

P.P.S Sorry if this is already covered in the forums, I searched for as many related terms as i could think of, but couldn't find a similar issue being discussed.

Link to comment
Share on other sites

I'm animating it along a nurbs curve around some obstacles.

Can you please clarify that statement.

Are you using a path follow at the Object level, or is it animating along the curve at the SOP level? If at the SOP level, how is this done?

Your problem has nothing to do with it being an asset. It's just the way you have it set up. We need more info to understand what's happening.

Link to comment
Share on other sites

Hi hopbin9, thanks for the reply.

Apologies if there wasn't enough info:

I'm animating both the assets I mentioned along the same curve at scene level, using the standard path object field in the paramaters menu. Using '0' roll, 'arc length' paramaterization & 0 orientation along the path.

(Since my post, I have found that both assets are displaying the same jittering problem, rather than just the one as I initially stated.)

The animation lasts just over 2,000 frames, but currently only consists of only 2 keyframes - 'position 0' at the start & 'position 1' at the end.

All the geometry elements within the otl's are separate, other than 2 nodes which are parent/child. (Not sure what relevance this might have.)

The curve object is nurbs, using cvs & the standard order '4', is not closed & consists of 17 points. (although I have tried the curve with over 1,000 refined & resampled points, to no avail).

I have noticed that if I increase the scale of the assets at scene level, the jitteryness is more subdued, but doesn't disappear completely. And if i decrease the scale, it is more pronounced. (As default, I am using a scale of 1, but 10 shows improvement, whereas 0.2 is a lot worse).

I hope that's enough info to offer an insight into my setup. Again, apologies for not being able to share the .hip.

If anyone requires any more specific details please let me know & I'll provide as much as I can.

Thanks again, really appreciate the help.

tom.

Link to comment
Share on other sites

Hi rafaelfs,

I do have merge SOPs in the assets. Basically they are setup from a few geometry nodes (many of which have merge SOPs in them) contained in a subgroup, which i then saved as the asset.

I'm fairly new to Houdini, so I'm not sure if this is the cast-in-stone correct way to create an asset. (?)

Also, could you explain a little more what you mean by 'Could it be the transform object in those are not setup properly?' I'm not quite sure what you mean, sorry. :/

Thanks for the reply.

tom.

Link to comment
Share on other sites

Not sure about FlipBooks (Am away from workstation now as I'm on GMT, so can't check at the moment), but I can confirm that It jitters when I render out using Mantra, so I don't think it's a viewport issue.

I've double checked my otl's source file & all the merge SOPs as rafaelfs suggested, they all seem fine, in that I'm not getting any errors or miss-matched attribute warnings.

Thanks.

Link to comment
Share on other sites

Hi rafaelfs,

I do have merge SOPs in the assets. Basically they are setup from a few geometry nodes (many of which have merge SOPs in them) contained in a subgroup, which i then saved as the asset.

I'm fairly new to Houdini, so I'm not sure if this is the cast-in-stone correct way to create an asset. (?)

Also, could you explain a little more what you mean by 'Could it be the transform object in those are not setup properly?' I'm not quite sure what you mean, sorry. :/

Thanks for the reply.

tom.

I mentioned parenting cause I once had issues with parented geometry containers inside an asset. Basically the child nodes were inheriting the transforms space of the parents (obviously, at least now, but not for me at the time) and animating transforms in the OBJ level was screwing my animation inside the asset. Nothing like jittering, justr wrong orientations. I ended up having to promote the transforms of geo containers inside the assets as a rather and transforming the asset itself. I just imagined the jitter could be caused by gimbal lock because of parenting and orientation issues, but since you said the only animation is the path position I guess that discards my assumption.

Object Merge SOPs have a parameter called Transform Object, which specifies how the merged objects transformation are brought into the new geo container. That again is related to my previous assumption in this issue.

I guess now would be a matter of, if possible, you setting up a scene that you could share so we can study it... maybe a simpler version of you asset, in case there's anything proprietary there?

Cheers

Link to comment
Share on other sites

Just a thought as I'm still not quite clear on what's happening, but are you far from the scene origin by any chance?

What happens on non-integer frames?

You say you travel along the curve. Is there any 0..1 parametrization involved? What if you were to use real distances? Anything changes?

Edited by Macha
Link to comment
Share on other sites

Try opening each asset, and clicking the RED lock control on the final SOP nodes. This will bake the geometry at that SOP node. Any SOP animation won't cook since the last node is locked, but this should help test the problem.

Let us know if the jittering continues after trying that.

Link to comment
Share on other sites

Thanks for the responses all...

@rafaelfs

Thanks for spelling that out for me, really appreciate it.

I'll look into the transforms/parenting inside my asset again in the morning & see if there's anything I can do in terms of promoting paramaters etc.

@hopbin9

Will also try locking the final SOP's in the morning to see if that solves anything, or narrows down the source of the problem. (I didn't realize turning on the locking marker also baked the geo, good tip for the future :) )

@Macha

Yes, the object certainly is traveling far from the scene origin. It starts at the origin & continuously moves away. Do you think moving my curve so that it's centre point is around the origin might help?

I can't give a definite answer for the non-intergers at the moment as I didn't think to check earlier. What would you suggest as the best way to check this, the channel editor?

If all these great suggestions fail, then yes, I'll try to put together a simpler version of the asset which has a similar structure to upload. But hopefully it won't come to that ;)

Seriously, thanks so much for the feedback!

tom.

Link to comment
Share on other sites

Well, I have a feeling you run into precision errors. There are ways around that, none of them easy. One would be to temporarily move your stuff to origin, and then back once you're done. On huge scene scales or differences in scales this does happen all over the place, and the further you get from the origin the more you loose precision. I think it has to do with the decimal point shifting position but I'm not really sure. Or some strange mantissa thing -who knows how these things really work other than people who peruse IEEE. Also, try H12 if you can and see if it is better.

It's just a suspicion of course. I'm not sure if it is the real problem in your case.

Edited by Macha
  • Like 1
Link to comment
Share on other sites

Well, I have a feeling you run into precision errors. There are ways around that, none of them easy. One would be to temporarily move your stuff to origin, and then back once you're done. On huge scene scales or differences in scales this does happen all over the place, and the further you get from the origin the more you loose precision. I think it has to do with the decimal point shifting position but I'm not really sure. Or some strange mantissa thing -who knows how these things really work other than people who peruse IEEE. Also, try H12 if you can and see if it is better.

It's just a suspicion of course. I'm not sure if it is the real problem in your case.

When you first mentioned distance from origin, it kind of clicked that precision might drop the further away the geometry gets. I've been finding that I'm using smaller & smaller values at the far end of the animation. (For example, the difference between position 0.00 and 0.01 along the curve is much smaller than the difference between 0.99 and 1.00.)

Hopefully one or some of the above suggestions will reveal some kind of solution! :)

As I mentioned, if I can I'll upload a similar .hip to the one I'm using. I understand it might by a little frustrating try to decipher my descriptions! ;)

Thanks again.

Link to comment
Share on other sites

Another thing to try. Connect the last locked SOP to the input of a Box SOP. That will create a box that surrounds the bounding volume of it's input. Then increase it's polygon divisions. Let us know if that geometry also jitters.

Will do!

Thanks for the suggestions. I'll work my way through the scene in the morning & update when I can. I'm sure there's a solution In there somewhere! :)

tom.

Link to comment
Share on other sites

Hi all,

I've spent some hours working through all your suggestions, but unfortunately I have not found a solution to the problem. Here's a brief overview of what I've tried (after all of these, the jittering remained):

'Locking' final SOPs within assets to bake geometry.

Attaching box to locked geo to create bounding box.

Scaled down scene so that object does not travel so far away from origin.

Checked & iterated 'transform object' within my merge SOPs.

Non-integer frames seem fine.

The only slight improvement i've managed is going in to my assets at geometry level & increasing all the scales x10, which meant not needing to scale down the overall asset in my new scene as much, but the jittering is still there & ultimately, I am still using the same scale ration between my asset & the obstacles, so I end up with the same problem.

I have a serious hunch that the scale difference between my curve/asset is the issue. But it could also be the parameterization along the curve (reaches many decimal places).

Anywho, I've constructed a super basic setup which displays the same problems as my scene, so if any of you guys could take a peek to either confirm my suspicions about the scale ratios (or expose me as an utter fool for missing something blindingly obvious) that would be amazing.

in the scene, the asset is a sub group (rather that just sharing an otl) & contains a simple parent/child relationship, some geo with promoted paramaters to control from the assets at scene level, and some baked geometry.

The scales in the scene are as large as I would like to take them, so feel free to scale down anything if needed. However, the scale ratio between the asset & the obstacle need to remain the same - or as close as possible.

Thanks again for all the helpful suggestions.

jittering geometry example.hip

Link to comment
Share on other sites

Macha was right. It is a precision problem.

I fixed it by giving everything a common parent and scaling the scene down by 0.001

Seems to have removed the jittering.

Hey, yes this does indeed solve the jittering issue in this scene! Thanks a bunch! :)

I didn't think to use the uniform scale slider as I haven't used it before... I had a feeling I would have overlooked something fairly obvious, sorry about that.

How would you suggest I apply this technique to assets which contain locked geometry? (i.e. the rescale input breaks the locked nodes) Or should I just save my .otl's again but make them editable? I'd rather not do this as I'd have to pretty much reconstruct my scene, but if it's the only viable option then I can give it a go.

Here's another example file which includes the .otl of the subnet from the previous example so you can see what I mean by the nodes 'breaking' when I try to rescale them. If you could have just one more quick look I'd really appreciate it! (If you need to look, that is.)

Thanks again, really appreciate the help.

asset example 002.zip

Link to comment
Share on other sites

Macha was right. It is a precision problem.

I fixed it by giving everything a common parent and scaling the scene down by 0.001

Seems to have removed the jittering.

Hey,

Thanks for all the help, but having spent a few more hours on this problem, i have unfortunately still been unable to fully solve it.

Although the file you previously posted was indeed free from the jittering geometry, I think that was because the subnet was actually only travelling a very small distance & it's scale in comparison to the path curve was very large.

After experimenting with uniform scale, I've managed to reach a point where the geometry/path curve/sphere obstacle are scaled to the correct proportions, but the jittering remains.

I've attached the .hip here for anyone who wight be interested to have a look.

I fear I may be missing something obvious again, but I get the feeling that something just isn't right.

Thanks!! :)

jittering geometry example with correct scales.hip

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...