Sunday, August 11, 2013

Day 5

Daily Report : 12th July 2013

Lesson 9 : custom shader

Vops - visual version of another language called vex (vector expression)
Vex - single instruction multiple data (one instruction applies to all the point)
vops :
-shader development
-manipulate points
vopsop - vop surface operation
In the first part of the lesson I learn how to use the vop sop. Instead of creating the terrain by using grid and mountain sop. I create my terrain in the vop sop node. The difference is I am manipulating points in the node, meaning if they are no points in on the geometry, it probably would not work. Vop sop is also more flexible and I can tweak more parameters and it does not slow down the machine since houdini will evaluate the vop network for each point in the input geo.





















under edit < preferences < network editor, nodes, and trees

I can edit and toggle whether I want to view the long or short version of the name of the variable and tick or untick the show full input and output names on VOP nodes.

















The color of the variable tells what type of variable they are.
light green represent a vector.
dark green represent floating vector
blue represent boolean (true or false)
brown represent string value

In the next part of the lesson, I am taught to use material shader builder, in school however, we use surface shader builder and displacement shader builder and create them in a seperate node and then select both and shift+c to create a material.
















I can do color, add pattern and displacement all in one shader which i find more efficient.
I am not sure though what is the difference between material shader builder and the method i do in school.
Inside the material shader, the node surface model is useful as its a digital assest and I can attach any node on the surface model.

BSDF - bidirectional lighting

there is no uv 
parametric s coordinate - u
parametric t coordinate - v
use s and t for uv
if I want to use uv I need to use shading layer parameter to import my uv.

Since uv are vector we need to convert the uv vector to float for parametric s and t 
To control my parameter inside the material shader i can promote parameter

when i promote parameter i can tweak at the shop context level
To promote parameter for all in a single node, i can click create input parameter and it will promote all parameter at the shop level except the ones which a wired to another node.

On the object level, i can click "create all local material parameters" and that will allow me to access the material and also instance it to another geo while sharing one geo.

under the mplay viewer, there an options called "adapt to full pixel range" and its help me to increase the gamma saw i cant see my render more clearly.


One of the most important part of the lesson is the displacement in vop sop.

































After adding the displacement and increasing the displacement bound, my renders look fine.

Lesson 10 : 
Particles SOP
I rarely used particle sop as we always use the pop network
There are 3 inputs on the particle sop
1st input - source emitter
2nd - collision

3rd – forces
















Adding a point sop and change add velocity will add a force to the particle sop
However the particle get slow down and accumulate in one area, why?
because it is set as initial velocity and will eventually slows down and react to the world gravity.
To randomize the particles :

1) add a scatter node and will randomly and emit points
2) add a sort node and change the point sort to random 
there is a lot of parameter i can adjust from the particle sop node itself.

-under the particles tab i can add force to the particles

-under the limits tab i can add collisions and adjust gain tangents and normals.

















For particles, I do not have to dive inside and more nodes likes source or collision node to drive the particles like how pop net is used.
However pop network is more flexible in terms of tweaking parameters and having more options in driving the particles.

However, what I liked most about the particle is the “modify source geo”. Instead of emitting particle, I could make the geometry itself act like the particle and deforming the geo to fall.


















There are also file examples about particles that I can refer to when I have doubts. I will definitely go through all the examples given.


Lesson 11 : Dynamics (RBD)

In this lesson I learn about the dynamics part of Houdini, specifically the RBD object. The first thing I notice is that in this lesson, he automatically click the rbd object in the shelf tab and it creates a autodop network. In school, we were taught on how to put the nodes manually, meaning dropping a dop net and adding rbd object and solver and manually create them.

Even though the auto dop network is easier, I am glad that the way complex node so I understand how its being made.
There are three types of rbd solver.

ODE, RBD, and bullet solver.
Bullet solver is very fast, but its not that accurate. Its good when your objects are in the mid or far field.

RBD has a better movement of the simulation.

ODE is a simple solver engine and mostly used for simple object like spheres and boxes.


















RBD Glue Object


















By making the table an rbd glue object, i am able to adjust how sticky the legs is to the table under the glue strength parameters whereas if I use the rbd fracture object it will take all the geo as a separate object.
















Pin contraint






















RBD pin constraint pin an object to a certain in a world space, so it will be hanging to the pin constraint.

















I can attach multiple object to the rbd pin constraint.

1 comment:

  1. How did you get the chance of internship at sidefx?

    Can i get a some information?

    It's amazing intern at sidefx I think...

    ReplyDelete