[Houdini] Week2 – Robot with particles

Introduction

Because I just came into contact with Houdini last week, I found it particularly interesting, so I opened this week’s video with confidence. As a result, I did not expect that I actually spent more than ten hours to learn it.

Tips:

1. Remember to use Time shift once you use particles, or your computer is stuck.

2. Uppercase and lowercase letters will affect the vop reading name.

3. If the computer is stuck, you can change Auto Update to Manual.

Problems:

1. I don’t know the information of Node. Info.

2. I don’t know how to modify Vop’s bug.

3. During production, I can’t open Node info anymore.

4. Geometry spheadsheet didn’t understand what e means.

Porcess

When Mehdi talked about the knowledge of Node. Info, I feel that I still don’t know what these information is. After asking Yann, I knew why Normal is a float, and what is shader and string.

Then Mehdi showed us a model with UV, where he showed a new node: uvquickshade.

UV Quick Shade is a convenience operator that lets you very quickly put an image file on a surface without worrying about creating a shader or adding UVs. If the input surface(s) do not have UVs, this node adds them using an orthographic projection.

Through UV and activating the vertex maker, I can clearly see that where the UV is connected, there are only two points on the top and bottom, and there are four points when connected. This means that UV is not a three-dimensional, but a plane. Of course, I can also find Set View and UV View Point in the upper right corner of the scene to observe UV.

Shown below are two ways to add random colors to the model in Houdini:

A. This one is a bit more complicated, as it requires us to master some Houdini language, Vex. We can export vex via the node, style wrangle

This is a very powerful, low-level node that lets experts who are familiar with VEX tweak attributes using code.

This node corresponds to the Attribute VOP SOP, but uses a textual VEX snippet instead of a VOP network.

【210201 update】This is my self-study notes:

Attricreate can create a new attribute.

The format of vex which will be enter is:

(floating-point vector integer) @ (name) (space) = (space) (number) (semicolon) e.g. f@a = 0;

B. But if you think VEX language is difficult to master in a short time, you can achieve the same effect by connecting nodes in VOP. Based on Mehdi’s demonstration, I tried to connect different nodes and did a lot of different effects, which I found particularly interesting.

I change the color of the torus through the random node. I need to pay attention to the signature in output, which determines the properties of the output.

Of course, I could have connected it this way.

The next attempt I didn’t understand, why Torus became a point, why this connection overrode position. It turns out that I didn’t tell Houdini the original position, so after the attrinoise the position didn’t change according to the original Torus.

Add Add to solve this problem. I can even connect two noise nodes with two adds. First, I connected it by myself. After connecting the side according to the teacher’s method, I personally feel that the final output is the same.

I also used bind and bind export, which can replace input and output.

The Bind node represents the binding of the input geometry to the vex function. For example, if you bind force you can pick up the attribute called force from your input geometry.

I don’t know why there is a bug after using bind, and I am not very clear about how to modify the bug. Later I found out that instead of changing the name to a capital P, I used a lowercase P.

Exercise – Robot

Once the animation is played, the computer will automatically calculate each frame of your animation, which takes up a lot of memory and is not conducive to simulation. So you can add timeshift to freeze frames. Of course, since the Frame code is $F, if the expression is not deleted, the animation will still play. Once deleted, even if you press play, it does not work, you can only enter a specific Frame in the Frame to view that Frame.

In adding popnet, I had the same problem as Mehdi: the model appeared as a black plane. I don’t know why, but just press D on the scene to turn off the Display Sprite.

The effect of POPNET is to turn the model into a particle. Because the DOP Network Object contains a DOP simulation. Simulations can consist of any number of simulation objects (which do not correspond to Objects that appear in /obj). These simulation objects  are built and controlled by the DOP nodes contained in this node.

I’m having a problem here, I can’t open Node Info! Not even if I restart Houdini.

Pack and unpack, the former turns a bunch of faces into a bunch of faces, the latter turns a bunch of faces back into a bunch of faces.

[210301 upadate]通过Mehdi的介绍,我大致明白了,pack就是可以把很多的polygon,points,primitive转换成很少的数目,这样可以提高计算速度,节省内存。

Now we are officially in popnet.

Merge DOP takes any number of separate streams of objects or data and merges them into a single stream, so we delete it in this case.

POP Object converts a regular particle system into a dynamic object capable of interacting correctly with other objects in the DOP environment. Pp Object is just going to create an object inside this  dynamic and like a container full of particles that goes through a POP solver.

POP solver updates particles according to their velocities and forces. It just a physics operation that calculate what is happening in dynamics.

POP Source is a node that generates particles from geometry, often a referenced SOP network.

Select the desired Geometry Source in PopSource, and Parameter Values are what we need this time. The First Context Geometry is the connection of nodes. In addition, I made a mistake in SOP. I imported the wrong source, which made the model visible but had no particle effect.

Now you have a particle effect!

We are now trying new nodes, such as Gravity Force, which will add gravity to the particle. However, changing the Force value can achieve a different effect. Because the node is green, it can be placed under popsolver.

But pop wind is different. It has to be placed on top of the popsolver, which allows the particles to achieve diffusion effect. It’s very cool!

By the way, the blue and orange lines below are your cache bars, just like Maya and Premiere. Blue means caching OK, and orange means you need to go back to the first frame to be able to rehash it again because the parameters have changed. We can even modify the cache in Popnet, depending on the performance of my computer.

Both the Render Flipbook and the Image Viewer can view the good Render

Scatter scatters new points randomly across a surface or through a volume.  I can’t set the Force Total Count too high because of the poor performance of my computer. I should have Time Shift on so that I don’t get stuck.

If you go back to popnet, if you select all points, there will be too many points and it will look confusing. We can also adjust our Life Expectancy, the longer the Life cycle, the longer the point remains. There is also Live Variance, where the higher the number, the more particles are active on a life-cycle basis.

In order to make particles drift randomly instead of spreading in one direction, I added Popforce below Popwind. The larger the Amplitude is, the faster the random scattering speed of particles will be.

In order to make the particle stay in the original position for a longer time, we can add popdrag. If the Air Resistance is 0, the particle will float away, and if the Air Resistance is 10, the particle will stay on the model for a while before floating away.

I’ve been trying all sorts of things to achieve what Mehdi showed, but it’s never happened. So I watched his steps many times and finally realized that I had not adjusted Live Variance. Finally I finished it!

Part of the model is deleted by the Delete node and Normal (just as the roof of Week1 house was removed) to achieve the particle reduction effect. But it’s not obvious in my case.

I created a camera to see the final result, but as with Mehdi’s, there were places where the particles looked strange and needed to be fixed.

Since no frames need to be changed before the model wields the hammer, we adjust the animation by dragging the timeline like Maya does. 7475

Interpolate Source and Interpolation Method are visible in PopSource but I don’t know what they are when I look at the help. But according to Help, However, to avoid clumping when large forces are present, you should use Negative birth time and Forward source. This requires you to delete all particles with Negative age when rendering. I tried to modify the values and found that the swinging action looks better.

We opened the Display Points Trail and found that there was no Trail at all. Although we could have added the Trail to the node, it is better to use PointVelocity now so that we can see the Points Trail.

I added copytopoints and spheres in order to make points into spheres. But at this time, the computer is particularly stuck, because I forgot Mehdi’s instructions, and I need to change the button in the lower right corner to MANUAL.

But my computer was still stuck, so I had to go to Scatter and make Force Total Count smaller, which made it work better.

The teacher explained the numerical value of Geometry Spheadsheet, but I didn’t quite understand it.

Style vop’s Fit range, this operator takes the value in the source range (srcmin, srcmax) and shifts it to the corresponding value in the destination range (destmin, destmax). For example, fit(.3, 0, 1, 10,  20) would return the value

I also added the Ramp Parameter to create a color gradient, just by connecting the CD.

Below is my final output.

Conclusion

To be honest, the first time I saw Mehdi talk about VOP, I just gave up. It was too hard! However, my final output surprised me and I couldn’t believe that I had done it!

This entry was posted in Advanced and Experimental 3D Computer Animation, Houdini & Lighting. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.