Transcripts
1. Introduction: Hello, and welcome
to this Next ood Education Houdini wave of
destruction effects course. My name is Shahar Aman, and I will be your instructor
throughout this course. We will start this
project off by first creating the procedural
rock for our effects, and then we will
create the procedural rock growth animation
for our effects. And after that, we will
create the lightning effects, and we are going to use the procedural noises for
creating the lightning. And in here, we're going to use the procedural noise to
create the ground lightning. As well as the sword lightning as well as creating the
lightning branches. And after that, we will create the procedures sort
slash glow effect. And after that, we will use
the particle simulation for emitting the sand particles from where our rocks are going. We want to emit the
sand particles. And after that, we will use the pyroslver for creating
the ground touch simulation. After that, we will use
the RBD bullet solver for emitting the debris from our
animation and after that, we will import all of our
assets and geometry into Solaris for rendering and we are going to use the Kerma
xBU for rendering. And finally, we will
finish this project off by composting
into after effects, and this project is going
to be a lot of fun. Join me and let's dive right in. I will see you in the
very first lesson.
2. Download Project Files: Okay, so here are the project
files for the course, make sure to download these project files that
came with the course, and here I have stored all of
my HIP file of the project, and also I have stored the assets that
you will going to be need for creating the effect and make sure to download
these project files. And don't forget to rate the course and
write the reviews, and I will see you
in the next lesson.
3. Creating a New Project: Let's get started
with our project. So let's first
create new project, and that way we can
stay organized. So for that, let's
go into the file. Let's click on this new project. And here we have this
new project window. And here, let's
name our project. I'm going to name
this one destruction, wave wave of destruction, wave underscore, of destruction. In here, we can select
the location where you want to store your
project files. And right now, I'm going
to store this into my C and my user folder. And if you want to
change your location, you can just click on this icon to change your project location. I'm not going to change, so let's hit Accept, and now we have created a new project and we
need to save this. Let's click on this file. Let's click on this save option, and now we are in our newly created project
folder, and in here, I'm going to name
this one our project, maybe just name this 201, or maybe we can call this one wave destruction
underscored 01, and let's hit Accept. And now, if we take a look
at the folder structure, that Houdini has created. So let me open the
project location, and here we are in
the project location. Here as you can see,
we have created a new folder name wave of
restruction let's open this, and here we have all of these different folders that
Hulini has created for us, and that way we can
stay organized, and here we have the hip
file that we have created. Okay. Now, let's take a look at what we
are going to create, and here is the project that
we are going to create. Here we have the wave
of destruction effect, and that effect is inspired by my favorite game Alding
and in Aldon ring, we have an sword named
Ruin grade sword, and it has this ability to create this wave of destruction, and that is called
the ash of water, I guess, and that
is the cool effect. And that's the idea that
came from the Aldon ring, and we are going to create
this effect inside of Houdini. And now let's take a look at the asset that
we are going to need. And for that and we need to go into the mix
Samo and in here, I'm using this character, Maria. And we have these characters, one we do not have SOD and
the other one we do have SOD. So I'm going to use this one. And now let's go into the animation tab and search
the animation that we need. So let's click on
this animation. And here we have all
of these animation. We can click on this
and this animation will going to be applied
onto our character. I'm going to search this
for our SOD animation. So let's type this one
SOD casting let's search, and that is the animation
that we are going to use. This one, the great so
casting, spell casting. Okay. So that is the animation, and that is pretty
cool for our effect. And let's click on
the Download button to download this animation, as well as our FBX character. And you do need to login
in order to download. If you do not have an account, you can click on
this sign up button to sign up and
create an account, and that way you will be
able to download this. And we also need some materials. And for that, we're going to use a site called Polly Heaven. And in here, let's
browse some materials. And for this one, I'm going
to use this Seasideock. So let's click on this. And here we have the
Seasiderock material and that is the material
we will be going to use for our project. So in here, let's
select our resolution, four k resolution, and in
here, let's select the file. Let's click on this. Zip file. We want to download as an A Zip, and we do not need
the blend file. We also do not need
this GLTF file, and we have this
ambient occlusion. Let's download all of these. Or we can skip this one
because here we have embed occlusion roughness and all of these maps combined in here, so let's select only
this one. Okay. And let's download this to download all of these materials, and these are all the assets
that we are going to need. And in the next lesson, let's create a rock
for our project, okay?
4. Procedural Modeling Rock: Now let's start create
procedural rock for our project. So let's in here, add an
A jump try node in here. So let's add jump try node, and let's rename this node
to an A wave destruction. So I'm going to rename this wave destruction press enter
to dive inside the node. So now we are in the
geometry context, and we are in the wave
restruction jometry node, okay? In here, let's add an A base shape for our
rock and I'm going to add an A polygonal tube
geometry. Let's type in here. Let's add this onto this one, let me add the end caps to
first add the end caps in here and I'm going to adjust
its top and bottom radius. Onto the top radius, let's lower down
the radius to 0.1. In here, let's lower
this down to 0.36. Now let's low down the
rows and columns to four by four to create a more
square looking shape. Okay. And let me change
my camera angle. And in here, now let's adjust its height
and to the height, I'm going to set its height
to one point value of 78. Okay, I think that
height is looking good. And now our geometry is now
sitting onto the floor, and to make it sit
onto the floor, let's add a match
size node in here. Sad match size. And to the match size, let's change the justify Y to
mein let's view the result. And here as you can see
now our geometry is sitting onto the floor. Good. After that, let me activate
my point selection tool by right clicking on this
selection and change these two point and let's
activate the selection tool. And first, I'm going to
select this point and let's activate the move tool and
let's move this point down. And if your handles
are not aligned, you can align the handle if I right click on one
of these handle, right click on it and
change the alignment. As you can see, by default, I think the aligned handle
should be on components mode. And here as you can see the
alignment is not correct. And to change the alignment, right click align handle, let's align the handle
to world coordinates. Okay. So now we can
move these points down into the world coordinates.
Let's move this down. And later on when we add noise, this will create a more interesting sharp
edge looking shape. Okay. And now let me select all of these points
and let's scale them down. First, let me activate
my selection tool, and let's select all of
these bottom points. And let's activate
the scale tool and let's scale them down. And I'm going to scale them
down to an a value of 0.5, and here as you can see
onto the addit node, I can see what values I'm using. Right now, I am onto
the 0.57 on all xs. Maybe let's lower
them down even more 0.54, that value is fine. And let me align
my camera again. And now let's start adding noise onto our geometry to create
a more rock looking shape. And to add the noise, we are going to use the
volume bottling and so first, we need to convert our
polygonal geometry into volume, and for that, we can use an N node called
VDB from polygon. So let's add an VDB from polygons node in here,
let's connect this. That will convert our polygonal
geometry into volume. Let's view the result
here you can see. Now we have this one
surface VDB, okay? That is an A VDB volume. And later on, we are going to use an A volume
warp to add noise, maybe let's add
an A volume wb in here by typing an volume wp. Let's at this and connect this. Now let's view the
volume wb and dive inside here as you
can see the volume wb by default is set to use with the value of tensity
volume of tensity. But up here, if we middle mouse button onto our VDB
from polygon nodes, Hers can see, we have an A one VDB volume and
its name is surface. If we go into the VDB from
polygon node, heres can see, we are naming our VDB
volume to surface, so we can change
its name to Trent. Let's rename this to tent. And now if we middle mouse
button, here is can see, now we have renamed
our VDB volume. And that way, if we go
into the volume warp, now we are working with the TnT, and that way, we can
easily work inside the volume b and add noise
onto our VDB volume. We could have used
the bind node to import any name attribute,
any name volume. If we are using the surface, we can use the point node
and bind export node to work with that volume name, but it's easier to
just rename this to density and by default, volume v will work
for us because it has an A import as well as
export node already for us. Okay? So now in here, let's start at some
noise onto our volume. And for that, I'm going to
use an unified noise in here. And if you type noise in here, we have all of these
different types of noise. I'm going to use an A noise
called unified noise. So let's add this and
for this node to work, it requires the position. So let's connect this P onto our position to
sampling the noise, and that will output the noise. Now, let's add this onto
our current density value. So let's add an add node
in here and I'm going to add our original volume as
well as these noise values. And let's output that. And heres can see all of
our Geometry is gone, and that is because this noise
has some negative values, and these negative values are
eating all of our geometry. Okay. And to fix this, let's clamp these values by adding an A fit
range node in here. So let's add a fit
range and connect this onto the output
of the unified noise. Let's bring up its parameter, and onto the source minimum, let's adjust its
source minimum values. And maybe let's
go back and here, let's increase the auxel size by lowering down the axel size, we can add more resolution
onto our geometry. So for starting point, let's add value of 0.01. And let's fill the interior
because VDBs are sparse, so the interiors are empty. So let's fill this
with some values. And in here, we can add
some exterior band axels. And what are these? This will add the padding onto our volume. If we view our geometry, here as you can see that
is our bounding box. And by adding these band axel, we are increasing
our bounding box. We can use the Wordspace units. So maybe let's use the
Wordspace units in here. And now we can use the word space unit to increase
the bounding box region. So onto the exterior band, maybe let's increase its
exterior band to 0.15. Okay. That will add an headroom onto our volume because for sampling the noise, and now maybe let's increase the size of our overall geometry and to increase the size, let's add an A
transform node in here, and that will create
a bigger scale for sampling the noise,
onto the transform. After that, added node, let's increase the overall
uniform scale to value of two, and let's zoom out in here. Let's add and view the result
of the VDB from polygon. Now because we are
using the figure scale, now we have a much more
high resolution volume. Now let's view the
volume warp and in here. He as you can see now
we are starting to see some of our geometry. And onto the unified noise, maybe let's add some
fractal in here. Right now, the fractal
type is set to none. Let's add an standard
FPM fractal. And here as you can
see, we are now getting some of these values
of our geometry back. We can play around with
the fit range node in here if we play around
with the noises value, and here as you can
see by clamping the source min I can define how much my original
geometry is going to be eaten away by
this noise, okay? And that way, we can add very cool noise deformation
onto our geometry, which are very hard to get by using the polygonal noises node. In here, let's go into
the unified noise. And first, I'm going to add an A base structural noise that I like and onto
the unified noise, let's change the noise from simplex to hibhev
cellular F one. That will create a more
interesting rock looking shapes, and onto the fractal type, let's not add any
fractal in here. And onto the frequency, let's adjust its
frequency to add a more higher or low
frequency noise. Onto the frequency, if we
increase the frequency, let me press the
middle mouse button and increase some values. And here we are creating
some high frequency noise. Right now, I'm not seeing any noise applied
onto our geometry, so maybe let's go
into the fit range and let's onto the source mean. Let's lower down this value, and that way we are
allowing more of these noise values onto our
geometry and the source mean, let's change the
value to 0.2 to Okay, these are the values
I decided to go with. And after that,
after the fit range, let me rearrange my
node graph in here. After the fit range, we can add an A
multiply constant node in here to adjust the
amplitude of our noise. So let's add multiply
constant node in here and let's connect
after the fit range. And by adjusting
this multiplier, if we lower down this
multiplier value, we can adjust the amplitude of our noise, and here
as you can see, we are starting to create a
more less amplitude noise. Okay. And for this one, I'm going to use a
value of 0.1 48. Okay? So that is the value
I decided to go with, and onto the unified noise, let me adjust some
parameter of this noise, and onto the noise, let's enable the lattice warp to create an warping
effect in here. We can increase the warp to add the warping onto
this noise shapes. Okay? Maybe let's add just a slight verb by
adding value of 0.1, just a slight verb. Okay. That way, this shape won't be as straight,
but a little verb. And in here, we can also
add some is in here. That is the output correction. So maybe let's just
slightly add an vis adding a value
of 0.6 on all x's. And in here, we can adjust
the offset of the noise. These are basic noise parameter adjusting the
frequency and offset. Nothing special is
going on in here. And for the base noise, I'm going to put some
values that came with a lot of trial and error when I was originally
modeling this rock. So I'm going to put some
values, so follow me. And onto the offset, let's lower down the
value of -1.8 and that is the magical offset value that I like onto the
frequency, onto the X. Let's lod this to
0.71 and onto the Y, let's increase the
frequency to 1.21. And onto the Z, let's load increase
this to 4.41, and that is the noise
shape that I like. That is our base
layer of our noise. After that, let's add another layer of
noise onto our rock. For that, I'm going to add another unified
unified noise in here. Let me type noise. Let's add unified noise
in here and same thing, we need to connect the position. In here onto the
P, and after that, let me duplicate all of these fit range as
well as multiply node because we will going to be needing these two node to
clamping the noise values. Okay? And let's layer this
noise onto our base noise. Let's connect this onto the add. So now we are adding another noise onto the
unified noise, and this one, I'm going to eat away
some of the parts of my geometry to create
more interesting shapes. And onto the noise type, I'm going to use an
A alligator noise. And the frequency and
offset of default is fine. Maybe we need to
add some fractal, let's add an extended
FPM fractal to add fractal interesting
looking noise. And onto the fit range, let's adjust the
source minimum to 0.4. Okay, so we are clamping
these values to 0.4, and onto the amplitude, let's increase the
amplitude value of 0.178, and that is the values
I'm using for my project. Okay. And onto the
unified noise, I think these values are fine. This default noise
is looking good. And here as you can see, we have some of the parts
has been eaten away, and we will have some
noise on up here as well. Okay. And we can right now we are using regular position for sampling the unified noise. What we can do, we
can add noise in here to add a pre deformation
in here and that way, we are not using this
regular arrangement of the axel position for
sampling the noise, but we are applying
some noise in here. And let me show you what I mean. Et's add in here turbulent
noise in here. Let's add this. And in here, let's use the position for the
sampling of this noise onto this noise type
because we are using the position and
position is an A vector. So let's change
the signature from one D to three D noise, and onto the noise type, let's use an A sparse
convolution noise that will create an
interesting noise for us. And now let's add this onto
our original position. Adding an add node in here. Let me rearrange
all of my nodes. Let's select all of these
and move them in here. Maybe let's move this back, and let's add this
our original position as well as our noise position. And now let's use this noise position for
sampling this unified noise. So let's add this. And that way, we can create more interesting
noise because we are using the deformed position for sampling this noise, okay? And onto this one, let's bring up its parameter. And let me adjust the
amplitude of this noise. Let's lower down the
amplitude to 0.2 78. I'm lowering down the overall
amplitude of the noise, and onto the frequency, let's lower down the frequency
value to an a value. Of 0.7 maybe 0.7 in all axes. Okay. And now here we have a more interesting noise shape going on in our rock geometry. And we can view this
layer of noise. If we remove the wire. If you press and hold the
king on your keyboard, here we have this scissor. We can remove this wire. So now we are only
visualizing this our noise, and heros can see that
is the parts that I am eating away from
my overall geometry. So that is the noise layer
of this unified noise. Okay. Let's add this
back again in here. So modeling the rock is just adding more and more
layers of noise, okay? And now maybe let's add
another layer of noise that we can create more high
frequency noise in here. And right now hers can see our overall surface
has been smooth. So let's add a high
frequency noise to break up this smoothness. And for that, I'm going to
use simple anti Aalas noise. So let's type in here talas
noise. Let's add this. And for this one, I'm going
to use the original position. Let me pick this position and connect this in here
onto our TLS noise. And before I add this, let me adjust some
values that I like. And that way we will work faster because whenever
this is connected, it will Houdini will
try to update and these parameters become
unresponsive for a second. So for the frequency, let's add frequency of
ten by ten in all axes. Okay, so we are creating a
more high frequency noise. And now let's add this
into our add node, and let's see the result. And here we should see
some high frequency noise, and here is you can see, all of our geometry has been
exploded with the noise. So maybe let's lower down the amplitude of the A
noise and TLS noise. So let's come over here
onto the amplitude. Let's lower this
value down to 0.03. So we are adding an
a slight noise onto our overall volume geometry
and here is can see. Now we have some slight
noise introduced, and to capture more
of this noise, we need to increase the
resolution of our volume. So let's go back and in here
onto the VDB from polygons, we can lower this value down to add more resolution onto
our overall geometry. And after that, to convert
this into polygonal geometry, we can add an ode
called convert VDB. So let's add an convert. VDB node in here, let's connect this onto the convert VDB right now we are
converting this to volume, the regular Houdini volume, but we want to convert this
into polygonal geometry. So let's change
these to polygons. And now we have our
polygonal geometry. Okay. And we can change this to smooth shaded to
height the wire frame. Okay. So that is our
polygonal geometry. Maybe let's increase the
axel resolution from the VDB from polygon nad
to add more resolution. And for the final axel size, I'm using the value of an
a zero point double 05, and that will add
enough resolution to capture most of the
detail onto our geometry. And now hers can
see we are adding a lot more detail because we are working with a
higher volume size. And if we visualize our mesh, if we change this to smooth, wire shaded, hers
can see right now we have lots of polygons. And to maybe optimize this, we can go into the Convert VDB, and let's onto the adaptivity. If we increase the value, let's say value of 0.1 and that way we are
adding more polygons where we have lots
of small detail and we are adaptively re
mashing our geometry. And right now it is
way more aggressive, maybe let's low
this value down to an a value of 0.01 maybe, and let's view the result. And that way, we will
not lose more detail. Okay. I think that
mesh is looking fine. And now let's change
this to smooth shaded, and that is our rock shape. And now let's write this
geometry onto our disk so that we do not
have to every time calculate all of these
noise operations. So after that, let's add an
a file cache node in here. Let's add an file cache
and connect this. And onto the file cache, I'm going to name this one rock. Because that is our rock
geometry and onto the name, I'm going to use
an A Dlo sign OS. So let's remove this Dlo
sign hip name expression, and Dlo sign OS mean the name that is written
onto this node itself. If we middle mouse button
onto the base name, here as can see the name
has been evaluated as rock. Okay. And we are
storing this onto our current project location onto our geometry folder,
and that is correct. And in here, we can define
the frame range because we are only using an geometry, so we do not care about
this frame range. So let's uncheck this
time option and that way we can only store
this as a geometry on a single frame and
now press Save option to save out our geometry, okay?
5. Procedural Rock Animation: Now that our rock model
has been finished, now let's create a procedural
growing rock animation. And for that, let me go up. And in here, let's add
an line node in here. We are going to use these lines to duplicate
these rocks geometry, and we will use the P scale
attribute to make them grow. So let's see how we can do that. Onto the line node, first, let me change its alignment. Right now, it's
align onto the Y. Let's change its alignment
onto our X direction, and in here, let's
increase its length. And by adjusting the
number of points, we can create more or less
number of our rock copies and because we are
going to use the copy two points node to copy
our rock geometry. So in here, maybe
let's add that. Let's add copy to points node. Let's add this, and that
is our rock geometry. And these are these
will be our points. Let's result. Okay. So our copies
has been generated, and by adjusting
the line length, we can adjust how long our
growing rock effect should be. Okay. And onto the
number of points, we can adjust the number
of our raw copies. Okay? And now let's add a random introduce some
random rotation onto our rock geometry because right now they are aligned perfectly. And for the alignment, we are going to use a node
called scatter and align. So let's add in here an a
scatter and align node. And because we
have these points, we will not going to be
generating any more points. So we will only adding
the rotation attribute. So we are not going to connect this scattered surface option, but we are going to
connect this second input. Okay, so let's connect this and onto the
scatter and align, the mode is set to
scatter points, but we want to add the attribute to the
existing point cloud. So let's choose this option. And in here, we have the
rotation around normal so we can add the rotation
where we can adjust the min and max angle. So maybe let's increase
the max angle to 360 degree and maybe
minimum angle to zero. And that will add an
a random rotation onto our points 0-360 degrees. Okay. So now let's connect
this and with the result. And here as you can see,
nothing has happened. And that is because
for this node to work, it requires the normals
to add the rotation. And right now, currently, we do not have any normals. So let's create an normal. We can manly create
this normal by using an A attribute
wrangle node in here. So let's add an
attribute wrangle. And in here, we're going to add a very simple x expression
for creating the normal. So in here, let's tie,
which means the vector, and now let's add
an addsge add sine means we are going to
create an attribute. So the attribute for
the normal is called N. So let's add N in here. And for this, let's set
this onto our Y axis, zero on X and one on
Y N zero on axis. And to end this add an
a semicolon at the end. Now if we middle mouse button, here we have the N as a three
float normal attribute. So now the scattering
align should work. Now we can view the result
of the copy to points node, and here as you can see the
rotation has been added. If we go into the scattern
align node and in here, if I play around
with the Max angle, hers can see our copies
has been rotated, and in here onto the cone angle, maybe let's adjust
some of this angle to add this angle
into our rotation. So maybe let's change
its value to zero. Okay, so that alignment
is looking good. And onto the
attribute, right now, we are adding the
P scale attribute, but we will want to
create an random P scale. So let's uncheck this
radius attribute. We will going to be creating P scale attribute on our own. So and check this and in
here to create an P scale, let's add an A attribute. Randomized node in here to
create a random B scale. Let's add at randomize, and right now we are
randomizing the CD, but we want to
randomize our P scale. So let's add an
attribute name, B scale, and that is an a single value, so the dimension should be one, which means it only
has one value. It does not have XYZ component, it's just one component. And the minimum value
is set to zero, and I don't want the
values to be zero. So the minimum value
allowed should be the 0.5. And now we are randomizing the values between 0.5 and one, and onto the option here, we can adjust the global seed to create a more
random variation. So let's change the global
seed to value of six. And after that, now
maybe let's import our FPX character that we have downloaded from Mixamo to
better align our copies. And to import this, let's add an agent node in here by the easiest way to import the character is you
can use the agent node. We could use the FPx
character Import node, if I add an FPXacimport node, if I add this and let's
result of this node, right now, it's
throwing an error. We need to define the FBX file. So let's select our FPX file, and I have stored this
in my Geometry folder. Let's go into the geo,
and that is my character, create SOT costing,
head accept Okay. And here is my
character imported. And to animate this, we need to add node
called bone deform. So let's add an bone
deform node in here, and we need to connect all of these three inputs onto
the bone deform node, and let's view the result. And here as can see. Let me enable my play bar and hit play. And let's maybe enable the real time playback and
hit play again. And heres can see our
animation has been imported. And by using the FPX
character input, if I real mouse button
here as you can see, we are importing all of
our points and primitives, and that way it is
more heavy geometry. We can use the agent node, and that way agent will import our character as
an APAC geometry, and PAC geometry are very
light way to work with. So let's use this node instead. So onto the agent node, let's bring up its parameter. Onto the input type, it's set to character ring, but we want to
import an FPx file. Let's change this to FPx
and onto the FPx file. Let's select our grade
sword costing node, and it accept, and here as you can see our character
has been imported. And if I middle mouse button, hers can see now we
only have one point, and that is an APAC primitive, and it is very light
way to work with. So we are going to
use the agent node. So let's remove FPX these nodes. Okay. And now maybe let's add an merge node to view
and align our effects, these rock geometry according
to our character animation. So maybe let's add an
e merge node in here. Add merge. And let's merge our copy
to points with our agent. And let's see our agent
is way back there. Let's play around with
the values of the line. So onto the line,
onto the origin, let's adjust its location of the starting
point of our line. And maybe let me lower
down the number of points, the number of copies
for faster working. Okay. And onto the origin, let's add an origin to
an value of maybe -1.5. And right now our
character is not align. It is facing on to the Z axis, but our animation
is onto the X axis. So after the agent node, let's add an transform node in here and onto the transform, let's add an Y rotation
of 90 degrees. Okay, so now it is
properly align. Let me go back onto my line
node and onto the origin, maybe let's change this to 1.5, not -1.5, and I
think that is good. And onto the length,
I'm going to increase the line length to 20. Okay. That is the
overall effect length that I want and the
total number of copies, I'm going to use the
38 number of copies, and Hers can see our
copies are very slow. So maybe we need to go
into the copy two points and let's enable the back
and instance option. That way we will be
creating geometry, and now Hers can see it is
very lightweight to work with because now we are packing our geometry into
one single point, and it is very lightweight. I think that number
of copies are fine. But now the overall
rock scale is too high. So after the rock node, let's add an A
transform node, too, let's scale down the
overall scale of our rocks. So let me connect this after the rock and onto
the uniform scale, let's lower this value
through an a zero point. Eight, and I think the height of the rocks
is looking fine now. And let me rearrange
my node graph. Let me bring all of
this geometry down. And after the copy DPoints node, let's add another
transform node to add an A angle because
right now they are poking out from
the land straight. So let's add a transform
node in here from let's say transform and connect this after the transform
onto the rotation. Let's add an A 45. Degree of angle, and that is the angle from where I want these rocks to
grow from the ground. Okay? That angle
is looking good. Now let's create a
growing p scale attribute to create an growing
rock effect. And for that, we're
going to animate our p scale attribute. And for that, I'm going to use an A attribute Wop node in here. Let's add an attribute Wop after the line node and inside
the attribute op node, we will going to be building
our P scale animation. First, we need the
curve U attribute onto our line and cure attribute will store an attribute
that will start 0-1 and we will be going to use this curvie attribute
to animate our p scale. And to create this, we
can add an node call. Resample node will output
curview attibude for us. So let's connect this
onto the resample node. And if we enable
the point display, right now we are
resampling the points, but we do not want to
resample the points. So let's uncheck this
maximum segment option, and now we are not
resampling the points, but we only want
curve view attribute. So come over here and let's
enable the curve U attribute. Okay. So now if I
middle mouse button, here we have the curve
view attribute and the cur view attribute
will be from start, it should be zero
and at the end, it should be one
into the length, we have these values
interpolated. Okay, we have this growing
attribute that go 0-1, and we can use this for scaling. So let's go into the attribute
wop node in here and let's import our
curve view attribute. So let's add bind node in here, and onto the bind node, let's type the attribute
name that we want to import. The attribute that I want to import is called the curview. Let's add this after
the curview attribute, I want to build an a mask
attribute and for that, let's add bind
export node in here. And for this one, I'm going to call this one attribute mask, and let's connect this
curview into our mask. So right now, nothing
we are doing, we are just importing
the curview and we are creating an
mask attribute. So in here, let's add
an ARM parameter node, to add adjust these zero and
one interpolating values, and onto the RAM
parameter, right now, it's set to an RGB color ramp. Let's change this
to spline ramp, and we can adjust
this spline ramp. If we go onto this level
onto our Geometry level, here you can see that is our ramp right now
it is set to zero. So let's select this last
point increase its value. And the last one,
maybe let's bring it a bit closer. Something like that. Okay. And to use this mask attribute to
adjust our scaling, we can add an attribute
wop node in here. So let's add another
attribute wop node, and I'm going to rename this one set scale because
in this attribute Wop node, we will be going to
use the mask attribute that we have created up here. So let's dive inside
the set scale. In here, let's import our current P scale value that we have created this
random P scale value. Let's import this. I'm going
to import this p scale, and let's create
another bind node, and now we are going to import our mask attribute that
we have created up. So let's type the name
and that is the mask. And now I want to multiply this mask attribute with our current p scale value to generate the
animation effect. For that, let's add
multiply node in here and let's multiply these two
value mask with our P scale. Let's output this
into our P scale. Let's add a bond export node, and let's write
these values back. Let's add an P scale
attribute. Let's output this. Now if we go back and with
result, here as you can see, we are adjusting the P
scale and we can go into the attribute b and
we can play around with this RAM to
adjust the P scaling. Now let's animate
this mask attribute to create the animation. And right now, the animation is in reverse, here,
as you can see. If I view this with my character and let me
home this all right now, the animation is in reverse. And to fix this, we can add an fit
range node in here. So let's add an fit range. And in here, we can
change the invert these destination
min and max values to reverse our mask attribute. So onto the min,
let's change this to one and max to zero. That is the direction
that I want these rocks to grow and
to actually animate this, let's add an offset attribute, create an offset attribute that we will going to be animating. In here, let's add an add node. And I want to add
this attribute. After the add, let's
connect this into our ramp. And for the second input, I'm going to export
this parameter onto this soap level
for animation. To export this second parameter, I can create an
parameter node in here. Let's add an parameter node, and I'm going to rename
this parameter to offset. So this and connect
this in here. Now we can go back and this
parameter node will export a parameter for us
here as you can see that is our
offset parameter, and by adding the offset, we can animate our
growing rock effect. Okay. So maybe now let's
add an A keyframe in here and let me find an A frame where I want the
growing effect to start. So let's play. And I want
to start right about here, maybe on frame number 48. So let's change
this to minus one, present hold the old key and left mouse button
to add an a key. And now let's go on
to the frame number. I think the frame number was 93, and let's change this value
all the way up to one and press and hold
the old key and left mouse button again
to add another key. And now, if we hit play, as you can see, our
rocks are growing. Okay. And to adjust
this growing effect, we can play around with
this ramp to create a more smoother transition
of our growing rocks, okay? I think that ramp
is looking fine. And now let's create this other side as well
because right now, if we take a look, it's on one side. So let's duplicate all of the setup onto our
opposite side as well. So after that, let me rearrange these nodes because we are going to duplicate
all of these nodes. I'm going to duplicate after
the scatter and align, as well as the copy to points. So let's duplicate all
of these nodes together, and for this one, I'm going to add an
transform node to add an A offset onto this line. So let's add an
transform node in here. And I'm going to
add an I transform onto my Zaxs on one unit. So let's add an M minus one, and let's add this. And now we can add an merge node to merge both
of these our geometries, let's connect this one to the transform and
let's view the result. And here as you can see,
we have two copies, but right now, the
alignment is not correct. This scatter align
rotation is not correct. Maybe we actually don't need
this transform node in here. So let me remove this merge. Let's add merge node once more. After we have applied
the transformation, we can add merge. Okay, because that
transform node is applying this rotation
onto this side as well. That's why we have
the wrong result. I think we need to create
another transform node to make them lean on
other interaction. So for that, let's add
another transform node. For this side. And for this one, I'm going to add an A -45 because that is
our positive 45. So let's go into the
transform onto the rotation. Let's change the
value to -45 and hers can see the rotation is
not being applied correctly, and that is because
this transform node has its pivate location and its pivt location
is at the origin. Hers you can see that
is our pivt location, and we want to move the pivt
location onto this side as well because we are adding
the minus one offset. So let's add the
minus one offset onto our PVD translation as well
onto our PV transform Z. So maybe we can copy
this parameter. So let's copy this
parameter and link these two together onto
the Pwd translate Z. Let's space these two
relative reference. Okay. Now here as you can
see our rotation has been applied correctly
because now we are translating the
pbet accordingly, and maybe let's go
into the scatter and align and let's
play around with the angle so that they
don't have the same angle. Onto the minimum angle, let's introduce some value. Maybe let's add
value of 7.5 to add a bit more randomness onto
the rotation on both sides. Now let's add another
transform node to make these growing effect onto the center of our character
because right now, here as you can see, they
are not in the center. And for that, let's add another transform after we have merged both
of these geometry. So let's add an
transform node and connect this at very
last to the transform. Let's add a translation
onto the Z axis of 0.5 because we are working with the range of one and minus one, 0.5 should be the center. Now we are at the center. Let's hide the parameter
of the transform load. Let's zoom out a bit and let me hide my
point display option, and let's press the home to
view all of our geometry. Let's rewind and let's hit play. Let me see why my charactor
is not showing up. My caractor is in here. Let me adjust my camera angle. Let's hit rewind again and
let's hit play. So sored. Our character is slashing SOD, and now we have this
rock growth effect. And after the merge, let's add an A null in
here and we're going to call this one our
out rock animation. Okay. And let's go into our after the line and resample where we are creating an A mask. So let's rename this one to maybe an A set mask that is responsible for our masking
animation, growth animation. And we can increase the
line length if we want to create a more longer trail of these rocks or shorter trail. We can do so by
adjusting the length. So if I lower down the
length value in here, 13 maybe and here
as you can see, or we can adjust the
number of points, how many rocks we want. It's all very procedural. Okay? And for our project, I'm going to use the
38 number of copies. So let's change the
point count to 38, okay? And I think that animation
is looking fine.
6. Ground Lightning: Now let's create
ground lightning that will strike
onto the ground, and then these rocks
will start to grow. Okay. So let's start
creating that. First, let me rearrange
my node graph. First, let's remove this merge, and let's move this out
rock null at the end. In here, these are our rocks, and let's move
these two guys up. That is our agent. So let me move this up here. And at the end, let's
create another null in here and let's call
this one our out agent. So let's rename this
null to out agent. And in here, maybe
let's create an a fox. And let's type this agent. Okay. That is our agent. Maybe let's move this
a bit further up. And now let's start
creating our lightning. And for lightning, we're
going to use the line node. So in here, let's add
line and onto the line, the alignment on Y is okay. Let's increase its length. I'm going to change its
length to 7 meters. And after that, let's add an A resample node to
add a lot more points. Onto our line
because right now we do not have enough
divisions, and later on, we're going to use the noise, and we need some points in
order to deform these points. So let's add resample
node in here, and onto the resample, we can change the length to add more or less of
these divisions. So let's lower this down to
value of 0.05 maybe for now, we can adjust these
values later. And after that, let's add
noise onto our point position. So let's add an attribute
noise node in here, sorry, not the attribute noise, but the attribute wop because we are going to build
noise on our own. So let's add
attribute wop node in here and let's dive
inside the attribute wp. And in here, we're going to use the anti alias flow noise. So let's type t As flow noise
or AA flow noise. Okay. Let's connect the P for
sampling the noise position. And right now it is
outputting the one D noise. So let's change this to three
D noise, three D input, three D noise because
position is three D vector. And let's add add node in here and add our noise into our
current point position. Let's output this onto our P and let me hide my point display
by clicking on this icon. Okay. And here we
have this noise. Let's suggest some parameter of the NTLS flow noise First, I want to create these big
shapes for our base noise. So in here, let's
increase the amplitude. So let's keep increasing
the amplitude value. Maybe value of 1.9 is good. Now let's animate this noise. And for animation, let's add an A offset noise
offset onto our Y. So we are going to use
this offset option, and that is an a vector, and I'm going to drive this
offset with our current time for animated offset and
time is an float value. So let's add an float
to vector node in here. Flow to vector, and it has
these three components X, Y, and Z, and I want to
animate my Y components. Let's connect this
1 second value, which is our Y. Let's connect this and add this into our offset
and let's hit play. Our noise has been animated and right now the
direction is reverse. After the after we are adding
this into flow to vector, let's add an A negate node in
here to reverse the values. So let's add this. Okay. So now it is flowing down,
that is good. And maybe let's add an a
value onto the flow as well. So that will create an add bit more randomization
into our noise, onto the flow value, and let's connect this
into our time as well. So let's connect
this to the time. Okay. And in here, let's add another
anti alas flow noise. This time, the second
ants flow noise, we are going to use
this for adding an high frequency noise to add more roughness
into our line. So let's connect this into
the add node in here. That is our second layer. And for the second layer, I'm going to increase
its frequency, three D frequency to create
a high frequency noise. So let's keep increasing
its frequency. Let's keep increasing that because I want to create a
really high frequency noise. The value of 11 is good, and now the amplitude
is too high, so let's lower down its
amplitude value because we want a little bit of amplitude
where we value of 0.11. Okay. And we will
see this result when we are going to
decrease our resolution. So maybe let's decrease this the length by adjusting its length from
the resample load. So let's lower this value down. And here, as you can see, we have this high frequency
noise introduced. And, okay. So that is
my basic lightning. And now let's make
this lightning move with the growing
rock animation. Okay? These are
our growing rock. Let's make this lightning move. And for the movement, I'm going to use this
where we are using the mask because we are creating an a growing
mask attribute in here. So let's use this to
move our lightning. And for the movement, I'm going to use an
carve node in here. So if we add a carbon node
and let's view the result, here we can adjust
the first or we can adjust the second to
carve out our line. Or onto the curve, we have the option to
extract and a single point. Let's enable the extract option, that will extract
only these points. We don't need the
first, the second by adjusting the second, we can extract only
one single point. When we have this
point extracted, we can add an ode copy to
points to copy our line. Okay. First, let's maybe
connect this in here. That is our geometry
that I want to copy, and that is our point. And when we adjust the second, here as you can see
our line is moving. And after that, maybe let's
introduce this noise, and let's increase maybe rename this attribute
warp to set noise. Okay, that is our basic noise. Onto the car. By
moving the second, we can move our lightning. So let's animate
this second with the attribute that we have
created this mask attribute, Okay, because we already have this growing
mask attribute. So let's use this attribute
to drive our second. So here on to the constant, let's change this to attribute. And if we pick Hers you can see, the mask attribute
is not showing up, and that is because
the car node expect primitive attribute to
utilize this attribute. And right now, if we
middle mouse button, here you can see, we have the mask on our point attribute. So let's promote this
onto primitive level by adding an attribute.
Promote node in here. And let's connect
this before we are connecting this to carve
onto the attribute promote. Let me select the original
attribute that is the mask and I want to promote this onto my primitive level. And now, if we go
into the curve, we should see our attribute. So let's speak and here as can see we have the mask attribute. And now, if we move, let me adjust my playbr
timeline overall. We are going to use
120, 120 frame. So let's adjust the overall
duration of our play bar. That is the duration
that we're going to use. And here as you can see,
our curve is not animating. Our point is at its original
position. It's not moving. And that is because
we need to enable the first for this
point to move. So whenever we are
using the attribute, we do need to enable
both of these options. So let's enable
the first And now, if we go back here as you
can see the point is moving. So maybe let's increase this first U two all
the way up to one. And here we have one
point that is moving. And if we go and hit
play, see the result. And here as you can see, now
we have these two points. So we don't care about
this second point. We can remove this
after the curve. So let me check which
point that we don't want. Let's enable the point number, and I want to remove
the point number zero. So after the curve, let's
add an last node in here and let's connect this. And onto the plus, let's change these two points, and I want to remove
the point number zero. Now, let's view
the result again. Let me hight my point display. Okay. Now we only have one single point and our
lightning is moving, and now it's present in
our overall duration. Okay? So let's add an start
and ending of these points. And for that, let's add
an delete node in here. And after the blast, I'm going to add
another delete node, and for this time,
I'm going to use an delete by expression. So I want this line to
start on my frame number 60 because that is
the frame where we are hitting our sword and
rocks will start to grow. So that is our starting frame. So onto the expression, let's add an $8 sign F if our current frame
number is less than 60. Okay. So now before the
16, we shouldn't see. Let me see of entity, we need to change
these two points. Okay? So before the
frame number 60, we do not have this point. And after the 60, we start to see our line, okay? And after this sum frame, I want this to get removed. And the frame number, I think it was the
frame number 84. So after the 84, we have all of these grown up. So after let's add
another lete node. Let's add another delete
node, and let's connect this. And for this one, let's
change the entity to points, change this to delete
by expression. And for this time,
I'm going to use if our current frame number
is greater than 84. We want to remove this point. Okay. So now we are isolating this point moving animation
between frame number 48. So sorry, frame
number 60 and 84. Okay. Now, if we view the
result, here, as you can see, we have our lightning and
after the frame number 84, we have the lightning gone. Okay, that is good. And we
can view the result if we add an merge node in here to see if we have the
frame number correct. So let's add merge. That is our lightning. Let's view the merge node. And let's scrub our timeline.
So it should start. We can start to see
at frame number 60. Okay, we have the lightning hit, and now rocks are growing, and after 84, we have
the lightning go. Okay. So that animation is fine. Now, first, let's
rearrange the noise. Let's remove the merge that
was for the visualization. Let's move all of these down
and maybe move this up. And if you want to change
the node graph wiring style, you can press the shift
Sky on your keyboard. You can change the wiring. Okay. And if you press Shift S again, it will change this to straight. So maybe let's change this
to the smooth wiring. Okay. That looks neat. And after the noise, what we are doing, okay, we were cleaning
up our node graph. So let's rearrange them. Okay. Here onto the set mask where we were
animating our offset. That is our offset.
So let's adjust its keyframe animation curve, and we can adjust this if we right click and go
into the channels. And let's click on this
isolate channelist option that will enable this timeline curve. So let's select both of these keyframe and the
function is a to basier. Let's change this
to linear because I want these two keyframes to
have a linear interpolation. Okay? That is good. And now, after we have
this main lightning, let's add the width attribute, because we are going to add an thickness onto
these lightning. So let's add polyvi
node in here. Let's add polywire
and view the result. Okay, we are going to set the thickness attribute
because we will not going to be using the polywire
to create this geometry because we are going to add
the thickness at render time. So we need the width attribute. So width attribute
is something that Kerma uses to set the
width onto our lines. Okay, so let's create
an width attribute, and we are going to set the
width attribute inside of this attribute Wop so
let's time inside this. And in here, I'm going to add
a simple parameter node in here and I'm going to
call this one width. Okay. And to create
this as an A attribute, we need to create a point, export node in here
and connect this. And in here, let's type
the attribute name and the attribute that I want
to create is called width. Okay. Let's go back. And in here, we should
see the parameter. And let me find why I
cannot see the parameter. I think we do not need to
use this bind export node, so let's remove this. Actually onto the
parameter node, we can export the
attribute width. So we do not the bind
export onto the parameter, we have this export option. So the export is set to never, so let's change
these two always. So now we are creating
the width attribute. So if we go back, and in here, we can adjust this parameter
to create an width. And if we middle mouse button, and here as can see we have
an a width float attribute. Okay. And to visualize
this our width, we can go into the polywi
and onto the fire radius. Let's use our newly
created width attribute. So in here, I'm going to type at sign and inhere type
the attribute name, and that is the width. And by using this parameter, we can adjust our width, okay? And I think the value of 0.03. Okay, that value, I think will work fine
for us for the width. Okay. Now, we do not need this polywire node that was
just for the visualization. So let's move this.
7. Lightning Branches: Now let's create branches for
our main ground lightning. And for that, let's create
an scatter node in here. I want to scatter some points onto the original
lightning geometry. So let's add an scatter node
after that, and in here, we can define how
many branches we want by adjusting the force
number of count points. Okay. And for starting point, let me change the
number to maybe 28. And after that, let's add
an line node in here. And add copied point because we want to copy this line onto
these scattered points. So let's connect
this geometry into our scattered points,
and onto the line, let's adjust their alignment
onto the direction, zero out the Y and
change the Z to one. Right now, they are all
aligned onto the Z axis. And to randomize the alignment, let's create an A
attribute, randomize, and let's randomize
the normal because the normal will be used for the alignment by the
copy points node. Let's connect this and onto the attribute randomize,
let's type the name. I want to randomize the N,
which means the normals. And right now, and
here as you can see, we have this random angle random alignment
of these branches. Onto the distribution, let's change its method
to inside sphere. I think the inside sphere fine, works good when we are working with directions
or orientation. And in here, we can define the cone angle by
adjusting the cone angle, we can create a more
leaning effect, and onto the direction, let's change its
direction to Y one, Okay. And onto the angle, I think value of 80 is good. Okay. And after that, let's randomize their P scale because right now they
are all at same length. And for that, let's create another attribute
randomized node, and let's connect this in here. Let's type the P scale. And the P scale is
a single value, so its dimension is one. So let's and it's two time one. And here as you can see we
have randomized B scale, but some of them have an a scale of zero,
and I don't want that. So onto the mean value, let's clamp the value to
lower to value of 0.3. So I want them to
have some scale. I don't want them to
be completely zero. And after that,
let's start adding some noise detail
because right now they are very straight line and
they are not very interesting. And first, we need the resample node to add more
divisions, add more points. Let's connect this.
And onto the resample, I want a lot more points. So let's change the length to
0.01, a little bit higher. And after that, let's add
an attribute Wop node, and let's start
building our noise. And in here, let's dive inside
the attribute Wop node, and we're going to use
the t alias flow noise. Let's add this, and that is
our position and in here, change this to three
D noise, signature, add an add node and add this to our
current point position. Connect this into Po and here we have this
interesting noise going on. And maybe let's animate
this by adding the offset. So let's use the time
as an AI offset. So for that, let's add
an flow to vector node. And let's connect time into the Y component and connect
this into our offset, and we should have
animated noise. Okay. And onto the
TAs flow noise, let me adjust the amplitude. Or maybe I think the amplitude
value of one is fine, but maybe let's
adjust the frequency to create a more high
frequency noise. So let's keep increasing
the frequency. And I think that high frequency
noise is looking good. Okay. And now let's go back and let's merge this
with our main lightning. And that is our main lightning. Let me rearrange my node graph. Let's merge this
with these branches, and let's view the result. And here as you can see,
these branches are not sticking onto our original
the main lightning. And for that, let's clamp
the noise onto the base. We don't want to add the noise
at the base because I want the base to attach onto
this main lightning. Okay. And for that, let's enable the curve view attribute onto the
resample node. So let's enable the curve view. And in here attribute warp where we are
building this noise. Let's import the curve U attribute by adding
the bind node. And in here, let's type
the attribute name, and that is the curve and I want to control this with the AMP to have a
bit more control. So let's add an AM
parameter node in here, and I want to call this one, I think the fade because that will control the
fdness of the noise. And let's multiply this
with our this flow noise. So let's add this
with this feed ramp. And right now it
is an A RGB ramp. Let's change this
to spleine ramp. And after the multiplication, let's use this into our add. And now hers can see our
lines are attaching, but all of our noise is gone. So let's go into the
attribute warp and in here, let's adjust this ramp. At the last point, let's increase its value all
the way up to one. And by adjusting this ramp, we can define where we want
the noise to start apply. Okay? So I think the value
of default is fine for now. We can adjust this later. And now let's create
the width attribute for these branches as well. Okay? And to
visualize the width, let's add an polyvi
node in here. Polyvar and connect this onto the polyvi let's
use the width attribute, and right now we do not
have a width attribute. So let's create that. And
we are going to create the width attribute inside of this attribute wp where we
are building our noise. So let's use this
attribute wop node. And in here, I want to create a random width for all
of these branches. Okay. And for that, let's add a random node in here, random and this node
require an A seed value, and we are going to use an a prim number
because we have all of these different
primitive and they have their separate prim number,
unique prim number. So let's connect the prim
num as a random seed, and this will output
random value 0-1 range. So let's use this as width. So let's add a point
export node in here. And I'm going to
name this width. And let's connect
this into our random, let's visualize our
width by going to the polywire onto the i radius. Let's use the width attribute. And here as can see we have
very high value of width. So maybe let's scale down this overall value because
random is putting values 0-1, and the values of zero and one
is too high for the width. So to scale it down, let's add multiplier
constant node in here, let's connect this and by
adjusting this multiplier, let's scale down
the overall width. Lower value, maybe
a value of 0.02. And I think that
width value is fine. And now I want to
create their base. I want their base to be
thick, but at the end, I want them to be thin because
these are the branches. And for that, let's
use the curve view, and let's use
another AM parameter to control the
width over length. And for that, I'm going to add another ramp node in
here, am parameter. And I think I'm going
to call this one trip. So let's type in here. Okay, because this ramp will control their last thickness. So onto the AM type, let's change this to spine ramp. Let's connect the curve
e in here and let's multiply this with this random width value
with this ramp. So let's add multiplier
node in between multiply. I want to multiply
this with this width, and that will be our
new width attribute. Okay. So all of our width has been set to zero because we need to go
back onto the soap level, and let's play around
with this dip ramp. So at the start, I want to have some thickness, and at the end, I want
them to be thin, like so. Okay. Let's maybe play around
with this ramp a bit more. Let's play this point this
one back or maybe at front, and let's move
this a bit closer. Okay. I think the value of
something like that is fine. We can adjust these
values later. Okay. And now let's merge, and let's view them
with this merge, let's connect this
polyvar into this merge. Okay. And that will be our
base ground lightning. Okay. And now let's add some random color
onto the lightning. And for that, I'm
going to create another attribute
wop after the merge, and I'm going to connect this. Let's connect this after this attribute wop
and while it is gone. Let me see. Okay. Hm. Is there a viewpod issues? Let me remove this attribute wop I think the polyvar has
something to do with. No, it's working fine. Let me see. When I add
attribute wop why it is going. Okay, now it's working fine. I think that was an
A bug or something. Okay? Now, let's use this
attribute wop to set our color. So I'm going to rename
this one to set CD. Now, let's dive inside
this attribute wop node. And in here, let's
create an anti alias. Flow nodes in here. Because we are going to use
the noise to set any color, and I don't want the ts noise, but I want the ants flow noise. So let's add an
ants flow noise in here and connect this
to our position. And this time, we do
need the one D noise. Okay. Let's add an A
ramp node in here, ramp parameter,
and connect this. And this time, I want this to be an A RGB ramp because I
want to set the color. And let's connect
this into our CD. Okay. So here we can start to see some black
and white noised color. So maybe let's go
back onto the CD. And in here, let's create at the start and
a lighter blue color. Let's play around with
this color value. And at the end, I want to create a dark blue. So maybe let's pick up
an a dark blue color, and let's change this
into a more darker value. And we can adjust
these values later. And for now, I think that
color is looking fine. Let's play around
with the noise a bit. Let's dive inside
the attribute noise where we are setting the ramp. Let's fit the anti
alias flow noise values to capture more of
these noise values. So let's add a fit range
to clamp the noise values. That's a fit range
in between, first, let me adjust its
three D frequency to create a more high
frequency noise. And here, as you can see, as I'm increasing the frequency, we can start to see more and
more breakup in our color. And maybe let's introduce
some roughness in here. And in the viewport, it's not much visible, but when we are rendering, we should see some
color variation. Okay? And let's go into the
fit range node in here. Let's clamp the values from -0.2 because this tails flow noise will
output minus values. So let's clamp the
-0.2 and max to 0.5. Okay. And here, as you can see, we have the noised
up color variation. Okay, let's go back. And after that, let's create an null in here and
let me connect this. And I'm going to call this one our out ground lightning because that is our
ground lightning. Okay. And let me remove this poly war because that was just for the visualization. And with that, I think our ground lightning
is complete. Okay.
8. Ground Blast Glow: Now let's create blast glow where lightning is
hitting onto the ground. We want to create a glow
where lightning is hitting. Okay. And for that, let's create a spare
node in here first. Let me organize this node graph. So that is our ground lightning. Select all of these node, maybe let's select all
of this null as well. And let's move this
inside into the side. Let's select only these nodes, move them, and in here, maybe let's create a box, and let's rename this to our ground lightning.
Zoom out a bit. And here we have
this single point where we are creating this mask and we are
extracting this point, and it has this animation. So let's copy an a sphere and add some noise
onto the sphere, and that way we can create
an blast glow exactly where lightning is hitting
because that is the point responsible for our lightning
animation movement. Okay? So right after
this delete node, let's create an sphere node. And onto the sphere, let's change its primitive type, as well as let's
increase its frequency. Let me view my sphere
into the viewport. Let's view the result
of the sphere. Okay, that is our lovely sphere. And after that, we can add
an a copy to point node. And let's copy our
sphere onto this point. And that way we will
have the movement. And here, as you can see,
we have this movement of the sphere because all of this node graph
is animating this. Okay. Now, let's add some
noise onto our sphere. First, let me break
up this sphere shape, and let's change its
radius value onto the X. Let's change its value to
create a more lengthier sphere, and onto the X, maybe Y. Let's increase its
Y size as well. And onto the Z, let's maybe scale
this up to one. Okay. And after that, let's add an A match size to make this square
set onto the floor. So let's add an match size
node in here and connect this, and let's change the
justification Y to minimum. Okay. So now we have our
spare seat onto the floor. After that, let's add
a mountain node in here to create add the noise, to break up this overall shape. Let me move a bit down
this copy to point node because we're going to
add a lot more nodes in here. Okay. And here is can
see when we are adding this mountain and let's adjust
the value of amplitude, when we increase the amplitude
value, Hers you can see, our sphere is now going below
the ground to fix this, let's add an flattened node in here to flat this
out below zero, the Y value zero. So let's add this flattened
node and view this. And here as can see now
it's not going below Y and before the mountain
applied and before the flatten, Okay, that is good. And let me adjust the parameter of the noise
onto the mountain node. First, maybe let's lower down the amplitude value because I believe that the
amplitude value is high. So let's increase the two
maybe a value of 0.3. Okay. And let's play around with the element size to create a
more high frequency noise. Let's keep lowering this down. Let's lower this down
to maybe value of 0.5. Okay. I think that
breakup is fine. Let me enable this
fractal option. So hybridrine let's play
around with the Max octave. I think the default
value of 0.8 is fine. We don't need to adjust that. But now, let's
animate this noise. Right now, the noise
is not animated. So let's enable the
animation option. Let's enable this and play. Okay. And in here, let's lower down this duration to create more high speed noise. Okay? Now let's add a bit more breakups
onto this geometry. And for that, let's use the volumes because
by using the volumes, we can create a lot
more organic shape. And for that, let's add
pyrosurce node in here. I'm going to use the
pyrosurce node to convert to scatter some
points into our geometry. So let's add this because
the pyrosurce node will scatter points inside of
our geometry onto the mode. Let's change this
to volume scatter. Okay, so now we are filling
our spare these particles. And in here, let's add
our density attribute. And after that, we can
convert this point into volume by using the volume
rasterized attribute node. So let's add this and connect
after the pyro source node. Onto the attribute, let's select our attribute that we
want to rasterize. So now we are creating this our fog VDB volume,
and after that, we can add the VDB node to convert this into
polygonal geometry. So let's add and convert VDB
node in here at the end and convert this back to polygons
and here is you can see, all of these values are gone. So let's play around
with the ISO value. So let's start meshing over this volume with the
value of maybe 0.2. We can change these
IO values later. Okay? So in between, let's add volume
wop node to create our own noises to
break up this shape. So let's add volume Wop node. Volume warp, and let's connect this and
let's dive inside. And in here, let's
add some noises. And in here, I'm going to
use the turbulent noise. So let's add this, and we need to connect the position for the sampling of the noise. And let's add an add node in here and let's add the noise. There. Okay. After this noise, maybe let's clamp
these noise values in range of zero to one. So let's add an clamp
node in here because we do not want any values
above one and below zero. So we are clamping
these two mean and max to zero and one. Let me rearrange my node graph. And to the noise, let's play around with the
different types of noise. Let's create maybe an
sparse convolution noise. Okay. First, I believe
that the scale is too big. Let me check if we go back and let's connect this
into our copy to points. And let's view this
with these out rocks. So let's add an emerge node in here because we want
to see the scale. Let's add this and connect
this at the merge, and let's go on a few frames up where
we have the animation. Okay. And here as you can see this globe
geometry is too big. And for that, let's add transform node after we
have created the sphere. And let's scale the
overall geometry down. Let's add in a transform node, and let's keep lowering this
uniform scale value down. Okay? Let's lower this down
to an a value of 0.36. Okay. I think that blast
will look fine for us. So let's use this scale value. And now let's go into the pyrosurce and
let's play around with this particle
separation to create more particles inside
of our geometry. Let's lower this value down
to maybe an a value of 0.04. And onto the volume rest rise, let's lower down
this voxel size as well to capture more detail. So let's lower down the
voxel size 20.04 as well. And let me view the result
of convert VDB, okay. Now let's start building our noise inside
of the volume wb. So let's dive inside
the volume wb node in here and let's play around
with its frequency. Let's keep increasing this to create a more high
frequency noise. Okay? By increasing
the frequency, we can start to
see some details. And right now we are using the original straight position
for sampling the noise. So maybe in here, let's add noise to
disturb the position, and then we will sample the noise to create more
interesting shapes. And for that, let's add
an anti alias noise in here and let's connect
this into our position. And let me connect this and let's change this
to three D noise, and let's add this together
our original position. Let me connect
these two wires as well as the noise position. And now let's use this newly created position
for sampling this noise. So let me connect this into the position of the
noise. Let me zoom in. Okay. Now let's play around with the talis noise parameters. First, let me lower
down the frequency. Let's keep lowering
this value down. Maybe let's lower this
down to a value of 0.3, and let's increase
the amplitude value. Okay, we start to see
some interesting shapes. Let's increase this down
to an a value of five, and let's lower down
the roughness value. Let's keep lowering this down to maybe an value of 0.38 is,
I think, looking good. And now let's animate this noise by adding
the offset value. I want to add an offset
onto the X because that is the direction this sphere
will be going to move. So in here, let's create an
flow to vector node in here, flow to vector, and
for the X component, let's connect our time. And let's connect
this onto the X, and let's connect
this into the offset, sorry, not to the frequency, but onto the offset
and let's hit play. And Heros can see our
noise has been animated. Let me go back in her. Let's go into the
convert VDB node and let's play around
with the ISO value. Okay. Maybe let's increase
its value to 0.2 18. Okay. And here as you can see, here we have some of the tree tail applied
onto this noise. But right now I'm getting this blob of our geometry
that I don't want. So I think we need to
correct the noise. So let's dive inside
the volume wop node where we are
creating the noises. So let me dive inside. And I think this blob is coming from this add node because we are adding these noises as well as we are adding the
original tenst values. So maybe let's not add, but we want to use this
noise as our new value. So for that, let me remove this add node in here and let's use this noises value as
our new tensity value. So let's connect the
clamp into our output, and here as you can see, we
have these parts eaten away. And that will create some
organic organic looking shape, and that will
create an fine glow when we are going
to render this. Okay? So let's go back and let's view the result
after the copy to points. And after I think
frame number 60, we have this glow
and it is traveling. Okay. And now let's add an A. Color onto this geometry. And for that, I'm going to use this node where we
are setting this CD. Okay. So let me copy this node. So if you press and
hold the old key on your keyboard and drag that
way you can copy the nodes. Okay. So let me
remove this wire, and let's connect this after the convert VDB node.
Let's add this. And here as you can see we
have this blue looking color, and that will create
fine glow for us. So after the copy
two points node, I think that ground glow will look good when we
will going to render this. Let me rearrange
this node graph. When all of the
nodes are selected, let's go into the layout and let's align these nodes
vertically, okay. And after that, maybe
let's create an box in here and let's select
all of these nodes. Let's create box around it, and we're going
to call this one, I think the ground
blast, ground. Blast. Okay. And at the end, let's create an a null, and let's call this one our
outlast out ground blast. Okay. And let's remove
this merge node. We don't need that. Okay,
so that layer is complete.
9. Sword Lightning: Now let's create
lightning for our sword. So let me zoom out and
let me find our agent. Okay? So our agent
model is up here, and maybe let me move this a bit more up because we are going
to create a lot more nodes, and let's maybe make this
out null out from this box. Okay? And in here, let me find the frame, okay? So we want to add the
lightning effect onto this sord and we need to extract
the sord from our model. And right now, if I pick up my selection tool
here as you can see, I'm only able to select
all of my model. I don't have access to
individual polygons, and that is because it
is an APAC geometry. And we need to unpack this. So in here, let's add an
unpacked node to unpack. Or we can add a convert
node and convert node will unpack and convert
this into polygons. So let's add an convert node. And because it's from type, it says all type to polygons
and if we view the result. And here as you can see, we
have these our polygons. Now we have access to all of
these individual polygons. So now let's select
this our SOD model. And maybe after
the convert node, if we middle mouse button, here is cans we have all
of these point attributes, and we have some
attributes on our vertex as well as some
primitive attributes that we actually don't need. So after that, let's
add an attribute, delete node in here
and let's remove all of these attributes
because we don't need them. Onto the attribute delete. Let's click on this
delete non selected, and now all of these attributes should be gone if I
middle mouse button. Now we only have one attribute that is the
position, that is good. Now, let's select the SOD model. Let me activate my
selection tool. And in here, let's track Murky
selection. And let me see. Okay, I think that is
our all SOD model. And in here, let's type a blast node to blast
out that piece, and onto the blast node, let's click on this lead non selected to invert
our selection. Okay. That is our SOD model. And in here, let's
scatter some points because later we're going to use these points
to copy the lines, and then we will add noise
to create the lightning. And for that, let's
add a scatter node in here and let's connect
this into the Katana. And in here, you can define
how many lines you want. And by adjusting
the force count, we can adjust the number of our electricity electric arcs. Okay. I think for now, maybe let's change
its value to 10. Okay. And after that, I want these points to move
along the surface of our sod. If we take a look at
the sod geometry, I want to create the
lightning arc and I want the lightning arc to move along the surface of
the sod geometry, okay? And for that, let's add the movement on
the scatter point. For that, I'm going to use an attribute noise in here
to noise up our position. Or maybe we can use
the mountain node, which is actually the
attribute noise node. So let's connect this in
here and let's view result. And here as you can see, if
I adjust this amplitude, our noise has not been applied, and that is because it needs the normal attribute in order for this to work in order
for this to apply the noise. And right now, we do not
have N so after this blast, maybe let's add a normal node to create the normal
on our geometry. So let's add normal
and connect this. And now we should have
the point normal. Okay, and here as can see. And now we will be able
to add the mountain and this node will
apply the noise. Okay. And heres can see the
noise has been applied. And onto the amplitude, maybe let's increase
the amplitude value to some very high values. And we do need to
animate this noise. So let's enable the animation, and let's scrub our timeline and hers can see how
noise has been animated. And let's enable the
animation option, and let's lower down
this duration to create a more higher
speed animation. Okay. And right now, these points are moving all
over our three D space, but I want them to stick onto
the surface of our sort. And for that, let's
add an ray node, and let's ray these point back onto the original sort geometry. And so these are the ray points, and that is the
collision geometry. So let's connect this
into the normal node, let's view the result and onto the array and the method
set to project rays. Let's change this to minimum. And now rows can
see our points has been snapped back onto the
surface of our geometry. And now, if we
scrub rows can see, these points are now moving along the surface
of our geometry, and that will create this
cool lightning arc movement. Okay. And now maybe
let's play around with the parameter
of the noise a bit. So first, let's
increase the amplitude because right now I think they
are not traveling as far. Okay? I think the
amplitude value of eight is good, and in here, let's play around
with the element size to create a more
higher frequency. Noise, okay? And I think this value
should work fine for us. And now let's create
an A line node and copy this onto this
geometry and inher line, and we need to align
this onto the Z axis. And after that, let's at
a copy to points node. Let's copy this line onto these projected points
and let's result. And we do need to
randomize the orientation. And for that, let's add an attribute randomized
node in here, and I want to randomize the N, the normals, because it
is an A orientation, so let's change this
to inside sphere. And maybe let's enable the Bie option because I want them to align
onto the Y axis. So here onto the direction, let's zero out the X
and change this to one. And by enabling this bias, we can adjust the bis
here as you can see, now I'm moving these lines along the Y axis, which is good. And now maybe let's
add a random scale. So let's add attribute. Randomize, and let's
randomize the B scale value. And that is an A one dimension, and let's type the
attribute name, B scale. And I believe I'd want
the minimum value too. Let's add an a zero point. One for now, I don't want
them to be completely zero. And hers can see we have this line in all
of our duration. So let's extract
the animation range from where we want the
lightning to start. Okay. And for that, let's add delete nodes and maybe let me move
all of this geometry up. Or maybe let's move
them onto the side, and maybe need to move
this up a bit as well. Let's move this because we're going to add
a lot more nodes. Let's keep moving this
onto the up direction. Okay. So let's drag all
of these nodes down. And in here, let's add delete node to isolate
the frame range. And for that, let's
add a delete node, delete and let's at this. In here, let's change
the operation to lead by expression and the entity
should be the points. And in here, I want this to be I believe that the frame
the starting frame was 17 because if we take
a look at our agent here as Kens it is starting to cost on the frame number 17. So I want the lightning
to start from 17. And I believe the last
frame was 47, I guess. Okay, at there, I want
the lightning to end. So let's extract the
animation range. So in here, let's add an I
if our current frame number, adding dollar sign F. If
that is less than 17. Okay, so our points should
start at frame number 17. We can check, and
here as you can see at frame number 17,
we have these lines. And after that, let's
add another delete. Let's maybe press
and hold the old key and drag to just copy this node. Let's connect this at the end. And in here, let's change
our last frame duration, and I believe that frame was 47. Inhere, if our
current frame number is greater than 47,
let's add this. We want these points
to be get removed. And now we should
have at the 48, all of these lines gone. Okay? And maybe let me play
around with this attribute, randomized node a bit and maybe let's lower down
this bias value. And let's maybe
change this to 1.92. Okay. I think that bias
value is looking good. And after that, let's add
the noises into these lines. And first, we need to
add an sample node in here to add more
divisions onto our line. Set this and in here, we do need the cur
view attribute. So let's enable this. And in here, let's low down the length to create
a lot more points. And for adding the noise, maybe let's copy the noise that we have created before when we are creating the
ground lightning. So let me find that was the attribute warp that
was setting the noise. So maybe let's
duplicate this node, and let's go in here and
let's place this node. And let's connect this in here. Okay. So we have all of these parameters
working fine. Okay. And let me bring
up its parameter, and here we can
adjust the width. Let's visualize the width value by adding an polywire
node in here, polywire into the polywire
add a width attribute. Okay, right now,
that is the width. I think that width
value is too high. So maybe let's lower this value
down to an value of 0.01. Okay. I think that
width is fine. Oh, we can slightly more
increase this, okay? And that is our main lightning. And after that, let me
remove this polywre for now. And after that, let's create
the branching structure. And for the branching, let's copy all of these nodes where we were
generating the branches. And these are, I think the node structure where we
are creating the branches. So let's select
all of these node, and I'm going to press and
hold the old key and drag. And let's drag them
into this side. I think in that side, let's connect this in here
and let's view at the end. Okay? So these are our branches. And maybe let's move
all of these nodes a bit up even more. Okay. And let's play around with the settings of
these branch noises. First, let's take a
look at the attribute, randomize where we are
creating this one. And for this one, maybe we don't need to adjust the cone angle. So let's disable this option. Okay. And let's
come over here onto the scatter and let's lower down the force count to lower value because we don't need
that many branches. And let's find some other frame. And maybe let's add
emerge at the end to view both of these
our lightning. That is our main
lightning and these are our branches. Okay. And I think we
need to merge with our agent as well to
better visualize this. And that is our agent. Let's connect this at
the merge as well. Okay. Let's see. I think the length is too big. So let's take a
look at this line. Okay. And I think line
this one is fine. Let's take a look at this. Okay? This one is fine as well. Maybe let's come over here onto this P scale where we are
creating this branch P scale. These are our branches, and
that is the P scale value. And in here, we have the option to scale down the
overall these branches, so onto the global scale. Maybe let's lower the
value down to 0.42. And let's find this. Let me home this and let's
view on some other frame. And here as can see the lightning noise is not
attaching onto the surface, and that is because I think we are setting
the main noise. Let me find, okay? That is the noise. So
let's dive inside. And in here, let's adjust
these noise settings. Okay? First, let's
multiply this by our curve U so
that we don't want the noise to be applied
onto the base because we want to its base to stick
onto the surface our sword. In here, maybe let's import
our curve U attribute. So let's add bind node in here and let's import our curve. Or maybe what we can do, we can go back and let's
copy this noise where we have all of this fade as well as this curview built in in here. So maybe let's copy this node and let's connect this in here for setting
up our main noise, and let's remove this
one set noise. Okay. And let's rename this
one to our set noise. And that is, I think
the base noise. So let's type this accordingly. Base noise. And in here, we have this option for feeding. Okay. And let's dive
inside in here. And here we have the
random scale value built into it, which is good. Let's go back and let's view
the result again and see. And now it is sitting onto our this sordo because we are
adding this RAM parameter. Okay. And in here, let's add an polyvi node to check the
thickness, the width. Okay. And maybe let me remove this one
that was our agent. These are our lines. Let's connect this
in here polyvio. And I think the
thickness is too much, so maybe we need to go back
around to this attribute wp. Here we are setting
the thickness. So let's lower this
value down to 0.01. Or maybe we can
slightly increase this, and we need to adjust the thickness onto these
base lines as well. So let's dive inside. And in here, let's lower
this value down to 0.01. Okay. I think that
value is looking good. And now let's add
an A color onto the lightning and I'm going to copy the color where
we are setting this. Okay? That is the node. So let's duplicate
this one, set CD, and let me move this at the
end, connect this in here. Okay. And now we have
the color applied. And now we do not need this
polywire node in here. So let's get rid of it. And in here, let's create an null and call this one
our out SOD lighting. Okay. And now, maybe let's
select all of these nodes, and let's create an
a box around it, and let me move this. I think that position
is fine, and in here, let's call this one our
sord lightning Okay. And with that, this sord sord lightning
layer is complete.
10. Lightning Arc: Now let's create
SOD arc lightning where our agent is
slashing the sword. We want to create
the arc lightning. Let me zoom out, and
let's view our agent. And here as you can
see at the frame, I think the 47, where we have this SOD heating effect here
as you can see, where we have this
sword slashing. We want to create this
an arc of lightning that follows the path
of this sword blade. Okay. So for that, let me extract the frame. And in here where
we are blasting, that is our sword blade. Okay. And I think the slashing is starting
from the frame number 47. So maybe first, let's scatter some points in here by
adding an Scatter node. So let's connect this in here. Let me move this
inside at the side. In here, let's scatter some
points and maybe for now, let's change the 21, four. And here as you can
see these points are now regularly arranged. So maybe let's uncheck
this relax iteration. So we have this
randomness in our points. And now let's add delete node in here because I want this to start these points
at the frame number 47. So let's add a delete in here and let's change
the entity to points, and let's change this to
delete by expression. And if our crant frame number
is less than 47, Okay. And now we have the
starting frame at 47, and the ending frame
is frame number 60. Okay. So at the frame number 60, we have the sord at the ground, so we want the arc to
stop at the frame 60. So let's drag this
delete node once more and connect
this at the end. And in here, I'm going to
adjust the expression. And now if our current
frame number is greater than 60,
let's change it. So after the 60, we have
all of these points gone. Okay? That is good. And now to create the arc, let's add a trail node in here to capture the trailing
of these points. And for that, let's add a trail node at the
end and connect this. By adjusting the trail length, we can create more longer or shorter the trail length,
and here as can see. And to create these lines, the result type is said
to preserve original. Let's change this to
connect as polygons option. Okay. So now we have the
closed polygonal geometry, but we need these lines, and to extract these lines, let's add an ends node in
here after the trail node, and onto the ends, the close you set to no, let's change this to open. Okay. And now here
as you can see we have these lines extracted, and that will create the lightning slash
effect, arc lightning. Okay. So after that, let's add resample node
in here at the end to add more divisions to
smooth out these arcs. Onto sample, let's lower down the length value to add a lot more points
and let's smooth out this lightning
arc by changing on the street polygon as straight
edges to subdivisions. Now we have these
smooth out lines. Now let me hide
the point display. Now let's introduce the noise in here to create an
lightning like effect. And for adding the noise, I'm going to duplicate the noise where we
were generating. Let me find set noise. So let's copy this one, this attribute warp node, and let's move this up, and let's keep moving this up. Zoom in let's connect this in here with the result and here we have the noise and
let's play around with the noise parameter
because right now the noise is
not looking good, let's adjust this to our liking. In here, let me check
onto the resample. We do need to enable the curview we forgot to enable that. Let's enable this curview and onto the set noise,
let's dive inside. In here first, I think we don't need to add this negate
option, so let's move this. And we are adding this
offset based on time. So maybe let's not use the
time as an A Y offset, but use the primum because when we are generating
these after the ends, if we enable the
primitive number, here as you can see, we have all of these unique primitives. So let's add the primum
in here to create unique noise for all of
these different primitives. So let me connect the primum in here at the offset
of Y value, okay? And onto the NTS noise, let me low down this
amplitude value. Let's lower this down
to value of one, okay? And I think now that
starts to look good. And in here, maybe let's remove this width parameter
node because we are going to use the curviewO sorry, the random value of
these primitive to set the random width because right now we were setting the
same width for all of them. So first, let's generate the random number based
on the primitive number. So let's connect
this, and that will create the random value
for different primitives. And in here, let's add an
multiply constant node to scale this value overall
value down because the value of 01 is too
high for thickness. And in here, let's lower
down the value to 0.012. And we can export
this as an width. So let's add a
point export node, and let's type the
attribute name and connect this at the end. Okay. And now, I don't want to apply the noise
at the very start, as well as at the very end. So let's add an A RAM parameter
node in here as well. Let me move this graph down. And in here, let's import the curve attribute and use the curve U attribute to
create our RAM parameter. So let me type the
attribute name, curvee and let's add this a RAM parameter and change the RAM
type to spine RAM. The curve view to this ramp, and let's multiply these
noises with this ramp. So first, we need
to add an add node, and let's add both of these noises together.
So let's add them. So after we have these noises, let me remove these wires
because we don't need them. And let's move this
node graph in here. So after we have these
two noises combined, we can add multiply node in here and let's multiply these
two noises with this ramp, and then we can add this
one onto our noise. And heros can see nothing is
happening because we need to adjust our ramp and the
default ramp is zero. So let's go back. And onto the set noise, we have this ramp. So let's play around with the ramp value and
heroes can see. Let's move this value up and let's add another
point in here. And for the last one, let's move this down. Okay. Let me adjust this. And that way we can
create this fading ramp. And by using this ramp, we can define where we want
the noise to start applying. Okay. And after that, maybe let's add polywire to
visualize our thickness. So let's add
polywire at the end. And in her R radius, yes, let's use the width attribute. Okay. And here as
you can see we have the random width for all of
these different primitives. And now let's copy where we
are setting the CD attribute, the attribute wo set CD. So let's duplicate this
attribute wop node because that is responsible
for creating the color. And we do need the blue color. Let's connect this
after that and we have our color in here
and maybe let's go into the set CD and let's
play around with this ramp and add maybe let's at first add some of
these values back. I think the value of 0.2. Let's move this into the
side something like that. And we can view this with both of these lightning
together with this agent. So let's add merge node
in here at the end, and let me merge this as
well as this out agent. Let me pick an wire from here. Zoom out, and let's
connect this and put two Okay. Let's see. And here, as you can
see, at the frame, we have this slashing
effect, this arc lightning. Okay, that is looking good. Now, let's remove this
merge. We don't need this. And let's remove this
polyvar and at the end, let's create an null, and let's call this one our out arc lightning And in here, let's select all of these node, and let's create
a box around it. And let's call this
box our arc lightning. Okay. And with that, this lightning sd arc
lightning layer is complete.
11. Sword Slash Glow: Now let's create
the SOD slash glow. If we take a look at the
reference, here's can see, right now, we have
created lighting, this electric lightning arc. But if you look closely, here can see where
SOD is hitting, we have trail, this slash trail. So let's create this
trailing slash glow. Okay. That is
pretty cool effect. So let's create that
inside of Fudini. So let me zoom in. Here. And let me view this. Okay. So that is arc lightning. And I'm going to
create let's drag a wire from this where
we have the sword. Okay? So in here, first, we need to
extract the range. So I want the starting frame to maybe frame number,
I think the 47. So yes, that is the frame. Okay. So in here, let's add an let or
maybe we can duplicate these two delete nodes because they are set to work
with correct range, frame number 47-60, and that
is the range that we need. So let's select both of them and let's track them in here. And for the input wire, let me move this onto this side. Let's use that one and let's pick an A wire
and connect this. Maybe let's move this up a bit. Okay. So here we have
the frame 47-60, and maybe we need to minus
an A one frame from here. So let's change this to 59. Okay, at the frame number 60, I want the slash
glow to be gone. Okay. And now let's add an tracking point
from where we will start to track this
slash location. If I enable my point number
count, here as you can see, I want the slashing
to be start from this four frame number Sorry point number four because that
is the edge of the sword. Okay. So in here, let's add an blast node
and onto the blast, I'm going to change the group
two points and let's remove the four point
number four, okay. Let's click on this
lead non selected to only isolate
this point number. Okay. So now that
we have this point, now let's add an a trail node in here to create the
trailing of this point. So let's connect this. And for this one, let's change these to connect as polygons. And by adjusting
the trail length, we can define the
trailing length. I think the value of
five is looking good. And in here, we need to add the ends to extract
this as an A line. So let's add ends at the
end and onto the close, let's change this to open. And let me make this align
these node together. Okay. Let me rearrange them. So after the ends, let's add resample node to resample this slash
line to a smooth curve. So let's add at the end. And onto the resample, let's change this to treat
as an subdivision curve. Okay. So now we have
this smooth line. And after that, let's add an extrusion to add
this thickness. So for that, let's add an
poly extrude node in here. And let's add this at the end. And onto the polytrude
we can play around with this distance value to
create this trailing glow. Okay. And I want this
trailing to go down, so we need to change
this value in minus. So the value that
I used was 0.659. Okay. I think that length
is look good in our render. So let's use that value, and you can adjust this if you don't like this value. Okay. And after that, maybe let's
add an merged node in here to view this with our
original agent, this SOD. Let me pick the wire and let's add this in here
and view the result. Here as you can see
at the very start, we have this starting and then we have this
weird orientation. Okay? He as you can see, to fix this, let's not use the trailing node to
create the trailing. Okay? So let's create
this trailing effect. Sorry, this polygon connecting
effect with our own, okay? And let's not use this as polygon option to create this line because that is
generating some problems. So maybe let's change this to
as an A preserved original. So where we have
these points, Okay. So what we can do, we can
create an A ID attribute, and then we can
use an A add node. If we add an add node, we have this option to
generate the lines. If we're going to the polygons and here the option
is set to B pattern. We can change this to B group, and here we have the
add all point option. We can change this
to by attribute. And let me create an attribute to better you will understand better how this add
node will create these polygons, this
polygonal line. So first, we need a single point attribute on
all of these points, okay? And if we take a look
after the blast, where we have this single point. So maybe let's create
an ID attribute, and we can use the
enumerated node for that. Let's add this and let's add
the attribute name to be ID. And I want to add
this on my points. And if we middle mouse
button, here as you can see, we have the ID
integer attribute, and if we go into the
Geometry spreadsheet, and it should be the same as
we have the point number, and that is the zero when we are generating the trail, okay? So we have all of these
different points. If we scrub the trime
here as you can see, we have the point count
and they are changing, and we have the ID which always stay zero at
all of our points. Okay. What we can do, we can use the Ad node, and in here, we can
use the ID attribute. So where we have the
same ID attribute, we want all of these points
to be get connected. Onto the attribute name, let's type the attribute name ID. So now we should see the line. Okay. Here can see
we have this line. So now we don't need
the ends node in here. So now by using this add node, we have this very
consistent looking line. Okay. So now we shouldn't
see any problem with that. So we can use the
resample again as before and we can add the
poly extrude as before. And now we should have
this correct Okay. Now let me view this
with our merge. Okay. And here can see the
alignment is now reverse. So let's add an reverse node. At the end where we have created an polyextrude
node, let's a reverse. So now the normals are correct. And later on when we are going to create an e glow,
onto this geometry, we need an A gradient, this black and white gradien
that go from top to bottom. And for that, let's create
an A group where we have this one when we are using the resample after we have
done the extrusion operation. So I think we don't
need to merge because we know that this
slash is working fine. Okay. So after the sample, let's add an A group node in here to add this
line into our group. And I'm going to call this one that should
be the edge group, and let's call this one edge. Okay. And when we do
the polyetrusion, we should have the
edge group reserve. And if we middle mouse button, hers can see, we
have the edge group. And after the reverse, let's add an a color node, and let's add color to all of our geometry
and a black color. Let me add the color
onto the points. Let's set its color to black. Okay. And now let's use
another color node. And for this time, I'm going
to use an a white color, but only on our edge group. So let me select this. And here as you can see,
we have this gradient, and we can use this gradient at render time to
create our glow. Okay? So at the end, let's create an a null in here. And I'm going to call this one our out sord slash or
maybe just out slash. And now let's let all of these
node add on to the layout, let's align these
nodes vertically. Let's create a box around them. And I'm going to call
this one our sored slash. Okay. And with that, our this sword slash glow
layer has been finished.
12. 12 Rocks Lightning: Now let's create lightning arcs and bols inside of our rocks. When the rocks are growing, I want to have some lightning
bolts in the rocks. So let me find here I
have the rock geometry, and let's go in few frames. Okay? So I want some lightning bolds inside
of these rocks. Okay, so for that, let's create an
proxy geometry for these rocks because right now these rocks have very
high point count. And to make it lightweight, let's create an proxy
geometry of these rocks. And for that, I'm going to first create
the proxy where we have this one single piece of rock geometry that is our
high resolution rock. So after that, let's add an convex hull node to
create the convex hull. Let's add this, and
this node will generate a very lightweight proxy
geometry for us by adding the shrink wrap effect,
and here as you can see. We have a very
lightweight geometry, and if I enable the
smooth wire shaded, and here as you can see, we have very few points and polygons. Okay? And after that, let's duplicate all of the setup where we are creating
this rock growing effect. Okay? So let's select all of these nodes and press and
hold the old key to drag. Okay. And for this one, where we are connecting our high resolution,
copy two points, let's connect this onto
the convex hull and this one into the convex
hull for both of the sides. And now, if I view the
result of the transform, and here we have all of these animation back but
onto our proxy geometry. Okay. And that is good. And let me select
all of these node and bring them onto this side. And after that, maybe let's
create an A null at the end, and let's call this one proxies, and we might need the
proxy geometry later. So let's rename
these two proxies. And to scatter the points onto the surface
of our geometry, because we are going to connect these points for creating
the lightning arc. We need to unpack this
geometry because in here, if you remember, onto
the capidu points, we are packing our geometry. So first, we need
to unpack this. I I middle mouse button, heros can see that
is an ApackGeometry. So let's add pack node in here and let's connect
this after that. And if I middle mouse button, Hers can see we
currently do not have normals because we are going
to use an a scatter node. Let me add an a scatter and connect this
after the unpack. And onto the scatter, Hers
can see we do not have N, which means we can't
apply the noise if I type the mountain node and let me connect this
onto the scatter, and here can see if I
adjust the amplitude, I cannot apply the noise
because we need the normals. So first, let me go back where we are creating
the convex hull. So after the convex hull, maybe let's add a normal node to add the normals
onto our geometry. So let me connect this in here. And onto the normals, let's
add the normals to points. And let's connect both of these copy to points
onto this normal node. And let me move this down. Okay. And now, heres can see our noise has been applied
because we have the normals, and now I can easily apply the attribute noise to
apply the noise. Okay? So in here, maybe let's
play around with the noise. Let's increase the
element size in here. Let's maybe lower
down the element size to an value of 1.31 maybe, okay. And to animate this, we are going to animate this
amplitude parameter, okay? And then we can ray these
point backs onto our rocks. So let's add ray node in here, and these are the points. And let's ray them back
after the unpacked node. Onto the array, let's change
the method to minimum. Okay. And now we are snapping all of these points
back onto the surface. And by adjusting the amplitude, we can make these
points move along the surface of these rocks
geometry, which is good. And we might need to adjust
some parameters onto the scatter as well
because let me show you if I go into the
previous frames where we do not have the rock geometry,
let me view the result. Hers can see where we
do not have rocks, we will start to grow rocks
from the frame number 60. Before that, we do not have this rock and onto
the scatter node. When we do not have
rock geometry, we will get some these linear arrangement
of these points. If I bring up the parameter of the scatter node because hers can see where we have
set the force count. The force count is
making these points, we need to uncheck
this option and let's enable the density scale
to scatter the points. So by using the tensity,
we can scatter points. When we do not have geometry, we do not have density, and hence, no point
has been scattered. And when we do have geometry, we should start to see
some points, okay. So in here, maybe
let's lower down the density scale because we do not want that many points. So maybe let's lower
this value down to 0.1. And I think these points are
fine because these points will create our
lightning poles, okay? And maybe let's uncheck
the relax iteration to create the random
distribution of these points. And now we can play around with the mountain node to at the
movement in our points. So let's start animating this let me bring up the
parameter of the mountain. Let's start animating this amplitude parameter
to create the movement. And for that, I'm going
to use the key frames. So first, let's go into maybe when we are starting
to grow our particles. I think they are start to grow
after the frame number 61. So in here, let's lower down the amplitude value and in
here maybe lower this value down to an a value of 0.92 and present hold the
old key to add an a key, and let's go few frame. And I think I want to
add another key onto the frame number 96
because in here, we have all of these
rocks drawn up. So now let's increase
the amplitude value. And here as you can see, we
start to see some movement. And onto the 96, let's keep the
amplitude to maybe 6.6, and let's press and hold the old key and
click to add a key. Okay, let's view the result. And here we have the
particles movement. Let's view this
with our ray node. Okay. And we have this
movement which is good. And to actually connect
these points together, we can create an node called
connect adjacent pieces. So let's add connect adjacent pieces node,
and let's connect this. And let's bring
up the parameter. And right now it's a two
adjacent pieces from points. Let's train these
two adjacent points. Okay. And in here, let's play around with
this search radius. And as I increase the
radius, here as you can see, we are starting to make the connection between
these points, okay? And in here max search point, let's lower down this
point value because we do not want to create more of these poly lines
on top of each other. So I think the max search point, let me change this value
to a value of four. And here we have a
one single point here as you can see
that is not connected. So let's increase
the search radius where we will start to
see the connection, and I think the value
of 1.81 is good. Okay. And we have all
of these connections. And now after that, we can add resample node to add more divisions because
right now we do not have enough subdivisions
onto our curves. So let's add resample node. And in here, we do need
the curve view attribute. So let's enable this and to create the noise
and the branches, let me go back where
we are creating the ground lightning and here we have the
ground lightning. I'm going to copy all of these
nodes where we are setting the base noise and we have this second to
create the branches, and we are setting the
CD attribute as well. So let's select all of these
nodes and press and hold the old key and trag to
duplicate this node graph, and let's track them at the end. Okay. And maybe let me move the node graph up and
connect this in here. And now we should see all
of the noise applied, okay? And in here at the merge, we have all of these
branching structure, and we have the color applied. Okay. And now let's add
an polyvi node in here. To visualize the
width attribute. So because I want to adjust
the width right now, I think the width
value will be high. So let me see.
Onto the i radius, let's use our width attribute. Okay. And here as you can see, we have this a very
thick width value. So maybe let's play
around with the width, and the color is not showing maybe let's connect
this in here. And after that,
let's use the CD. I still can't see color. Why is that? Let's disable this. I think there is
some put problems, but we have an color in here. Let's go into the set noise. These are our base lines. Let's dive inside in here and let's play around
with these parameter. First, let's remove
this negate because we are using the we have
different primitives. Maybe let's connect the
primnum in here to create the random offset for all of
these different primitives. I'm going to connect the
primnum as an AI offset, that is the primum.
Connect this in here. Okay. And I think these default noise values are good that we have
set them before. And in here, we can play
around with the width. So let's go into the parameter, and in here, let's lower
down the width value. First, let me view the
result of the polyvar. Let's lower this value down
to maybe value of 0.06. Okay. I think that
width is looking fine. And maybe let's go into this attribute warp
and here we can adjust the parameter for the length of the
thickness, okay? And we can adjust these values later when we are
going to render them. Okay? For now, I
think these are fine. And after the 91 hers can see we have lightning
always present. Okay? And let's remove
these lightning. And let's randomly remove all
of these lightning bolds. And for that, let's
add an ant lete node. And I want to add the
delete when we are raging these points and
using the connect adjacent. After that, let's add an A, delete node in here
and connect this. And for this one,
I'm going to enable the random option to
randomly delete the points, and onto the entity, let's change these two points, and let's enable the randomness. And in here, let's animate this percent parameter to
randomly remove these points. Okay. And I want to start removing these points
from frame number 85. So let's go into the
frame number 85. And in here, let's add a
key from zero percentages. Let's go all the way
onto our last frame. Let's change this to 100
and let's add another key. And now let's go back and at the set CD. Let's
view the result. Here we have these
lightning bolts and slowly we are
removing the lightning. Okay. And here we have all of
these lightning bolts gone. Okay. Let me remove
this polyvi node, and after the set CD, let me adjust its position
and create an null in here. And let's call this one our out crown sorry,
out rock lightning. Okay. And now let's select
all of these nodes. And after the proxies, let me select all
of these nodes, and let's create
a box around it. And let's call this one
our rocks Lightning. And maybe let's select all
of these nodes as well. And let's create
another box around it, and I'm going to call
this one our proxies. Okay. And with that, this rock lightning
layer has been finished.
13. Particles Simulation: Now let's create particles. We are going to
emit particles from where our rocks
will start to grow. Let me find the geometry, and here we have
the proxy geometry. So let's use this geometry to emit the particles and
here as you can see. And I want to emit particles where we have these rocks
will start to grow. And let's isolate
this leading group where we have this
growing animation. So let's select few of this section of our geometry
for the particle animation. Okay. And for that, let me go onto this side. In here, let's bring this
proxies null and for that, let's add an object
merge node in here. The reason I'm using the object merge node because if we drag an A wire from here by adding
this wire onto this side, here as you can see,
we are creating this a messy wire network graph. To avoid the messy wires, I'm using the object merge node for bringing this null in here. And let's bring up the
parameter of the object merge onto the object merge. Here we have the
option for the object. Let's drag this
proxies null in here. Okay. So now if we go in here and let's
view the result of this object merge and
here's can see we have an exact same proxies
geometry, okay? So now let's extract
this leading group. And for that, I'm going to create a group based on
our bounding geometry. So first, let's add
group node in here. Let's group this. And in here, we have the option to add
an a bounding object. So if we enable this
and heros can see right now the bounding type
is at two bounding box, we can change these
two bonding objects. Okay. And for this one, we need to be having
on our point group. So let's change these
two points, okay? And this node is still throwing
an error because we need this bonding object
onto this second input. And so for that, let's
create an bounding geometry. And I'm going to
use these points if we come over here where we are creating
this ground blast. Here as you can see, we have this point is that is
our animation, okay? And to create bonding object, I'm going to add sphere in here. So let's add primitive sphere. Okay. And to make this sphere
move with this particle, let's add copy to point
node. So let's add this. And that is our geometry. Let me move this down, and let's move this
onto this side. And for the point, I'm going to use
this second delete. Okay. And now, if we view the result
of the copy to point, Hears can see we have
this sphere moving, and now we can use
this sphere as our bounding object for
extracting the leading group. So let's connect this in here
and let's view the result. Okay. And here as you can see
all of the errors are gone. And now we are selecting
some of the particles. So let's go into the sphere, and maybe let's
increase the radius. So let's keep
increasing this radius. Let's change this 22p2. And inhere to
isolate this group. First, maybe let me
arrange this node graph. Let's make this in here. And in here, let's
add a Blast node, and onto the blast, let's isolate these
points onto the blast. Let's select the group, and that is the group two. And in here, let's enable
the let non selected to invert our selection,
and heres can see, we have this geometry
extracted and we can use this geometry to
create our particle emission. Okay. And for that, let's add an unpack
node to unpack our geometry because right
now our geometry is packed. Okay? So now we have the unpack. And while we are here, let's add an CD attribute, and we will use this
geometry later to add an emissive material to
create an emission glow, and that will create a
very interesting layer of effect of this
whole effect, okay? And for that, let me duplicate this CD attribute wop
so let's select this, press and hold the old key
to duplicate this node. And I'm going to add this onto this side,
add this in here. Okay, so we are
creating this CD, and we will use this CD to create an emission
to add a glow. So after that, let's
create an null at the end, and maybe let's call this
one our out emission glow. And let's select
both of these nodes. Let me move them into the side, and let's create
a box around it. And onto this box, maybe let's name this
our emission glow. Okay. Now let's come over
here onto this unpacked node. And in here, let's add
an point velocity to add velocity attribute because we are going to use
the particle network. So let's add a point
velocity node in here. So maybe first, let's add an Pop network for
creating the particles. So let's connect this.
Okay. Hers can see we have some particles
and they will start to emit frame number 60. And Hers can see right now
they are not moving currently, we do not have any velocity, so let's add an
point velocity node in here and let's add this. And onto the point velocity, the initialization is set to
compute from deformation. Let's change this
to from attribute, and let's use the normal, and let's go into the point velocity and
middle mouse button. And here as you can see,
we have the normal, and now we do have the velocity, and we can visualize
the velocity. Let's click if you hover over to that node and click
on this eye button. And that way we have
this inspection window. Let's click on this and
here as you can see, we have this velocity vector
visualized in yellow. Let's bring up the perimeter
of the point velocity, and let's go into this noise and maybe let's add
curl noise in here. Okay. And it's also animated, which is good to hide
the visualization, hover over to that node, click on this I button, and let's click on this
to hide the visualizer. Okay. Now let's go into the pop net and let's
view the result again. And while we are here, let's go into the pop net and let's adjust
the starting frame because we know
that our animation will start from the
frame number 60. So let's go into the simulation
and onto the start frame. Let's change the
start frame to 60. Okay. And here is can see
now at the frame number 60, we will start to simulate, and maybe let me adjust this
playbar to frame number 60. Okay. So whenever we
go back at the start, we will start at the
frame number 60, and that way we can visualize
these particles, okay? And we will change our overall
animation to one again. But because we are
now working with the simulation and the
animation will start from 60, that is why I have made the focus of our animation to start from frame
number 60, okay? And now our particle
will start to moving. And right now they
are not falling. Let's add an gravity to
create an a gravity force. So let's drive
inside the pop net. And let me move
this pop source up, because we're going to add
a lot more nodes in here. So first, let's add
an APAP force node, and that PP force is responsible for
creating the gravity. So onto the PAP force, let's add an gravity value onto the force stab onto the Y. Let's add an gravity
value of -9.81. That is a physically
accurate gravity value. So let's rewind and play, and here as can see we have the gravity and our
particles are falling down. And let's add a ground
plane in here for collision because right now they are falling down indefinitely. So let's add a ground
plane in here. And let's add and I merge, and let's merge this with
our simulation network. Let's click on this
onto the merge. Here we have the left
input affect right input, and we have the
collide relationship. So maybe let's rearrange this node by clicking on this ground plan
up arrow button, and that way we can
organize this node. Okay, so that is the left input, and that will affect
the right input. And now, if we play and
here as you can see, we have the collision. And if you look closely, here as you can see
our particles are bouncing and they
are bouncing a lot. And I don't want these
particles to bounce. So let's go into the
pop object node, and onto the
physical properties, we have the parameter
of the bound. So let's lower this
bounce value down to a value of 0.01 maybe, and let's play again. Okay. So now our particles
are not bouncing. They are sticking onto the surface on our
ground, which is good. And now let's emit
more particles. Let's go into the Pop force, and let's go into the Perth tab. And in here, we have the
constant activation enable, so let's zero this out. And I want to enable
the impulse activation, impulse activation set to one, which means that it is active, but the impulse count
is set to zero. So let's let's enable
the impulse count, and let's emit 1,000 particles. So the impulse count
means that we are going to emit that many
particles every frame, Okay, because we want to
create a lot more particles. So let's use the impulse
method and let's play. Okay. And we should start
to see more particles. Maybe let's add another zero in here to create
more particles. And here as you can see, we have a lot more particles added. And maybe let's
add wind in here. So let's add an A pop, wind node, and
let's connect this. And in here, I'm going
to play around with this amplitude value to
create an wind force. Okay? That will create this noisy wind force in our particle
simulation. So let's play. Okay. And Harris can see our particles are
moving with the wind. And right now, Harris can see they are always wind is always
affecting these particles, and these particles are
moving all over our ground. And to fix this, let's go into the
pop solver node, and let's go into the
collision behavior. And we have the option
to set the response. The response is set to unchange. So let's change this to stop. So I want these particles to stop whenever
they hit the ground. So let's hit rewind
and hit play, and Hearers can see. Now, whenever they hit the
collision object, the ground, they will stop, so they will stop moving,
and that is good. And that's exactly what we want. We don't want the
pop wind to affect when they have settled
down onto the ground. So maybe let's go into
the pop wind node, and let's play around
with the amplitude. Let's lower down
the amplitude value to 1.5 because we don't want to break this emission
shape too much, okay? I think the value of
1.5 is looking good. And now, these particles
are not moving far, so maybe let's go
into the pop source node and onto the attribute where we are inheriting
the velocity. This inherited velocity
is an A multiplier. So if we change this to zero, and by zeroing this out, we will not importing
any velocity from our soaps and hers can see. So let's scale the velocity vectors
inherited velocity vectors. So maybe let's scale this up to value of five and let's play. Okay. And whenever we are
working with more particles, it's best to visualize
these particles as pixels, and we can change this if we come over here onto
the display material, right click on it, and here
we have these options. So onto the particles option, right now, we are
visualizing them as points. So let's visualize them as
pixels, and hers can see. So whenever I'm working
with more particles, I always change the
visualization to pixels, and that way we can visualize
all of these particles. And I think we have these
nice breakups going on. Okay. And now let's go
into the Perth tab again, and in here, we have the option to create
an A just bond group. Okay? So let's add an A
group that we will use this group to later emit
the debris that will create an A group where we
have the particles just bond. So in here, let's
add an a group name. I'm going to name this group to spawn because these are the
newly spawned particles. And we can visualize
this group if we go into the let's go
into the soap level, and in here, as you can
see onto the pop net, we are importing our ground
plane as well into our soap. So let's go into the object
merge of the pop net node, and here as you can
see onto the object, we are importing all of
our object let's isolate our pop object if we dive
inside of the pop net, and here we have the pop object. So that is the container that
is holding the particles. So let's import only
this pop object node and not the ground
plan. So let's go back. And in here, let's
type the pop star, which means everything that
start with the name of pop, we want these to be imported. Okay? So now we are only
importing these particles. And in here if we
middle mouse button, hers can see, we have
a lot more attributes. So maybe let's get rid of
all of these attributes, and we also have some groups. Hers can see, we
have a group too, and we have the
spawn group. Okay. So first, let's add an
attribute let node to remove all of these unwanted
attribute to the attribute. Let's click on this let non selected to remove all
of the attributes. And if we middle mouse button, now we do not have
any attribute, but we only have one
point attribute that is the position and onto
the point attribute, let's type the V because we want to preserve
the velocity, and we will use the velocity to create the motion
blur at render time. So if I middle mouse button, and here we have
the V attribute, and we have the spawn group, and we have this group
two and the stream input. So maybe in here, let's add a group, delete node to move the
unwanted groups as well. So let's click on this
and onto the group, I'm going to click on this option and let's
remove the group two, as well as the stream group. And now we should
only see one group, and that is an spawn group. Okay. And after that, let's add an blast node in here to let's isolate
the spawn particles. Let's click on this
onto the Blast. Let me pick my spawn, click on non selected to
invert the selection. And if we go back
and here is can see, these are our newly
just bond particles that we have called the spawn. Okay. And we will use these particles later
to emit the debris. Okay. So we will need
this spawn group. Okay. So let's remove this plus, and that was just for
the visualization, what is the spawn groups are. Okay? So after that, let's add an file cache node in here and let's click
on this and in here, let's rename onto
the base folder. You can select the location. And right now I am
storing this in my current safe project
folder that we have created onto my hip folder
and Geometry folder, and onto the base name, we have the dollar sign
OS and the hip name. So let me remove this
hip name expression. I only want to store
the dollar sign OS, the operator stream
operator name. So in here, let's call
this one particles. Okay. And if we
middle mouse button onto the base name
and here is can see this name has been
evaluated in here. So that is our
particle simulation. And this time, we
want to create an A. We want to store the simulation, and onto the start frame. Let's right click and
delete this channel value. And let's click on the
start frame 60 because that is the frame where
the simulation will start. Okay, so let's
change this to 60. And after we have cashed
out our particles, let's create an attribute, Wop node in here at the
end to set the scaling, o to create an P
scale attribute, and in here, I'm going to
rename this to set scale. And let's dive inside. And in here, I want to create an a parameter, and that way, we can adjust the parameter
to set the B scale value, and we need the P scale
value for rendering. Okay. So let's go
inside the set scale, and I'm going to add
an a parameter node in here and onto the name, let's name this to an AP scale. And let's export this as
an attribute as well. So let's on to the
export, the never. Let's change these to
always. Let's go back. And in here, we can use this slider to set
our P scale, okay? And for the starting point, I'm going to use an AP
scale value of 0.01. And if we middle mouse button, here is can see we have
an AP scale attribute, at the end, let's
create an A null, and we are going to call
this one out particles null before writing
out our simulation, let's dive inside
the pop net in here. Let's increase the
particles count. For that, let's go
into the pop source and onto the impulse count, let's emit the
100,000 particles, let's add another zero
in here, 100,000, and I believe that
many particles will create enough
particles for rendering. So let's change this
value and after that, I can go into the
file cache node and let's save out our simulation. And with that, our particle
layer has been finished.
14. Ground Dust Simulation: Now let's create the
ground dust simulation. And here I have written
out my particles. Okay. And here you can see the particle
animation is different because when I was writing the particles and I find that the noise
value was not correct. So what I did, I go into
the point velocity node. In here, I change the
sole size to four and the sole size of four created a good looking
particle simulation. So make sure to adjust the setting onto our
point velacti node. Okay. And with that, this particle layer is finished. Now let me select
all of these nodes, and let's create
an box around it, and let's rename this
box to our particles. And now let's come over
here onto this side. Maybe let me move this emission glow network
box onto this side as well. And in here, we have when we have written out
these particles, let's extract the spawn group. Let's add a blast node in here, and I want to isolate
this spawn group. Let me make this onto this side, maybe in here and
onto the blast, let's select this
spawn particle group, and let's click on this nine selected to isolate
this spawn group. Okay? Let's use these particles
to emit our ground dust. Okay. So now that we have
isolated our particles, let's create an pyro source
node in here, pyro source. And let's connect
this after the blast. And in here, we have the mode that is said to keep
input, which is correct. Onto the attribute, let's
add an a density attribute. And now we should see
the density attribute, and here we have it. Let's create an A
volume attribute to convert these particles
into VTB volume. Let's add a volume
rasterize node in here, and onto this one, let's select our
density attribute, and let's enable
the normalized by clamp caverage option enable, and after that, let's add an Pyro sol node at the end
for creating the simulation. Let's add this. And let
me view the result. And onto the Pyro solver, let's come over here
onto the start frame. Let's change this to
our start frame to 60. Okay, because that is
our starting frame. So let's hit twine and hit play. Okay. That is our
starting frame. First, let's come over
here onto the auxel size. Let's copy this parameter. And I want to link this with this volume size
attribute axel size. So onto this one, let's click on this pase
relative reference. Now these two nodes, these two both nodes
should be linked with this auxel
size, which is good. So let's go into the fields
tab where we are importing. We are importing
from the sourcing, so let's go into
the sourcing tab, and we are importing the trent and we also
importing the temperature, right now, currently, we do not have any temperature volume. So let's use our density
volume as an A temperature. So onto this horse volume, let's click on this density. Okay. And now we should have an A temperature
into our simulation. Let's rewind and play, and here as can see
the temperature is causing the smoke to rise up, and right now our temperature
value is too high. So the operation is set to pull. Let's change this to add. And in here, let's add very low value of our
temperature into our simulation. And for starting point, let's add this value of 0.1. Citr wine and play again. Okay. And here as you can see the value of 0.1
is still too high. Our smoke is rising too fast. And let's go into the shape tab. Here we have the buoyancy. So the buoyancy
force is responsible for lifting our smoke up where we have the
high temperature. Okay? Onto the Bon C, let's lower down
the buon C value to a very low value
of maybe 0.1 as well, because we don't want this
temperature to rise too much. Okay. And here as can see we are creating a very slow
rising of the smoke. So let's enable
the Bon C option. And in here, we
have the new option that is called the density
influence gravity. So let's enable this option. Okay. In here, we can
define the density range. Right now we are using the
value of zero and one range. Let's hit rewind and hit play, and our smoke look
exactly the same. Maybe let's lower down
this density range value. Let's lower this down
to value of 0.5. Here as you can see now our
smoke is rising a bit slowly. First, let's go into the
field stab and in here, let's adjust the
value of dissipation. Let's increase the
dissipation value to maybe a value of 0.2. Let's hit Trewine and hit play. Okay. So right now, that's how simulation
looks like. So first, let's go
into the shape tab, and maybe let's add some noises. So I want to add the
disturbance into my simulation. So let's enable this
and let me scroll this down and let's view
the result with the default value
of tris turbines. So 0.5 value is too low, so maybe let's
increase this value to 15 and let's play. Okay. And here as you can
see, we start to see some small scale breakups or
this high frequency noise, these small breakups
in our smoke, and this effect
will be going to be exaggerated when we are going to lower down
our boxel size. So onto the base block, let's low down this value 20.1 to create a very high
frequency noise. Maybe let's go into the turbulence tab and
let's enable this. In here, let's view the result
with the default value, and let's increase
the turbulence value to a value of five, and let's view the result. Okay. And here as can see we have an epic scale noise
in our simulation. And let's go into our
setup tab and in here, let's lower down the axel size to view the result with
our high resolution. So maybe let's lower
this value down to 0.05 value of 0.05,
and let's see. Okay. And here as can see by
lowering the axel size down, we can start to see some detail into our smoke simulation. So right now we are using
the uniform density value, and that is why we are emitting a lot more smoke as well
as lot more temperature, and that is not creating an
interesting dust simulation. So first, let's break this
density uniform density value. So after the pyrosurce
we are creating the density value, okay,
density attribute. So after that, let's
add an attribute, noise node in here to break
up this density attribute. In here, the attribute name
and it is an a vector, but the tensity is an
a float attribute, fine middle mouse button, here is can see density
is a float attribute. Let's go into the
attribute noise and let's change this to an
a float in here, let's pick up our density
and let me remove this CD. In here, we are using an
a range value of costv. Maybe let's change the
20 centered in here, let's play around with
the amplitude value. Okay. And let me increase
an A amplitude value to four and noise pattern that
is simplex which is good. Maybe let's increase
the element size, and let's animate
our noise as well. Let's enable the
animation, okay. Now let's hit twine and let's view the result
of our pyro solver, and let's view result again. And we have some breakups and we have some
interesting shapes. But my smoke is still
rising too high, so let's go into
the pyro solver, and let's go into the
shape tab where we have the point C. And
onto the point C, we have enabled the
density influence gravity. Let's increase the gravity
scale to push our smoke down. So onto the gravity scale, I'm going to increase the gravity scale
to a higher value. I have a value of three,
let's with result again. And here as you can see with an A gravity scale
value of three, we have still higher
rising smoke. And so maybe let's
go into the pros pyrosurce where we are creating
an A density attribute. Here we have the option
for the particle scale. So let's lower down the
particle scale value to a lower value because by
lowering the particle scale, we are creating the
less density value, and we should have an A less
smoke in our simulation. So onto the particle scale, let's lower this value
down to a value of one. First, I need to come over onto the frame
number first frame. So let's go into
the particle scale. Let's lower this down, and here as can see we have very low. We have a lower particle
scale and that will create a very tight volume
rasterization of our particles. Okay. And let's rewind
and hit play again. Okay. And here as you can see by lowering the
particle scale, we have huge impact
on our simulation. We are creating the less smoke. We are emitting less
smoke in our simulation. Okay. And I think that particle scale value
of one is looking good. And right now our smoke is going below zero below
our ground plane. So to fix this, let's go
into the pyro solar node, and let's come over here
onto the collision tab. And here we have
the ground planes. So let's enable this option
onto the Y ground plane, let's change this
to close below. So below zero, we are
creating an a ground plane. So below zero this container
will act as an A collider. So we are essentially creating an a ground plane for the
collision of our smoke. So let's play again. Okay. And here as you can see, we are not going inside
of our ground below zero. Okay. And I think that the smoke value is
looking good, okay? So let's come over
onto the setup tab, and in here, let's lower
down the axel size. And for the final render, I'm going to use an
Avaxel value of 0.03, and that will create enough
resolution for the smoke. Okay. I think that
value is good. And let's go into the output tab and let's
uncheck all of these attribute, all of these volumes because we are not going to use them, so let's uncheck all of them. And let's enable this to convert to VDB
because right now, if I middle mouse button, there should be we are creating
these Houdini volumes, and let's convert them into our VDB fi middle mouse button. Okay. And here as you can see, we have an A native volume, and that is an Houdini volume. So let's convert this to VDB, and let's enable
the 16 bit float, and that will create a very
lower size of our file cache. So if I middle
mouse button again, and now Hers can see we are
creating an A one VDB volume, which is very efficient. So if I middle mouse button, Hears can see we have all of these point attribute
that we don't need. So after that, let's
add an A attribute. Delete node in here and in here, let's click on this delete non selected to remove all
of these attribute, fi middle mouse button, and herres can see by deleting
all of these attributes, we are also removing
the name attribute. But the VDB name attribute, the VDB name attribute is
essential for rendering. So onto the primitive attribute, let's type the attribute name because we want to preserve
the name attribute. And if I middle mouse
button here as you can see, we have an A one VDB volume
and its name is tens t, and this name attribute is
essential for entering. Okay, so let's preserve this. After that, let's add an
file cache node in here, and onto this one, I'm going to call this
one our ground dust. Okay. And in here
onto the start frame, let's right click and
delete this channel, and let's use an a
frame number of 60 as our starting frame
and onto the base name. I'm going to remove the tool
sine hip name expression, but I'm going to only use
the tool sine OS. Okay. And after that, let's
create an null. And in here, we're going to call this one our out ground Tust. Okay. And let me select
all of these nodes, and let's come over
here onto the layout, and let's align these
nodes vertically, and maybe let's create
an epoch around it, and let's rename this. Accordingly, that is
our ground trust, okay. And in here, come over
onto the file cache, press save option to
write out your caches. And with that, this ground
dust layer has been finished.
15. Debris Simulation: Okay, so here I have written
out my dust simulation. Okay. And I think this dust
simulation is looking good. And now let's create
debris simulation. We have an rock growing and
we have some particles, and we have this ground trust. And we also want to emit the debris and for creating
the debris, simulation, I'm going to create an
A. I'm going to use these span particles
where we are adding the plast and we are isolating
these spawn particles. So let's use these
particles as an A, our source of our
tibris emission. Okay. So first, let's add an A maybe delete node in
here because right now, if I middle mouse
button here as can see, we have a lot more points, and we do not want that
many particles of debris. And for that, let's add
delete node in here to reduce the number of
points in our simulation, and let's connect
this here and let me arrange this
node graph in here. Okay. And in here, we can go into the random and let's change the
entity to points, and let's enable this
random deletion. Okay. And onto the percentage, let's increase the percentages. Okay. Let's maybe delete
99% of our particles, and if I middle mouse button, we have 1,000 particles. And I think they are
still large particles. So what we can do, we can
create another layer of delete. So I'm going to duplicate this node and let's
connect this after that. Okay. So we are adding the 99% of random deletion
another one more time. So if I middle mouse button. So now we only have 14 points. And we can increase
the number of points by decreasing
the percentages, but I think the number of fourteens will work fine for us. Okay. And in here, we also have a node called
point cloud reduce. Let's add a point cloud,
reduced node in here. So if I connect this
in here and let's view the result and here as you can see the point cloud reduce, we can adjust the axel size to reduce the number
of points. Okay? And you can use this
node to remove out. You can reduce your
number of points as well. But I am using the random deletion method to delete the number
of particles. Okay. And if I
middle mouse button, here we have the group, the spawn group,
and we also have the position and velocity
attribute, which is fine. After that, let's add an a
group delete node in here and let's get rid of
this spawn group because we don't
need this group. So the group name, let's type the asterik to
remove all of the groups. Okay. So now we do not have
any groups, which is good. And now let's create a debris geometry that we will going to be coping
onto these points, okay? So in here, I'm going to
create an A debris geometry, and for that, I'm going to use an sphere node polygonal sphere. Let's add this and let me with
the result of this sphere. And let's zoom in in our sphere. And in here, let's change the
primitive type to polygons and let's increase the frequency to three to add and
allot more divisions, and maybe let's increase the uniform scale of
our sphere geometry. Okay. And let's break up
this spherical shape by adding a mountain node in here to add the
introduce the noise. So let's connect this and let me make this primeter
window bigger. Let's view the result of the
mountain node, and in here, maybe let's increase an amplitude value
just slightly Okay. And in here to avoid
this pointer look, let's increase the
element size to create a high
frequency noise. Okay. Let's continue increasing this. Maybe let's increase this
value to an A value of 3.5. So let me increase this 3.53, and onto the noise, we are using the simplex noise. Let's use an A noise of world cellular F two minus F
one. So let's at this. Okay. Let's go into the fractal. We are using the hybrid
train and 0.4 roughness. I think that value is
looking good. Okay. So the range is zero centered, and that value is good as well. So after that, let's convert this geometry into volume for scattering the
points inside. So let's add an IO offset node in here and I'm going to
connect this in here. And let's bring
up the parameter, and let's change
the sampling to 50. And after that, let's add an scatter node to scatter
the points into our volumes. So in here, I'm going to scatter the let's lower down the
scatter force count. And after that, let's add eve fracture node to fracture
this spherical geometry. Okay? So that is the geometry, and it needs the one points, and these are the
points. Let's be result. And as you can see, our
geometry has been fractured. And we can view this if we add an exploded view node in
here and let's connect this. And here you can see how
geometry has been fractured. And now let's introduce some
inside interior detail, because right now at the inside, we do not have any noise. So let's add an RBD
interior detail node, and let's connect after
the V fracture node. In here, let's suggest
some parameter of the RBD interior
detail node to add the noise onto the inside
of our fractured pieces. So onto the noise amplitude, maybe let's increase
the amplitude value. Okay. And here as you can see by increasing
the amplitude, we are adding the more
amplitude into our noise. Okay. And I think because these are these will be going to
be very small debris, we don't want that many
resolution on the inside, and I think that value
should work fine for us. Okay. So now let's remove
this exploded view. And let's use these points
where we have them. Let me find. Okay. So there we
have these points. So now let's randomly copy these fractured pieces
geometry onto these points. Okay. And for that, we need to add an a copy
to points node in here. So let's add a copy to points. So that is our geometry. Let me connect this, and
these are our target points. Okay. Let's go into
the copy to points, and let's enable the pack and
instance because we want to pack our geometry. Let's result. And hers can see
currently we are copying this whole geometry. So let's not copy
the whole geometry, but the individual pieces. And for that, we need to
transfer the name attribute. I I middle mouse button
here as you can see, we have the name attribute, and it has some unique
name attributes. And let's transfer
this name attribute onto these points, okay? And for that, I'm going to use an attribute from pieces node. So let's add an
attribute from pieces, and this node will transfer
the name attribute from the fractured pieces
onto these points, okay? So that is our point cloud, and that is our
Geometry library. And now let's use this into our copy to points node, okay? So onto the copy to points, we need to enable
the piece attribute. So let's enable this. And now, hers can
see we are randomly copying these pieces
geometry onto these points. Okay. And to fix their position, we might need to zero
out these pieces, okay, because right now, their position has
been offsetted, okay? Let's make all of these
individual pieces to sit on at the origin. And for that, let's loop
through all of these pieces. And for that, let's add an for
each named primitive node. Okay. And that will run through all of these
primitives one by one. So if I go into the furach node, and if enable the single
pass, here as can see, we are looping through
all of these pieces one by one and we are
merging the result back. Let me uncheck the single pass. So inside in here, let's add an A match size node. Match size and the default
value is set to the center, justify X, Y, and Z is
set to center. Okay. And here as you
can see now all of our fractured pieces are now
sitting at the origin, okay? So let's use this one to create
the copying our geometry. So for the geometry library, let's connect this
because that is our geometry library, okay? And we need to connect this. Let me rearrange my node graph. Okay. So that is our geometry library.
Let me connect this. And with result again,
copy to points. And now we should have
an a correct position, the correct copying of
these debris particles. Okay. After that, maybe let's add an a random scale in here. So let's add an attribute
randomize onto our points. So these are our points. In here, I want to create an a random B scale
attribute scale, and that is an A one value. Let's change the
dimension to one. Let's low down the minimum value to an a 0.3 because I don't want the values to be completely zero and onto the max value, let's change the max
value to value of 0.8. I'm creating the random scale between value of 0.3 and 0.8. I think the scale value
is still too large, so what we can do, we can lower down the overall
global scale value. So let's load this down to
value of 0.2 because we want to create a very
small these debris. Let's add the 0.2 value
in here and let me see why we are getting this
weird black color in here. So let me view the result in here where we have the pieces. So let me come over here onto the forage node and let
me frame home this all. Okay. So here we
have the geometry, and these are our points, and we are transferring the name attribute
onto our points, and we are creating
the random P scale, and we are copying this back. Let me find the frame. Maybe let's refresh
this viewpoard by going on to the
animation editor, and let's come on to our
scene view again, okay. And it's still not doing. Okay, let's uncheck back instance and click
this again, okay. And here we have an
view board refresh, and this debris is
looking fine now, okay? So after the copy
two points node, let's add an A RBD
configured node to configure this into RBD objects because we are going to use the RBD simulation. So let's connect this. So on to the RBD configure,
let's view the result. And now we should have
our packed geometry, and this RBD configured
node will set the attributes necessary for
creating the RBD simulation. So after that, let's add
an RBD bullet solver, and let's add this and
connect this in here. And onto the RBD bullet solver, we need to change
the start frame. So the start frame is 60. Okay. So let's come over
here onto the RBD bullet, and let's hit rewind
and hit play. Okay. So here as can see
we are emitting these debris once and we are using these debris
into our simulation. So we are not continuously importing all of our
debris geometry. First, let me go into
the RBD bullet solver, and let's go into the collision. And first, let me
add ground plane. So let's go into
the ground type, and in here, let's
add a ground plane. Let's rewind so that we have
something to collide with. Let's play again.
Okay. And here as can see we are not importing
all of our geometries, and to fix this, let's
go into the setup, and let's say rewind
and let's enable the emit RBD RBD option to
continuously emit the debris. And let's view the result again. Okay. And here as you can see, now we are emitting our
debris every frame, and that is exactly
what we want. Okay. And now let's adjust some parameter
of the bullet solver, and maybe let's add an a random velocity onto
these debris pieces. So let's add an point
velocity node in here. And after the copy
to points node, let's connect this point
to the point velocity, and the value set to
compute from graformation, let's change this
to set to value. And let's add a value of one in all axis because we want to create the random
velocity on all axes. And let's introduce
some noise in here. So let's add an occurred noise, and maybe let's increase
the scale of that, and let's play again. Okay. And here as can see we have an A random velocity onto
these debris points. Okay. I think these
are sliding too much, so let's go into the RPD
configure and onto the physical, let's enable the friction and let's enable
the user friction. And I'm going to increase the friction value
to a value of five. Let's say twine and play again. Okay. Maybe let's go into
the RPD bullet solver again. Let's come over here onto
the forces and let's enable the drag to
enable the drag force, and let's it play again. Okay. And I think that
debris is looking fine. So after that, let's
create file cache node in here for writing out our debris simulation.
So let me add this. And before I write
out my simulation, let me view the result
of this bullet solver. Let's add an endl at the
end, and let's connect this. Okay. So Hers can see we are not importing
the ground plane, but we only have the
debris, and that is fine. And if I middle mouse button, Hears can see we have some point attributes that
we actually don't need. So after that, let's
add an attribute, delete node in here. Let's connect this. And in here, let's click on this delete non selected to remove all
of these attribute. Okay. But we do need
the name attribute, because we are working
with pack primitive. So for rendering, we
need the name attribute. Okay. And we also might need the velocity for
creating the motion blur. Okay. And let me view the result of the attribute
let and middle mouse button. So we are preserving
the name attribute, as well as the Vloct. So now we can write
out our debris. So I'm going to rename this
one our debris, file cache. Let's bring up the parameter
of this file cache. And as always, let's remove the dolosge hip name expression, only use the Dlo sine OS. And the start frame, let's delete this channel, and let's start this at
the frame number 60. Okay. And after that, let's create an null at the end, and let's connect this. And I'm going to rename
this our out debris. Okay. And let me remove this
null. We don't need this. And let's select all of these nodes and create
an box around them. And let's rename this
box to our debris, okay? And you can now go into the debris and save
out your cache. And with that, this debris
layer has been finished. And before you write
out your simulation, let me add an correction. And that was if I go into my sphere time,
here as you can see, I am using the uniform
scale of 2.38, but onto the radius, we are using the value of 0.5. So let's change this
to one on all axes. Because I think the
value of 0.5 was creating an A too small
scale of particles. So let's hit rewind
and hit play again. Okay. I think value of that
scale value is looking good. And now you can write
out your simulation.
16. Import To Solaris: Now let's bring all of our acid into Solaris
for rendering. So let's go back. And in here, let's
click on this option, and let's go into the stage
context. Let me open that. And in here, let's import all
of our asset for rendering. And for that, I'm going to
use a node called Sub Import. So let's add sub
import node in here. And let me bring
up its parameter and let me make this window
a little bit bigger. And onto the soft path, let's start adding these assets. I'm going to start
this with our agent. So onto the out, and
here as you can see, we have all of these
out null so in here, first, let's start with
agent, head except. Okay. We have our agent. Let me activate my view tool so that I can
navigate in my scene. And in here, let's adjust
the focus of frame range. Right now it's at 260. Let's change this back
to one again so that we have our entire frame
range. Okay, that's good. And while we are here, let's rename all of these assets, these
geometries accordingly. So that is our agent. So let's rename this so that we know what this sub
import is importing. Okay? And let me see the
geometry set missing width. Okay? So maybe let's keep all
of these values to default. And I'm going to press
and hold the old key to track to create another sub
Import node for this one, let's bring up the parameter, and let's grab the second, that is the arc lightning accept and let's keep
renaming them accordingly. Double click, that is
our arc lightning. Let's click and drag, and let's bring
up its parameter, and this one the debris. Let's add this, rename these
two debris, drag this again, and let me pick up this
out emission glow. Duplicate this again. Let's pick up another layer, the ground blast, except. Let's drag this again. And that is our ground
dust. Drag this again. And these are our
ground lightning. Duplicate this again. Let's rename them accordingly. That is our ground particles, and let's duplicate again
and let's pick up the path, and let's import our out rocks. And I'm going to
rename them to rocks, and let's duplicate them again. And let's click on this. These are our rocks
lightning I accept. So let's rename them to rocks. Duplicate this node again and I'm going to select
this our O slash. That is our SOD hitting effect. So I'm going to rename
this to SOD slash. Okay. Let's duplicate
this again. And let's import
the SOD lightning. That is our final layer. So let's rename
this accordingly. That is our SOD lightning. Okay. So with that, I have all of our
layer imported. So let's select all of them, and let's go into the layout, and maybe let's align these
nodes horizontally, okay? And let's add an
merged node in here, and you can create
the merge node when you have all of
these nodes selected, pick the output from any one of the nodes because we have all of
these nodes selected. So let's click on this and
here can see I have opened up I am tracking wires
from all of these nodes. Okay. So when I am dragging, just press and hold
the old key and click and that will
create an merge node. Okay. And here as you can see, I am creating the merge node. So let's click this again
to release the out. Okay. And that way you can very quickly create
the merge node and let me view the result of the merge node to
view all of our acid. So let's drag this timeline. Okay. And here as you can see we have successfully imported
all of our assets into solas. Okay. And right
now we are missing the ground plane as well as
something in the background. And for that, let's create an ground plane as well as something into the
background as well. So for that, let's go into
the object level again. I'm going to create
my background into the scene level, okay? So in here, let's create
another geometry node. And I'm going to rename
this our BG for background, and let's dive inside in here. And for creating the background, I'm going to use simple
circle geometry. So let's add a circle
polygonal circle. Let's bring up its parameter, and let's change the
orientation to Zplain, for the radius, let's increase its radius so that this
will cover entire scene. And for that, I'm going to
use my radius to 50 by 50. Okay. And also heroes can
see its edges are rough. So for that, let's
increase the devisions. So maybe let's change the
devisions to 50 as well. Okay. And after that, let's select all of
its boundary edges, and I want to move
these boundary edges up to create the background. And for that, I'm going
to use an a group node in here and let's
connect this in here, and this should be
the edges group. So let's add an edges
and onto the base group. And let me disable
this and let's click on this include by edges and click on these
unshared edges. And here as you
can see now we are selecting these outside edges. Okay, these are the edges
I want to be in my group. So onto the group name, let's maybe rename this
to our edge or boundary. I'm just renaming this to edge. Okay. And after that, let's add an poly
extrude node in here to extrude these edges up.
So let's connect this. Onto the poly extrude, let's click on this group
and pick our edge group. And by changing this value, we can create the extrusion and let me increase its value, and Hears can see the extrusion is going on the wrong direction. I want this to move up, so onto the extrusion, let's change this to point
normal and Hears can see. By default the point
normal is going upward, and that is the exact direction I want this to be
extruded, okay? So in here, maybe let's
increase the distance to 20. Okay. And after that, let's select this
edge again and use this to smooth out
this transition. So after that, let's add
vel node in here, polypwl. So let's add this and
connect this at the end. And for this one onto the group, let's select this
previous edge group. And in here, we can play
around with this to create our smooth
transition, okay? And I think I'm going to use
the value of six in here. And by adjusting the divisions, we can add more
divisions in here. Okay? And I think the value
of eight is looking good, and here we have the
smooth transition. And after that, we can safely
create an null at the end, and I'm going to rename
this our out BG. So let's add another null, out PG and let's go back into our stage
context and in here, let's import our
background null. So at the very last, I'm going to track this node, and in here, let's pick
up the background null, and that is our BG. So let's collapse this. And here we have the
out BG hit Accept. Okay. And I'm going to merge this with our rest
of our geometries. Let's set this.
Okay. And with that, we have all of our assets. So let me pick my frame, okay. And with that
frame, let's choose our camera position from
where we want this scene. And I'm going to
pick up this camera, we can always adjust this later. For now, I'm going to roughly add an A camera in somewhere. So with this merge nodes
selected and this angle, let's come over
onto the new cam. Let's click on
this new camera to create an A camera from
the current angle. Okay? And Heros can see we have successfully
created our camera. Now, I can click on
this view button, and right now the lock is on, and by the log when
the lock is on, we can adjust our
camera position by moving around into
our scene, okay? And if I unlock this, now I'm not able to adjust
my camera position, but Hearers can see I'm
adjusting my viewport camera, but my render camera
is right here. Okay. And we can view this
by we click on this new Cam. And here we have the cameras and camera one.
Let's click on this. Okay. So here as you can see now we are looking
through this camera. Okay? That is good.
So after that, let's add material
library node in here because we are going to
create our materials next. So let's add this
after the camera. And after the material library, and we are going to need
this to assign to material. And for that, I'm going to use the material linker
node for assigning. So let's add material
linker node, material linker, let's click and add this after
the material Library. Okay. And we do need
the dome light. The HDRI light, we are going to use the HDRI for lighting. So after that, let's add
an dome light as well, and maybe let's connect
this at the end. And finally, let's add our render lob for creating
the render setting. So if you type in here Kerma, hers can see, we
have our Kerma node. So let's add this, and this
will create two nodes for us. This one is for the
render setting, and that is the USD
render rob for writing out all of these frame
onto disk. Okay. And here we have the kerma
render settings where we can adjust the kerma
render settings, here we can change the engine, right now, it's set to CPU, and we can change the
resolution as well as all of these limits
and image outputs. Okay. So let's connect
this at the end, and I'm going to view this with these Kerma
render settings. Okay. Well, let me
activate my camera tool again and I'm going
to save this scene. Let's save this. Okay.
So in the next lesson, let's start creating our
materials for our scene.
17. Creating Materials: Now let's start
creating materials. Here as you can see,
everything is looking gray, and that is because
currently we do not have any materials assigned. So let's go into the material library
where we have created. Let's dive inside this node, and in here onto the
material library, we are going to create
the materials network. First, let's add an A. Let's go into the kerma tab, and here we have an
kerma material builder. Let's add this and
that will create an sub network if we dive inside this
here as you can see, we have these nodes. First, we have the material X standard surface
material node, and we have the
displacement node for adding the displacement. And also, we have the material properties
so that we can adjust the lightning as well as some of the limits
in here. Okay. So let's go back and in here, let's rename over these
materials accordingly. So first one, I'm going to
rename this one for BG, that will be for our
background material. So let's rename this to BG and that is going to be
a very simple material. So let's dive inside and inhere onto the material
X standard surface. Let's bring up its parameter. And in here, we can adjust the
parameter of our material. So first, we have the base where we can adjust
the base color. So I'm going to add a
very darkish gray color. So let's add this with
the value of 0.1. Okay. I'm going with this gray color. And onto the
specular, right now, here we can adjust the roughness as well as specular color. And because that is ground, I want this to be to
have an roughness. So onto the roughness, let's adjust the value of
roughness to 0.5, okay, because I don't want to
create a very shiny ground. Okay, let's go back. So that is our BG material. And after that, let's create another Kerma
material builder. So let's go into the kerma. Let's add another kerma
material builder. And for this one, I'm going to create an material
for our agent. So let's rename
this accordingly. Let's add this agent and
press Enter to dive inside. Okay. And in here, we have this input sub node. So let's remove this.
We don't need that. Okay, so that is our material. And in here, let's plug in our materials that we have
downloaded onto the color. And for the importing
the texture, you can add an A
material X image node, if I type material
X image. Okay. So you can use this node to select your texture
that you have downloaded. Or we have a node called
PBR material set. So if I add an
material X PBR, okay. So here we have this
PBR Trax set node. So let's add this and
by adding this node, if we bring up the
parameter here, we can import all of our
textures at once easily. Okay. Here we have
the base color. So let's pick up our base
by clicking on this icon, and let's go into the toll sign hip our current project folder, and onto our texture folder. So let's open this. And in here we have our agent that is the
great SOT costing. So let's double click
to Time inside, okay? And inside, we have
these materials that came when we downloaded
the character from Mixamo. So they diffuse. So let's
add this, hit Accept. Okay, so the base
color has been loaded, and we also have the normals and the normals
for importing the normals, we need to go into the pump tab. So let's go in here, and here as you can see onto
the pump style, we are using the height. But we want to use
this as an a normal. So let's add this a normal
and onto the normal map. Let's click on
this. And in here, I'm going to import this
Maria normal and accept. And onto the pump scale, that will going to
be our multiplier. So let's maybe
change this to one. Okay. And onto the textures, let's import our
specular as well. So onto the specular color,
let's click on this. And here we have the
specular head except, ok. And now it's just a matter of plugging this into this material X standard
surface material. So these are our
outputs, onto the base. So let's click on this to collapse this menu
onto the base color. I want to connect the
base color to base color. And we also have the specular. So let's click on this
onto the specular color. Let's connect this to
the specular color. And we also have the normals and the normals
to add the normals, we need to enable this geometry. So let's collab this
geometry option, and in here, we have the
option for using the normals. So let's connect this
normal to the normal. Okay. And with that, this agent material
has been done. And let's add another material. So let's go to become
a material builder. And for this one, I'm going to rename this for our
lightning, okay, because that material
will be used for all of our lightning
geometry that we have created. So let's dive inside, and let's remove these inputs. And this is going to be a
very simple material as well. And because we have this lightning color set
already inside of sobs so we need to import this
CD attribute that we have created in sobs from
sobs into Solaris. And for that, we have an node called material X
Geometry color. And here as you can see, we
have the Geometry color node. So if you add this, it will read the color that we have created in the sobs,
the CD attribute. Okay, I will import this. So for this one, that is our CD, and I want to create a glow. So let's go into the material
like standard surface. To add the glow, we do
not need the base color, so let's zero out
the base value. Okay. And let's go
into the specular. We do not need to
add any specular. So let's zero this out as well. We want to plug this into
emission because I want to add this lightning
to act as the light. So onto the emission,
let's bump up the scale to maybe higher value to five to create a more
emissive material. Okay, onto the emission color, let's use this CD. So we need to go into our emission tab and onto the emission color.
Let's connect this. Okay. And that will create
our material for lightning. So let's go back. And I'm going to duplicate
this node as well. And that is for creating
the geometry light and we might need to play
around with the settings. So for this one,
maybe we need to adjust different emission value. So that is why I'm
duplicating this node. But all of these settings
should be the same because we are going to use
the CD attribute for setting the emission color. Okay? So onto the lightning, let's rename this to
maybe our geo lightning. So first, let's type this one, our geo space lightning and
maybe let's remove this one. Okay. And now let's start
assign our materials. So let's go back onto
the stage context, and we can assign this material by going
onto the material linker. So onto the material library. We have created our materials. Let's go into the
material linker, select this and press B to
bring up its parameter. And let me make this
window a bit bigger. Okay. And here as you can see, we have the list of materials
that we have created. These are the materials, okay? And in here, we have
the geometry tree. In here, we have all of these geometry nodes
that we have imported, ok. And we can assign this by clicking the material from this one, this
material list. Okay. And I want to assign the agent material to
this agent geometry. So just click and drag in
where you want this to assign, and here as can see it is also highlighted into our
viewport as well. Okay? If I hover
over to our ground, let me find that and let's maybe adjust this onto our plug this into
our agent, okay? And hers can see
we have materials assigned successfully
into our agent, okay? And for the BG, let me find. I think I currently
cannot see my BG null. Let me go back and check. And we forgot to rename this. It is set to so lightning one. So let's rename this to our BG. Okay. And that is
why I have trouble finding this sob import
in my material linker. So let's go into
the material linker and bring up its
parameter again, and we should see our BG. Okay, here we have the BG. So let's select our BG material. And let's click on
this onto the BG, and heres can see it is also highlighted
in our viewpoard. So let's click on it.
Okay. Our BG materials has also been assigned, and we have this geo lightning as well as lightning,
these two materials. And I'm going to add
the lightning first, let's apply the
lightning materials. Rock lightning. So yes, I want this to apply
onto my ox lightning. As well as onto my sword
lightning. Let's add this. And let me find another
ground lightning. Let's add this onto the
ground lightning as well. And for the glow,
here as you can see, we have the emission glow as
well as the ground blast. And this one, I'm going
to use the geo lightning. Okay. And for that, let's add the emission glow into the geo lightning material, apply this material
onto the emission glow, as well as this material
to our ground blast. Okay. And we can view
all of these material if you click on this very top
tree, if you click on it. And here as can see we have
all of these materials, and we can see which materials has been assigned
to which geometry. And here we have the
agent that is assigned to agent and VG and for
the lightning material, we are using this
onto the rocks, lightning, as well as sword
lightning, ground lightning. And these two
materials are using the geo lightning material emission glow and ground blast. And now let's start creating
some other materials. For example, we need to create
the materials for rocks, and we also need to
create the materials for or ground trust as
well as the particles. Let's dive inside the material
library again and in here, let me arrange these
materials, nodes. To better organize
our node graph. And in here, let's start
creating other materials. First, let's maybe add an ground dust
material for our dust. And because that is an A volume, we need the pyro material. So let's go into the Kerma
and onto the pyro tab. And right now it is cutting off. Let me bring this in here
and let's click this. Again, Kerma pyro, Kerma pyro and let's add an A kerma pyro smoke
material. Let's add this. Okay, well, let me
place this in here and I'm going to rename this
material to our ground dust. Okay. And let's dive inside, and in here, Hearers
can see right now we are using the
Kerma pyro shader. So let's bring up its parameter, and hers can see we have the different parameter for this one because we are
using the pyro shader. So in here, we can adjust the density scale as well as we can play around
with the smoke color. So maybe let's create a
dust looking like color. So let me create this an
desaturated brown color. Let's play around with
some of its setting. Let's desaturate it a bit, as well as let's
add some darkness. And we can always adjust
the settings later. And in here, we can adjust
the density scale to create a more thick or
thin looking trust. Okay. And we can play around with these settings
later. So let's go back. And after the ground dust, let's create the materials
for our particles as well. So let's add another
kerma material builder. So I'm going to click this in here and let's rename
this to our particles, and let's maybe duplicate
this node again. And for this one, I'm
going to rename this to our rocks because we need the material for
our rocks as well. So let's add this and lastly, we need the material for
our sord slash effect. If we let me find the frame where we have
the sword hitting, so it should be in here. And after and here you can see. Let's create another material
for this slash glow. Okay. And for this one, I'm going to duplicate this
rock material by present, hold the old key and
drag, and in here, I'm going to rename
this to our sord slash. So maybe now let's dive inside this source slash
material and in here, as always, let's
remove this input, and we need to import this CD. So let's add an material
X geometry color node that will bring up our CD. And for this one,
let's add an A ramp in between before plugging
into these materials. And for that, let's add
an A ramp node in here. So here we have the KermerAM parameter.
So let's add this. And let's connect this in here. Okay. And in here, we can adjust the rams. Okay. So maybe at the end, at the very last, let's double click
on this and let's create an A of gray color. Value with the
value of 0.3. Okay. And we can adjust this later. And after that, we can
plug this into our glow. So onto the material X, why don't want the base. So let's zero out the base as well as let's zero
out the specular, but we want to apply this
onto our emission glow. So let's bring up this emission option and
onto the emission color. Let's click the ramp
into our emission color. And we also need to adjust
the opacity of this geometry, and to adjust the
opacity with this ramp, we need to go into the geometry, and here we have the opacity. So let's click
this. Let's attach this into our opacity
as well. Okay? So in here, let me bring up the emission and emission
is right now set to zero. Let's add value of one Okay. So now let's go back. And that is our source
slash material. And now let's apply all
of these materials. So let's go into
the stage context and onto the material linker. And in here, let me make
this window a bit bigger. So we have the agent PG ground lightning and to
the ground dust. Let's apply this onto our
ground dust geometry node. And let me find there we
have the ground dust. So let's just click and drag
this onto our ground dust. And we have the lightning
and the particles. So let's add this into
our particles as well. Let me find ground particles. So let's click and add this onto this particles geometry
onto the rocks. And let me find
my rock geometry. Okay, these are rocks. Let's click and track this. And the SOD slash, let's add this to our
SOT slash as well. Okay. And now, let me hide the
parameter and onto the kerma, let's bring up the parameter. Okay, and maybe let's
adjust this window. And we are going to use the
Kerma XPU for rendering. So let's go into
the engine setting. Right now, you set
to CPU parameter. Let's change this to XPU. And now we can use the
XPU for rendering. Okay? And to actually
render this, let's click on this
perspective where it says perspective.
Let's click on this. In here, we can adjust. We can choose our render engine. We can use the Kerma CPU XP, or maybe let's go into
the render settings. Okay, we are using the default. Maybe let's use our
renderer render settings. I think so first, maybe let's check with our Kerma XPU because these
are the default values. Okay. So let's change this to KermiXP and it will take
some time to initialize because KermiXP
has to load all of this geometry into GPU and Hears can see Optex
is compiling, and right now we are
only using the CPU. When our GPU will
start rendering, it will start its speed
will get improve. Okay? And Hers can see it is compile one and we should
start to see our GPU. Right now, we are
using this CPU. Okay. And Hears can
see Optex is working, and now we have a very
fast render, okay? And Hears can see we have
this lightning slash glow. Okay, then that is working good. And I think why this glow is not working and the lightning glow
is not working correctly. So maybe let's adjust the materials properties and
values in the next lesson.
18. Rendering In Solaris: Now let's adjust some
material setting as well as create the material
for our rock geometry. And right now, here
as you can see the arc lighting currently
are not glowing. Let me see what's the problem. So first, let's
deselect the material. So if you click on
anywhere in the blank, you can deselect this, let me go through all
of these geometries to see which we have the materials and which
we are forgetting. So agent we have the
agent material assigned. And onto the arc
lightning, hers can see. We are currently not using the material for
the arc lightning. And let's add the
lightning material onto this arc lightning. So let's drag this in here. And now hers can see we immediately start to see
some lightning glow. Okay. And let me select
these materials, and onto the arc lightning, let's go into the BG.
Let's click on this. Okay, we have the material, and onto the debris, currently, we do not have any material. And we are going to use the rock material for
our debris as well. So onto the debris, let's use the rock material and assign
this onto our debris. Okay. And let's go into
the emission glow. Okay. We have the material
ground blast. We do have material, and we also have the
material for our dust, lightning, particles, rocks,
okay, rocks, lightning. Okay, we have the material
for our rocks, lightning. We also have the material for our sword lightning and we also do have the
material for our SOD slash. Okay? So we have assigned
all of the materials. So let me hide the parameter, and let's dive inside
the material library, and let's start playing around with these materials properties. So first, let's go into
our particles material. I want to adjust the
materials for my particles. So let's dive inside. And for this one, the
particles material is going to be a very
simple material. So let's bring up the
parameter for this one, and let me adjust its window. And onto the base color, let's add an rusty color
for our particles. So maybe let's select on this brown value in here
and let's desaturate this. By coming over here,
and maybe let's create a more
darkish brown color. Okay. And let's
close this window. And also, let's go
into the specular, and we want to increase
the roughness. Okay? I don't want my dust
particles to be shiny. So maybe let's
increase the value to an A value of 0.5
for our particles. Okay? And let me
hight the perimeter. Let's go back. And now let's let's create
material for our rocks. So let's dive inside and
let me remove these inputs. And for this one, because we do not have UVs on
our rock geometry. So for that, I'm going to
use an A material X x node. So that should be an A
material X style hexagon. So let's add this and oh, sorry, not that one that will create a procedural tile,
so we don't need that. But we need an a triplanar. So let's add an x triplanar
Kerma hex tile triplanar. Okay. So that is the material
that we are looking for. Okay? So let's bring
up its parameter. In here, we can define the image texture that
we want to import, and it will use the hegtyling triplanar
to apply the material. Okay. So it is useful load if you do not
have UVs on your geometry. So onto the file, let's start importing our
materials for our rock. Let's click on this two
dots button to go back. And in here, let's go
into the Csiderock. That is the material that we are going to use for our rocks. So let's open this and in here, first, let's import our diffuse. So let's hit Accept, and that is our diffuse. And let me connect
this accordingly. So let's bring up, and that
should be our base color. And let me move this a bit up and press and hold the old key and track
to duplicate the load. And maybe for now,
let me change this to Houten volcan, okay? And we will start render this once we have
finished our material. And for this one, let's import this arm that is the ambient occlusion
roughness and metallic. So let's add our
arm and hit Accept. And here is you can see
that is an A vector four, and to separate the
RGB components, let's add an A. Separate color four node. So material X, color four, because that is an four value,
and let's connect this. And here we have the R, the red color that is storing
our ambien occlusion. And here we have the
roughness and metallic. So onto the green
challenge channel, let's connect this into
our specular roughness. So let me bring up the
specular, collapse this option. So that should be our ambend occlusion onto the red roughness
onto our green. So let's connect this onto
our specular roughness. And the last one should
be the metalness. So let's connect
this into metalness. Okay. And also, let's duplicate
this node one more time. And for this one, let's
import our normals. So let's bring up its parameter, and let's click on it, and in here, I want to
import the normals. So Rock underscore node, these are our normal and hit accept onto the signature
because these are the normals. So let's change the
signature to normal. Okay. That is the correct way to
import the normal and in here. We can play around with
this normal map height to adjust the normal
map intensity. Okay. And for this one, let's connect this into our
geometry and the normal. So let's connect the
out into our normal. Okay. So with that, I think this rock material
has been finished. So let's go back. And let me find the frame
where we have the rocks, as well as some materials, as well as all of these acids. So let me go at the
very last frame, and let's focus on
these rocks, okay? And first, maybe let's play
around with the lightning because if we go back
onto the dome light, her as can see we are currently using a simple
white color, okay? So onto the texture, we can define our HDRI. And for the DRI, I'm using the Polhaven. So let's go into the poly heaven and let's browse some HDRI. And in here, you can use any
HDRI that you like, okay. And for this project, I'm going to add an search
query for the abandon. So let's add the abandon, and I'm using this one,
the abandoned slipway. Okay. I think that HDRI is
creating some nice look. So let's click on this
abandoned slipway, and that is the HDRI. Okay. So for the rendering,
here, you can see, we have the resolution
set to four K. But for the lightning, we don't need the 4k2k will provide the enough
resolution for rendering. Let's only download the two K resolution
and download that. In here, let's go
into this dome light. In here, let's import our HDRI. Let's click on this option
and let me go back and Heres can see I already have downloaded abandoned
slipway. Let's click on it. In here, we came up with the JPEG and that is
our HDRI two k one, so it accept Heres can see the lightning
has been changed. Now let's click
on this and let's click on the Kerma XPU
to start rendering. Okay. And here can see the
HDRI has been imported. And right now, our Kerma XPU is initializing the new settings because we have
imported our HDRI, so it needs to compile
and within a few minutes, we should start to
see the rendering. Okay, so here as can see we are start
rendering and we have imported successfully
imported all of these materials and
lightning, okay? And the rock material
is working fine. And right now, I think the particle scale is
too high for my liking. Okay. So maybe we need to
adjust the particle scaling. First, let me view these all of our results
with our camera. So let's click on
this new CAM and let's look through
our camera one. Okay. And maybe let's click
on this lock button to adjust the framing of our camera angle so that we are viewing
all of our scene. Okay? So all of these
are working fine. Let's go back a few frame where we have the dust as
well as the lightning. And heroes can see we have the dust and we have the
lightning and it's glowing. And I think the
dust is right now, the dust is looking too thick. So maybe we need to adjust the density value for our dust. So let's go into the
material library again, where we are creating the dust
material, the crowd dust. So let's dive inside. And onto the rama pyro shader, we can play around with
this density scale. So let's lower down
the density scale to value of maybe 0.1, and let's view the result. And here as you can see, we immediately start
to see the result. And I think the value
of 0.1 is looking good. And right now our dust
is not too thick, and that is exactly what I want. And now let's adjust
the particles scaling. So first, let me change the two back to Houdini VK,
which means the volcan. Okay. And for that, let's go back onto our geometry level where we
are creating the effect. So let's go into the
wave destruction. In here, let me
find the particles. These are our particles and
where we are using the scale, that is the set scale. Onto the P scale, we can adjust the values to create an
lower P scale value. I think the value of 0.01 is
too big for our particles. Maybe let's add a value of
zero point double 06, okay? And now let's go back
onto our stage context again and let's start
rendering again. First, let me uncheck this
lock button to zoom in. Okay. And in here, I'm going to click on
the kerma XP again. So let's start
rendering this, okay? And here as you can see. Think the value of 0.0 206 scale value is looking
good for our particles. Okay? So let's keep
these settings. So let's go into our camera on again back onto our camera. Okay? And here as can see we have our dome light
geometry visualizer, and we can hide this by clicking on the display light guides. So if you click on this,
we can hide the guides. If you don't want to
see the background as our D GMT light as
our background, we can go into the display. I think into the dome
light and no not here. Let's bring up the setting on our display option by
clicking on this i button. In here, let's go
into the background, and here we have the
display environment light as background option. So let's uncheck
this and that way, we can hide our HDRI
as our background. Okay? So maybe let's
adjust our camera angle. So let's go into our camera
camera has been selected. Let's click on this
lock button again. In here, I'm going to
adjust my camera position. Okay. Let's change another frame to where there we can
see all of our effect. Okay? And you can adjust the camera angle
to your own liking. I'm going to use this
angle for now, okay? And let's go into our
kerma render setting. In here, we can adjust
the resolution. So for the final, I'm
going to use our tran ATP. So let's adjust the resolution. And onto the output picture, here you can define
where you want to store your render sequences. Okay. So right now we are
storing our dollar sign hip, which is our current
project location. So you can change this by
clicking on this option. Let's go into the
dollar sign hip, and I want to store
this into my render. So let's click on this folder. And in here, we can type the name of these
output sequences. I'm going to add
this out effects, or maybe let's name this to our destruction wave
destruction, wave. And after that, let's add
another underscore and doll sine F. So the dole sine F expression means
the current frame number. And we do need to add the Dlo sine F because we don't want to overwrite our render sequence
frame with the same name. That is why we must need to add the Dlo
sine F expression. In here, I want to
render my EXR sequences. After that, let's add dot EXR, which means we want to
store we want to render the EXR sequences and it accept. And here as you can see
onto the output picture, we have the new expression, dollar sign hip and
onto the render folder, we are naming our sequences and the dollar sign F. And
when you are done, you can go into the USD render op and onto the
valid frame range. Right now we are using
the current frame. Let's change this to render
specific frame range, and I want to render my 120
sequences. That is good. And if you click on this
rendered root disk option, Houdini will start to
render our sequences, okay? And before we render
out our sequences, let's add this glow AOV to
our render because later on, we are going to use
this glow render pass into after effects in our composting program
to further add the glow. So to add the AOVs. We need to go into
the Kerma render settings and onto
the image output. So let's click on
this and here we have the option to write
out our AOVs. Okay. So let me
scroll this down. And right now we are only
rendering the beauty pass. So that is good. We do need the beauty pass. But also, we can
add the diffuse, and here we have the combined
diffuse and direct diffuse, all of these render passes. But I only want the emission. So let's go into the
lights and emission. And in here, let's store our direct emission AO by
clicking on this option. Okay? Now ho Dini has been
start entering again, and we can visualize our As render us by clicking
on this option. Okay? These are
our output planes, our s. Let's click on this. And hers can see we are entering our C. That is our beauty pass, and now we are also outputting
this direct emission. If you click on this
direct emission, hers can see that is
our emission pass. That is good. We do need this
pass for adding the glow. Let's click on this
and click on the C to view this beauty pass. Okay. And I think these
are the rendered setting. The default of 128
samples are good. Okay. If you are
experiencing noise, you can play around
with this and you can increase the samples to
get rid of the noise. Okay. So after that, you can go into the USD
Render Op and inhere, click on this render to Trisk option to render
out your sequences.
19. Compositing In After Effects: Okay, all done. The rendering has been finished, and here is the end result. And if you have done all
of these things correctly, your end result should
look like this. So now let's add some glow and do some composting
inside of after effects. Okay. So let me
bring after effects. So here we are in
the after effects, and here I have already imported my rendered sequences
into after effects. And now when you are importing
your sequences, first, you need to check
that you are using the correct *** color because when we render
these sequences, we are using the ***. So if you right click
on your footage, we can go into the Interpret
footage and onto the main. So the first thing we need
to change is the frame rate because we know
that we are using the 24 frame rate
inside of Fulini. So let's change this. And also, you need to come over
here onto the color tab. In here, make sure
that it is using the default ACs as
an a color space, and now hit Okay, and
now we can safely bring these sequences into composition to create
a new composition. Okay? Now if you click
on this 32 bit option, here we have the options
for the ACs, okay? And in here, make sure that we are using the correct
as color flow. For example, here we are using the ACS configuration
and AS 1.2, and by default, the nuvarian of after
effects come with the ACs, in here, we are using
the linear AS CG and the display
color is AS SRGB, and we need to change this, and we can also change
this display color. Let me press it. In here, we have the ACS SRGB, and here as you can see
the colors has been more saturated and it's not looking as we have
inside of Houdini. That is because Houdini is using the Rack 2020 color alert
to visualize our colors, and right now we are using
the SRGB color transform. So we need to change
this to Ss Rac 2020, so let's change this. And now Hears can see now
the colors should look exactly the same as we
have in Houdini, okay? Now let's duplicate this because I want to extract my
global lightning pass. These that we have
created this emission. For that, let's
duplicate this layer by pressing the Control
D to duplicate this, let's come over here onto the facts and
preset and in here, let's type the extractor. And that is the extractor. Let's add this onto this layer. And now into the properties, we can define the
layer onto the layer. Here as you can see, we have
the direct emission layer. So let's click this. Okay. So here we
have successfully imported this indirect
emission glow layer, and that is exactly
what we need. And now we can add the
glow effect in here. So first in here, I'm going to use the
deep glow plug in. That is the plug in that
you need to download because the native default glow is not providing good results, so that is why I'm using
the deep glow plug in. Okay. So let's add this. And in here, as you can see, we have the glow, and to
actually add this glow, we need to come over
here onto this mode, and where it says normal, let's add this into our scene. Okay. And now here we can immediately start
to see the glow. Okay. Now let's adjust some
parameter of the glow. Here we can adjust the radius. So maybe let's keep increasing this radius and we can
adjust the exposure. That will also adjust
the intensity. Okay. And we need to
go into the input, and here we can define the input values where we want
the glows to start happen. And if we adjust the threshold, here we are using the threshold. Okay. So maybe let's use the
threshold of 90 for now. And here we can also
smooth out the threshold. And right now, the effect
is not very visible, but let's add some
more effect in here. First, let's add vibrance in there to create a
bluish vibrant color. So I'm using the plugin
called vibrance. That is an a free plugin. So let's add this. And I'm going to add this
before we are adding the glow. And here, as you can see, we start to see some green color, and I want the color to be blue. So let's adjust the color
range in here and change this to a light blue color,
something like that. And here as you can see the
threshold is effecting. So now we can click on this threshold
smooth to smooth out our threshold because right now it was creating
this harsh glow. So let's smooth
this out to 100%. Okay. And in here, maybe let's add an a
trent effect in here. So after that, I'm
going to use an a tint, and I want to add the tint before the vibrance.
So let's add this. And in here, I want to tint
this between black and red to add an reddish tone. Okay. And here you can see that is the glow
that I am after. And now we can play around
with the radius and we can adjust the intensity by playing
around with the exposure. And also onto the deep glow, we have the blend method. Right now, we are
using the screen. Let's change this to add, and that will create some more
interesting additive glow. Okay. And in here, let's play around
with these settings. So I'm going to increase
the exposure to five. Okay, that is the
glow that I like. And onto the radius, you can play around
with the radius, but I'm using the radius
of 500 so let's add this, and that radius is
providing good result. Okay. And after that, we can add an A color
correction in here. So in here, right click and go into the new and let's add an
adjustment layer. And onto this adjustment layer, we can add an A levels
or curve adjustment. So let's add an A curves effect. So let's add this in here, I'm going to create a
very basic S curve. Let's move this
point a bit up and let's adjust this point
to create an S curve. I think that is
now looking good. And now we can
safely render this. Let's go into the composition and let's click on
this pre render. And in here, we can define
where you want to save. I'm going to save this in here and let's come over here
where it says output module. Let's click on it, and I want to save this as an
H 264 sequences. And you also need to
go into the color tab. And hers can see the
output color space, we are rendering this into ACS, but we want to render
this as an A Rc 2020 because that is the color space currently
we are working. So make sure to change this
output color space from working color space
to the output c 2020 and Hers can see, click on it and hit Okay, and now you can render out your image sequences
into video file, okay?
20. Thank You: Okay, that's it, guys. Thank you so much
for joining in. I hope you have
enjoyed the course and learned something from it, and I will see you next time.