How to Freeze Noise on an Animated BGEO Sequence?

   7945   6   5
User Avatar
Member
7 posts
Joined: Feb. 2013
Offline
HI, I'm trying to freeze noise applied to the mesh/surface points of an animated BGEO sequence but so far have had no luck.

I've done this plenty of times for noise applied to the Cd attribute and using the Timeshift SOP and Attribute Copy but have hit a bit of a wall trying to do similar to the actual geometry itself.

The two approaches I've tried and failed at so far are using the Timeshift/AttributeCopy method mentioned above, and also the
Rest SOP method. With the Rest SOP method, I've tried applying the noise via a vopsop to the attribute ‘rest’ but to no avail.

I include a hip and small BGEO sequence.

Any help at this point would be greatly appreciated :!:

Cheers,

Mattak

Attachments:
runningMan_BGEO.zip (4.6 MB)

User Avatar
Member
258 posts
Joined:
Offline
Perhaps I am confused to what you want, but could you not have a a few file nodes piped into a switch where you would keyframe the switch inputs…

file1 - Switch 0 - Animated bgeo up to where you want it to freeze
file2 - Switch 1 - To a file node bringing your single frame bgeo
file3 - Switch 2 - If you wanted to only freeze the animation for a certain time, you could resume the animation here with a time offset for the amount of frames you had frozen.
User Avatar
Member
7 posts
Joined: Feb. 2013
Offline
Hi, no - that's not quite it.

In the context of this posting, there is one animated bgeo sequence of say a walk cycle of a human mesh, I then want to freeze some deformation onto the geometry the moving mesh via some noise.

I don't want the animated sequence to ‘swim’ through the offset of the noise, but to have the noise ‘fixed’ to the mesh as it walks/runs.

Thanks,

Mattak

p.s. the multiple fileIn SOPs in the example Hip file are only there to represent different approaches to the network I tried.
User Avatar
Member
763 posts
Joined: Sept. 2011
Offline
your issue is that the mountain sop does not use the rest attribute as you assume.. (check out the code in the type properties of the mountain sop, you'll see it just uses P)

I've updated your example with a version that has fixed noise, you were pretty much there, you just need to stick the VOP-SOP Noise after the rest node, make sure the rest node takes the normals from the reference geo and also make sure the VOP-SOP uses the rest attribute to calculate the noise

Attachments:
Freeze_Noise_FIXED.hipnc (98.9 KB)

Miles Green, Supervising TD, Animal Logic
User Avatar
Member
7 posts
Joined: Feb. 2013
Offline
Awesome, thanks Milomilo!
I'd originally had the VOPSOP Importattrib importing the ‘rest’ attribute and feeding into the add & the aaflownoise.

I see from your VOPSOP that you apply the noise to the ‘rest’ then add it to the ‘P’ position.

I had all the right ingredients as you said… just in the wrong order.
Again, many thanks!

Cheers,

Mattak
User Avatar
Member
7 posts
Joined: Feb. 2013
Offline
While I'm at it, I was wondering…

Is the same thing possible using the noise from a mountain SOP,
and if so how? Possible editing the VEX function code to pick up the rest attribute or something?

I've played around with trying to re-create a similar noise just in a
vopsop but the result weren't at all similar (aaflow, turb etc).

I've also tried applying a mountain noise to the rest attribute before
adding the rest attribute to the point position via a vopsop.

Neither was really satisfactory.
User Avatar
Member
143 posts
Joined: Feb. 2012
Offline
Mountain sop displaces the mesh along the normal rather than just adding a noise in 3d space.
You will want to compute your noise based on the rest position, output 1D noise, get your normal and multiply with the noise, then add this to your pos.
  • Quick Links