Houdini:Week 3

Node:

Primitive: In Houdini, primitives refer to a unit of geometry, lower-level than an object but above points.

Voronoi: It is a division of the space plane. Its characteristic is that any position in the polygon is the closest to the sample point (such as the residential point) of the polygon, and the distance from the sample point in the adjacent polygon is far, and each The polygon contains only one sample point. Due to the equipartition characteristics of the Thiessen polygon in the spatial division, it can be used to solve problems such as the nearest point, the smallest closed circle, and many spatial analysis problems, such as adjacency, proximity, and accessibility analysis.

Point from volume: It is used to generate a regular set of points that fill a given volume.

VDB from polygons: This node can create a distance field (signed (SDF) or unsigned) and/or a density (fog) field.

VDB: Compared with common bai model data du vertices, edges, faces (essentially vertices and indexes), as well as the recording method of normal dao lines, zhuanvdb is more suitable for objects with complex shapes such as smoke and fluid. Its recording method It divides a group of objects into many small square units, and then records the density, speed, and various custom attribute values ​​for each unit.

Voxel: Voxel is the abbreviation of Volume Pixel. The stereo containing voxels can be represented by stereo rendering or polygonal isosurface with a given threshold contour.

Remesh: This node tries to maximize the smallest angle in each triangle. And we can “harden” certain edges to make the remesher preserve them. This is useful for keeping sharp corners and preserving seams.

Rest: This node creates an attribute which causes material textures to stick to surfaces deformed using other operations.

Attribrandomize: This node generates random values to create or modify an attribute.

Create reference copy: Create a node that takes all the attributes of the current node as a reference.

About making broken animation, it is divided into two parts: making a broken model and simulation. Mehdi introduced three ways to make a fracture model.

  • voronoi fracture
  • boolean,like cutting something
  • rbdmaterialfracture
  • Quickly make wood crushing effect:

Simulation:

It mainly uses the rigid body solver in dopnet. It consists of two important parts: rbdsolver and bulletrbdsolver. Here we can just use bulletrbdsolver.

Assemble: The assemble node cleans up the geometry. The following screen captures show what the geometry looks like before using the assemble tool, and after.

Create packed geometry: If the output geometry contains a primitive attribute called “name”, a packed fragment will be created for each unique value of the name attribute. Additionally, a point attribute called “name” will be created to identify the piece that packed fragment contains.

Use proxy during simulation to speed up.

Ways to establish a proxy:

Transform Pieces: This node can be used in combination with a DOP Import node in Create Points to Represent Objects mode to transform the results of a multi-piece RBD simulation.

This can apply the results of proxy simulation to the original complex model.

Make woodcabin crushing effect:

Apply the previous method of quickly making wood shattering effect in the woodcabin.

This is my final result:

Lighting: Introduction

Pick 3 frames from one of your favorite films and try to identify the lighting techniques we learned.

《The Prestige》  Low-Key lighting. Hard light. A strong contrast. Robert is greeting the audience, the light in front of him is in sharp contrast with the darkness behind him.

《The Dark Knight》   Color Contrast, Hard light. Blue sky and yellow fire, Batman’s body shape is outlined by the light, and his lowness is clearly expressed.

《Memento》 Color, Three-Point Lighting. The audience’s attention would be focused on the character’s expression by lighting. At the same time, as the film progresses, the audience will gradually realize the difference between the timeline expressed in black and white and color.

Houdini:Week 02

The Houdini class this week has a lot of content, mainly introducing the usage of some nodes and the basic production of simulation. I will organize it into two parts.

Part 1:Node

Blast:Blast is designed to remove geometry that you select interactively in the viewport, as opposed to Delete node which is a more procedural tool.

Mountain: This operator uses normal attributes on the input geometry. If a normal has 0 lengths, this operator will not displace the point along that normal. This node can make the plane produce the effect of undulating mountains.

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

To use this node, you need to have a certain understanding of the VEX programming language. The convenience is that this node provides some simple effect codes.

AttribVOP: Double-click this node to build a VOP network inside. This node modifies geometry attributes. Compared with Attribwrange node, it is easier to learn, it uses a VOP network.

The P attribute can be understood as the coordinate value of each point, and the change in the shape of the model has been obtained by adding some noise values. 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.

Part2:Simulation

After I finish the simulation, I think the whole process can be divided into three parts.

The first is selection. We have to select the part where we want particles to appear. This part can use the Delete node to select the part we want by controlling the normal range.

Of course, we can also perform other operations before this, such as scatter node, used to generate random points on the surface of the model, which can control the number of selected points. You can also increase the PointVelocity attribute.

After this is done, you can create a null node for output data, and the appearance of this node is also easy to find.

The second part of the simulation is mainly focused on a node called Popnet, which belongs to the DOP Network node. 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.

The pop source refers to the point we just selected, and the popsolver is the solver, which is used to calculate the motion effect of the final generated particles. Before them, we can add many different force to change the motion of particles. And Popobject converts a regular particle system into a dynamic object capable of interacting correctly with other objects in the DOP environment.

The calculated result can be cached by the filecache node for easy viewing.

But it hasn’t been completed yet, and nothing can be seen in rendering. Therefore, the third step is to add particles.

Here you need to use the Copytopoint node, it can copy geometry in the first input onto the points of the second input. Before that, we can also add size and color changes to the particles. Here we use the attribVOP node mentioned earlier.

Fit Range Node can take the value in the source range and shifts it to the corresponding value in the destination 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). Values outside the input range will be clamped to the input range.

Here, age as the value, and life is the source value, which allows the properties of the particles to change with the change of age without exceeding their own life. Then by adjusting the destination min&max, the particle size can be changed. The same is true for changing the color. You only need to add another ramp node to make the particles have the effect of changing the color over time.

Fighting Sequence Previs: Week 01

Regarding the theme of the cooperation project, it was originally the idea Sean and I came up with when watching the spell return battle. This is a popular animation recently, which contains some very cool fighting scenes. We all liked the fighting scenes and soon decided to make a previs with fighting as the theme

Before convening the cooperative members, in order to ensure that the participants are interested, we first need to set some visual styles and background stories. Our idea is to merge according to the points of interest. For example, Sean likes mechanical design, and I prefer the action performance of human characters. So after searching many references, we decided to use cyberpunk as the main visual style. For reference, refer to the rules of Overwatch in the design of characters and scenes.

So soon we have a basic concept.

Concept overview:

In a street, a masked girl fights a cyborg man.

It’s an open collaborative project where you can add whatever you want to create. You can try all kinds of work in the project and have unique research content.

At present, it includes the research points of stylized rendering(like overwatch) stylized visual effects, simulated 2D motion blur in 3D, and programmed modeling.

The ultimate goal is to create a previs for 1-3min. It is still in the concept stage. Here are some styles so far.

For this concept, I also used PS to make two concept pictures to show the general idea:

After the project was released, we soon received contact from some students. They are from 3d computer animation, VFX and illustration. So far we have eight students participating in this project.

In the first week, all of us had a short meeting. After discussing the learning direction we were interested in and our thoughts on this short film, I made a more detailed setting draft.

Time:Near future, related words: postmodern, science fiction, cyberpunk

On a clear night, the light of the moon when it is not blocked by clouds can cause shadows to objects.

Location: A deserted alley in a modern city with several small stores or signs.

Characters: A girl whose profession is a bounty hunter and a cyborg man whose profession is a killer.

Event:

The cyborg man was destroying the robot in the alley, hitting it vigorously and smashing the wall out of the hole.

Then the man threw it into the trash can. There were some robot limbs scattered around the trash can.

The mechanical man took out a cigar and lit it, took a deep breath, and then raised his head to puff out smoke. Looking up, she saw a masked girl holding a short knife standing on the roof. The girl squatted and rushed towards the mechanical man. The man dodged hurriedly, and the cigar was cut into two pieces.

The girl fell and rolled, her back turned to the man.

The man stabilized his flustered figure and spit his cigar aside.

The girl slowly got up, revealing the sign behind her.

After seeing this, the man showed an expression of disdain and said: “bounty hunter.”

The two faced each other in a stance, calm before the battle.

Background:

In the future era of high-tech and low-life, the emergence of smart machines will bring new contradictions to society. The renewal of the government’s judicial system can hardly match the development of technology. The solidification of social class further leads to chaos, and excessive chaos brings new order. The intrigue among the upper-class society has also been brought to the table, and professional killers seem to have become an indispensable role for every upper-class power. And the bounty hunter system acquiesced by the government has given the people at the bottom a new way out, allowing society to maintain a stable but cold state to a certain extent.

The masked girl is a bounty hunter, eccentric and agile. She grew up in a slum and was influenced by hip-hop culture. Dress more freely, there will be many cultural elements on her clothes, and she uses a short knife. When performing tasks, the attire is more capable, and she wears a mask to hide her face and does not speak.

The cyborg man is a professional killer with a strong body and a cold face. He is usually responsible for handling some people or robots that they hate for the upper-class people. Frequent killings made him brutal, and while this job brought him money, it also took his arm, but fortunately, he could use a high-tech metal arm instead. The metal arm has stronger strength and defense.

Character and scene design:

Pay attention to the shape and silhouette, the color purity is high, and the texture expresses the details. A few Asian elements such as China and Japan.

According to the points that everyone wants to learn or participate in, I divide everyone into five groups and discuss and share with each other to ensure the cooperation smooth.

After the first meeting, we decided to work out our own design drawings or reference drawings in groups and communicate with relevant personnel in time. We will have a collective meeting next Friday to discuss the progress and the next idea.

Houdini: week 01

I have learned Houdini 16.5 before, but I don’t know enough. I haven’t been able to understand Houdini’s production ideas thoroughly. At the time, I just thought it was a very powerful software, and I still didn’t understand the inner logic. Now I have the opportunity to learn again. I hope to learn Houdini thoroughly through this course.

I will record the process of learning Houdini here and try to be as clear as possible so that I can review it later.

Houdini’s software ideas are very procedural, which not only provides clear production ideas but also increases the difficulty of learning. I have studied programming for a while, and the process of learning Houdini is very similar. If you want to learn code, you must first learn its basic language, and the vocabulary of the language is a very important part.

In Houdini, there are a few main vocabularies to understand first: (Thanks Tina for sorting out, much better than what I wrote)

SOPs = Surface OPerators or geometry nodes that are inside an object folder. These are used to construct and modify geometry. Any kind of geometry from polygons to volumes.

DOPs = Dynamic OPerators or simulation/solver nodes that are used to construct simulations. Simulations read in geometry from SOPs and pass this data into the DOP solvers.

ROPs = Render OPerators in side ROP Output directories which are used to create render output dependency graphs for automating output of any type of data and for triggering external processes like rendering. Commonly used to generate sequences of geometry, simulation data and trigger Render tasks that generate sequences of images to disk.

VOPs = Vector OPerators inside VOP network nodes are used for everything from building shaders to modifying geometry, volumes, pixels, and more.

VEX = Vector Expression Language. The code language used to write shaders. VOPs are wrappers around VEX code snippets.

And there are also some operations on nodes:

bypass,which can be used to turn off or turn on node effects
display/render
template/selectable template, which can display the wireframe of the model for reference, etc.
information
lock

There are other contents, I plan to learn the relevant and then record, the main content that I have come into contact with is these.

This week’s task is to build a wood cabin in Houdini. The operation of modeling is basically the same as other 3D software, such as boolean, extrude and reverse.

However, the Houdini node-style method allows each step to be clearly saved, and when there is a problem, you can check the problem step by step.

In this part, I am most concerned about the Delete node. It is a bit similar to the extract face function in Maya, but it is more programmatic. It can filter out what we need or don’t need through the normal value. But this is a more commonly used function.

This is the basic structure of the wood cabin:

We can build a model of the wooden board to replace this frame. Here I need to use the copy node, which can quickly copy the model and arrange it in a certain rule.

Here I also used the Polybevel node, which can increase the corner details of the model to make the model less sharp. I learned how to use this node by looking at Houdini’s official documentation. This required selecting the edge we wish to modify.

After the whole process of making a woodcabin, the biggest touch to me is the way of thinking in Houdini. When I want to make another wooden wall, I will not directly copy an already-made wooden wall like in Maya, but recreate a transform node. The model is still the same, but with different positions and sizes. Although the result looks the same as copying, this way of thinking is very helpful to me, clear and logical.

This is the wood cabin I finally made: