if you'd like to make professional
looking pyro
then it's going to be really helpful to
start with an accurate definition
most people based on the reels and based
on other things i see online
don't actually have a good definition of
pyro so here's my first question to you
if you just saw something blow up let's
say this building
what are you actually looking at
well we actually have many different
things layered on top of each other
to equal the pyro effect we have smoke
we have flames debris there's probably
sparks and embers flying around
and my point is is that pyro interacts
with the environment
it's not just a sphere that's being lit
on fire or blown up
it's all about this interaction with the
environment it's all about combining
various things together
to make one big effect
so if it's not on your sites yet i want
you to think about this interaction with
everything that you do if you're
building let's say
some sort of explosion think about where
the heat is coming from based on the
environment if you have a missile that's
hitting the ground
what direction is that missile hitting
from and how does that
impact the resulting velocity of the
explosion
my point is is that if you want
professional pyro
you need to always be thinking about
this interaction
and that's what's going to take your
stuff to the next level
now that being said pyro is also not a
beginner topic
i'm going to assume that you already
have the basics down with houdini
because in order to save time i'm not
going to
spend time really talking about how to
cash out files or how to add an hdr to
your scene
or things like that and i've also have
other videos that really go into that if
that's where you're at
that all being said let's now dive into
the details
in this course i'll be talking about
volumes which encompass
the smoke and flame portion of a pyro
effect
and these volumes are made up of voxels
voxels are basically
tiny little cubes that are flying around
in your 3d scene
and these cubes store values they store
values and they also belong to a field
so the way i think of it is that a field
identifies a group of voxels and what
they're used for
over here we would have let's say a
smoke field called density
or for the flames this might be a field
called heat
and so the group of voxels really
describes
what they're used for that's the field
the value inside those voxels
might describe how much smoke is at that
one spot or how hot
the flames are at a particular spot and
that all
eventually goes to inform the render
engine of how it should shade
these volumes so as i mentioned
this is kind of a visual of what's going
on
now in addition to the stuff that we see
in the render
you can also feed the solver different
fields
so that you can control the behavior of
what's going on
in this example if we have let's say a
velocity field
like this we have a bunch of voxels that
are storing velocities
which describe the direction in which
things are going
this could then be used to let's say
tell the density
and the heat where it should go over
time
this is also true for let's say
particles that are being advected
through the air
and it's not just velocity you can do
fields for all kinds of different things
to control the specific behavior that
you want from the pyrosolver
here's the second question what
generally needs to happen
in houdini so that we can get flames
smoke steam
let's think about the overall process
before we
get into this and i actually like to
start
with the end in mind i kind of like
going backwards
in how this all works so that you can
understand what's going on
we have a pyrosolver and our pyrosolver
eventually will give us
all the fields we want so that we can
render
so this could be our density which is
our smoke our heats
perhaps our velocity to calculate some
sort of
motion blur with this basically anything
you want to use to help to render
is what we want from the pyrosolver
now this fire solver can't just create
fire out of nothing
we have to feed the power solver volumes
so that it can work with something
and give us these fields so the thing
that contains those volumes
is a smoke object the smoke object
is basically like a bucket it contains a
bunch of volumes and that's what the
pyrosolver
is allowed to work on now
the main idea is that the smoke object
will
get what it needs from the volume source
node and the volume
source node will get what it needs from
our geometry so this is a little bit
confusing at first
and let me try to explain what's going
on
so i like to think of the smoke object
as a bucket this volume source
is kind of like feeling the bucket full
of volumes
and so what does this do well it grabs
the volumes from softs
and puts it in the smoke object the
reason why we do this is because it's
going to prepare
all these different fields for the smoke
object
so that it can work nicely with the
pyrosolver
so if we're taking let's say density or
temperature or fuel
all these different fields affect the
way
in which the pyro solver will work
and so the volume source is there to
prepare these fields for the solver
now these fields originate from
our geometry which is our sops right
and so here's what the process looks
like in order to
generate these fields we're going to
start with some particles
we will control the initial motion and
location of where these volumes will
start
we'll also add a bunch of variety to the
data we'll
attach attributes to these points so
that
with these fields they're going to start
with different values and
have different spots that are more
intense or less intense
this will help break up our simulation
to start
and then once we have the attributes on
these particles
we're going to rasterize them that means
turn them into volumes
so that now we can go to the volume
source
go to the smoke object go to the
pyrosolver
and we're left with our final result
in the next lesson let's create some
geometry which can represent the
beginnings of our steam