Particle noise based on age

   3205   6   1
User Avatar
Member
3 posts
Joined: Oct. 2018
Offline
Hello, I'm making some trails using particles and wondered if there's a way to have turbulence/noise effect the particle based on their age attribute? So the older the particles are the more they're affected.
User Avatar
Member
8539 posts
Joined: July 2007
Offline
you can use POP Force DOP or POP Wind DOP

in Noise tab set Amplitude to some value, like 0.1
enable Use VEXpressions below (at the bottom of Noise tab)
and type something like:
amp *= f@age;
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
858 posts
Joined: Oct. 2008
Offline
Normalized is my goto: @age/@life, and then usually with a ramp.
--
Jobless
User Avatar
Member
331 posts
Joined: April 2018
Online
Normalized age is available out of the box as @nage. You can access it directly in a Wrangle, but Houdini hides the living hell out of it from everywhere else, so it's not accessible in dropdown lists for nodes like Attribute Remap, for example. You have to explicitly assign a float attribute to @nage.
Edited by eikonoklastes - Oct. 17, 2021 04:19:33
User Avatar
Member
8539 posts
Joined: July 2007
Offline
eikonoklastes
Normalized age is available out of the box as @nage. You can access it directly in a Wrangle, but Houdini hides the living hell out of it from everywhere else, so it's not accessible in dropdown lists for nodes like Attribute Remap, for example. You have to explicitly assign a float attribute to @nage.
it's not really hidden, it's clearly mentioned in docs [www.sidefx.com]
however it's a double edged sword, as it still requires @age and @life to be present to be able to return correct value, so it's really mostly valid on geo coming from particle sim as lonf as @age and @life are still present, so it would be really confusing to expose it in dropdowns as if it was a real attribute
but for its confusing nature of not being a real attribute I'd prefer it didn't exist
Edited by tamte - Oct. 17, 2021 04:35:30
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
331 posts
Joined: April 2018
Online
tamte
it's not really hidden, it's clearly mentioned in docs [www.sidefx.com]
Hidden in the UI is what I meant, to the extent where even if you explicitly type 'nage' in the attribute field, Houdini will not use it, but will happily use a float attribute that you have previously assigned to @nage.

As far as validity goes, if either @age or @life are not present, you can't manually calculate normalised age anyway, so that shouldn't affect @nage's usage.
Edited by eikonoklastes - Oct. 17, 2021 04:44:02
User Avatar
Member
8539 posts
Joined: July 2007
Offline
eikonoklastes
Hidden in the UI is what I meant, to the extent where even if you explicitly type 'nage' in the attribute field, Houdini will not use it, but will happily use a float attribute that you have previously assigned to @nage.

As far as validity goes, if either @age or @life are not present, you can't manually calculate normalised age anyway, so that shouldn't affect @nage's usage.

what I meant is that @nage is not an attribute it's purely a made up shortcut to return @age/@life if they exist
but it will not show up in the UI dropdowns as it is not an attribute, same way @ptnum will not show up
@nage is really an odd one out which makes it confusing unless you know it's only and inplicit attribute computed on the fly from real attributes and fed to CVEX shader, you can't really use it as a real attribute in most SOP nodes as it doesnt really exist, unless you create a real attribute called @nage, but then it will make it even more confusing as suddenly @nage will not represent normalized age automatically computed from @age/@life anymore, but using your assigned value and all wrangles trying to use it will produce warning
Tomas Slancik
FX Supervisor
Method Studios, NY
  • Quick Links