Jump to content

copySop + progressive growth, help! :)


Akabane

Recommended Posts

Hi there, maya user and houdini newb here!

I'm trying to get my feet wet with houdini fx.

I'm trying to do a growing mineral through a field (plain terrain for now).

I created a spline and animated that through its transform node, so that it sweeps through the terrain.

Then created a popnet, objectMerging the transform node as the source of the particles, so good so far for now.

Then i created the mineral in another object node, using a foreach node, extrusions, clips and so on, just to learn how to use those. In the mineral node, after the foreach sop, i attached a polyextrude node to make it "grow".

The polyextrude Z value is stationary for now (ie: 1)

Then i went into the particles geonode, objmerged the mineral, and added a copysop to copy the minerals to every particle, and also for now, all is good.

Now it comes make the minerals grow. To start with, i took out the extrude node in the mineral object node and put it after the mineral objmerge, just for practicity. Then i went and typed "clamp($FF*0.1,0,20)" in the extrude value to have it grow in time without "overgrowing" due to the $FF value.

It actually grows, but of course, as the extrude increases in time, also the new copies spawned at new particles have the same extrusion as the previous ones.

This is what i want to avoid, so i thought using the stamping technique to see if i could make those grow.

As a starting point, i put into a new stamp attribute the value of $PT, and stamped that into the extrude; this way, as new particles are spawned, the new minerals are extruded more and more, but it doesn't give the impression of growth, first because it is reverse growing (the older particles are smaller lol), and because it doesn't actually grow in time.

Is there a way i can procedurally animate the extrude to make those minerals grow with copystamping? Or i have to use, dunno, a foreach?

Of course it would be easier to hand animate a couple of growth cycles then use those, but i'd like to learn, more than using "raw working" techniques. For that, i use maya :P

Thanks all

Akabane

Link to comment
Share on other sites

leave your extrusion expression as it was clamp($FF*0.1,0,20) or just $FF or animate it with keyframes so you have total control over the growth

then append timeshift SOP, uncheck Integer Frames

then control Frame parameter with stamp() expression ideally based on age attribute of your particles

you can use clamp() here or when creating your stamp variable so no need to use clamp() in extrusion

you can rather change timeshift behavior to By Time and control Time parameter with particle age since they both are in seconds

Edited by anim
Link to comment
Share on other sites

Thanks for the fast reply. I created another stamp attribute, named "age" and with $LIFE as the value, then fed it into the Time param of the Timeshift, but nothing happens. I guess because $LIFE in the copysop doesn't change, it remains 0. Ideally i should read LIFE from every particle right? The copysop should do that automatically or not?

My network is like this btw:

OBJMERGE (mineral)........... OBJMERGE(emitter)

-polyextrude.....................-popnet

--timeshift........................--copysop(2nd input)

---copysop (1st input)

This is right, yes? Because the timeshift should happen when the object is copied, right?

Edited by Akabane
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...