>> All right, so now that our Master Sequence
is set up, we have our Master Edit here
with all of our scenes.
Our Level Visibility track has been
taken care of because we have multiple levels taking place
over multiple literal levels or environments or sets
or virtual locations are in different levels
that we've actually called into this timeline via the Level
Visibility track.
We have our titles. We have our audio mix in.
What do we do next? Well, this is up to you.
This shows the flexibility of filmmaking in of Unreal Engine.
I'm not just talking about pre-visualization.
I'm talking about filmmaking itself
if you want to make an actual short with Assets
inside of the Unreal Engine.
The first workflow, which is the traditional workflow,
is we will go over here to render
this movie into a video image or frame sequence.
Since we're doing final frame here,
I will export actually with Apple ProRes.
I can encode this into H.264 if I want to upload it to a site
later on.
I can choose my audio output format.
I can include my audio sub-mix or I can choose No Audio.
I will include my audio since I took the time
to actually mix it inside of the Unreal Engine.
I want to stick with my 24 frames per second frame rate.
Here's where I can choose the resolution.
You know, I'm going to say do 1080 at a minimum
because that's what we're all used to.
You can go up to UHD.
You can do a custom resolution, and you can also
choose your progressive or interlaced mode.
If I scroll down here, the only other
thing that I really need to do--
I don't need to uncheck anything, even under Animation.
I don't need to uncheck anything.
All I'm really worried about is where my output directory is,
so I will go ahead and set that up here.
I already have it set up to my hard drive
to where I'd like to place it.
If you need to choose where you'd like to place it,
you just click on these dots here.
It's going to open up a menu for where you can save your file.
Really, once you've decided what your settings are here,
press Capture Movie and you'll see a movie render preview
pop up right here.
Depending on what type of machine you have--
mine, actually, is a pretty modest machine.
I am running a 1080, but it's a little bit older.
I have 32 gigs of RAM and I have a much older processor.
It's going to take a minute for this to kick off.
Once it does, you'll be able to actually preview
your entire film being rendered inside of this screen
right here before the file is complete.
As we can see here, our frame is up.
I actually have a little time code indicator down there
within the letterbox crop.
The entire movie is going to render out here.
Once again, depending on your specs,
it may or may not render out real-time.
It's amazing to me-- once again, this is all real-time.
I'm rendering this out real-time.
You know, let's say, myself, or if I'm
doing this for somebody else, a creative lead director,
a project director comes in and is like, you know what?
We need to tweak the atmosphere on that planet.
Well, I just press stop, go in, go into my Master Edit,
go to where that shot is, tweak the atmosphere
for the value of the planet, come back, re-export.
Barely any time is lost iteratively
during this process, which is pretty incredible.
As you can see here, you know,
we're really not, even in this mode, even in the render mode,
encountering any sort of hitches.
One thing that I want to make you aware of
is even if you notice something
like hitching a little bit like that we just
dropped a frame or two there, that's not happening
in your actual render.
This is making sure that every single frame is rendered.
You might see some hitches up here,
but that will not translate to your actual rendered movie.
When we talk about interactivity,
which is what we're going to look at next,
there might be a slight difference there
and that's when the scalability is
going to come into mind as sort of an option
that we have here that we may or may
not want to use. Here you have it.
Like, in the time it's taken me to sort of talk through all
of this to you, our short film created
inside of the Unreal Engine is finished.
It's done and it's pretty much ready
to go here with this last shot.
The next thing that I'd like to show you here
is, we've gone over exporting our movie as a traditional film
from point A the way to point B. But now it's
time for a completely different approach,
and this is something that, for me, is just a lot of fun
to sort of put this level of interactivity into the project.
For you, it really is going to depend on whether or not
you feel like your narrative needs to utilize this
or whether on a functional level you want a tool like this.
Instead of rendering out here,
I'm just going to go ahead and press Play,
and you will see what sort of comes up.
As you can see on the bottom right there,
there's a T key where I can use to toggle timecode.
You know, this can be for notes.
This just could be for keeping track,
or it's a fancy little gizmo I've put there at the bottom.
I've also given myself with the A,
S, D keys the ability to fast forward, the ability to rewind,
and, of course, pause.
Now you might be asking OK, well, that's pretty simple.
Why would we need to do that?
Well, the reason I've done this is if I pause at any given
moment, I've also unlocked the ability for the user
to control the camera--
not the position of the camera, but just the rotation.
What I'm wanting to happen here
is I'd like for people to sort of see
the artifice behind all of this.
You can sort of see where that texture is broken
a little bit, or you can see sort of
how this scene is being put together.
If I rewind-- or sorry, fast-forward a little bit
more-- let's go to a scene like this,
where we have a shot that's completely framed up
and it looks nice in the sense of the way it's framed.
The moment I look at the ground,
we start seeing how this breaks and how none of this
is meant to be seen except for the exact view
that I am presenting through the camera.
That's just one of the many things
that you can do with interactivity.
Of course, here, if we turn over literally right
at the edge of the camera frame, this shot breaks.
It also gives you a little bit of an insight
into how I actually put something like this together.
Over there we can see the HDR image.
There was a beach with buildings--
clearly not appropriate on this exotic xenoplanet.
You know, I just thought this was a little bit of fun.
It gave the user the ability to create, in a way,
their own camera movement.
This is just me moving the mouse.
It's still tied to the edit, but at any given moment,
if you pause, you can sort of rotate and look around
and see what else is happening.
These are all simple Blueprints.
There's nothing inherently crazy about this
if you understand Blueprinting.
I'll I'll sort of open this up and we can sort of take a look.
This is one of my favorites. Look over here.
I mean, this is just useless.
It's almost like if you're on a sound stage
and you have the perfect view of what you want to see.
You go over to grab your coffee, and then all of a sudden--
I mean, it's just completely useless.
Like, none of this would ever make it on film, right?
It just gives you an idea, though,
of how I'm also just designing for the frame.
I'm not worried. This isn't a game.
This isn't an interactive, navigable experience.
I've curated the camera to such a degree
that if I were to turn even five degrees, 10,
20 degrees to either end, I would
see how this illusion breaks completely.
How did I do this?
Let's take a look.
If I go into-- and this is all inside of the Master Edit
Blueprint but you can copy and paste this and sort of
modify this into your own Controller or anything else.
If I open this up, what we will see here is--
let me give you a little bit of a zoom out--
is all the functionality that I've sort of built in.
Let's first go to the setup here.
I've enabled VSync so there's no screen tearing.
If you wanted to deploy this as an interactive experience
full screen, that'll make sure that there's no sort of jaggies
or screen tearing as the camera pans left or right,
moves up and down.
I've done that by getting the Game User Settings.
You will have to understand a little bit about Blueprints
and how they work to sort of see how this functions.
Then I will disable input for a second.
Just in case somebody's mouse moves
at the beginning of the movie, nothing's going to happen.
Like, it's not going to like alter the initial viewpoint.
I've created my Level Sequence Player
that then starts my film.
I've made that into a variable in case
I ever want to call that later.
Then it plays and I've added our Cinematic UI Widget, all right?
This is that fast-forward, pause,
rewind whenever you press W, A, S,
D-- you saw those controls on the bottom left.
I also included time code, and I've
added that to the Viewport.
Here, I've manually built in how long
I want before the title comes in as opposed to doing it
as a built-in event in Sequencer or an
animated event inside of the title itself.
I decided I'd rather control that here.
Then the title comes up.
I delay for about 12 seconds--
that was the amount of timing that I
chose before I started loading all those other Levels
into the background, basically every other set,
into the Level Streaming background.
In terms of the actual controls,
one thing that's super-important--
I'm actually going to comment this out here--
is Quit.
If you do not build in a Quit game key,
somebody is going to have to Alt-F4
or Control-Alt-Delete to get out of
your experience. We don't want that.
The Escape key will essentially exit to desktop.
The interactive camera control is interesting.
What I've done here is the reason
that I made my Level Sequence a variable is
because I can call Items from it or Actors from it.
In this case, I'm getting the active camera.
What this means is in my Level Sequence, which
is that Master Edit, at any given moment
it's going to detect which camera is active.
What I'm doing from there from this return value
is I'm adding relative rotation based off my input axes.
This is very similar to a game controller in a way.
I'm locking off certain things.
For instance, on this I'm used to inverted controls,
so I've added a -1 as my pitch.
When I move the mouse as pitch,
a negative value will give me the upwards rotation.
If you look at this, you'll sort of
see I have an Event Tick here, and my
Event Tick is essentially saying--
I'm sure there's a more elegant way to do this,
but I am not a Blueprint master.
This is, I think, what is interesting is
I'm a filmmaker, first and foremost.
I've learned these tools to best help execute my vision.
There's a million different ways to do things in Blueprints.
This is just the way that I'm doing it.
I'm basically checking to see every Tick-- because I don't
have too much other stuff going on,
so I'm not worried about overloading anything--
to see that if I've gone back to frame zero, which
was the start frame for the sequence.
If that's true, I'm basically just going
to start this whole thing over.
I've put a Print String in there.
I've unchecked the Print to Screen option
so it doesn't show up.
If I ever want to debug that, I can just check that
back on to make sure it's going.
The Current Level Name--
all right, that means I'm getting the Current Level Name
and that's the name of the Level that I will open.
If it's false, what's going to happen
is we will say that the Level Sequence is playing.
If that's true, we're getting
our Camera View, all right.
This was a debug that I created
to print the string, the name, and location of the camera.
When I was going through this,
if I had these selected when we press Play here,
you'll see that it's going to tell me
which Camera Actor I'm actually using
and what the actual position in the scene of that camera
is over here with the debug.
I can go back and rename that to Camera One, 50
millimeters, et cetera, et cetera,
and it will actually display that information.
Then what also will happen
is I've created that time code thing on the bottom right.
I'm just getting my seconds.
I'm filling out a Cinematic UI Widget that I've created.
I can browse to that over here under Cinematics, UI.
What I've essentially done here is this text block, if I
click on that, is bound--
excuse me-- I'm changing this text block right here
to be associated with this value right here, which
is the InText, which is my current time,
qualified frame time, to seconds.
That's what fills out that part of my
text box in my Cinematics UI Widget.
You can add all sorts of stuff to this if you want.
You could add aperture settings.
You could say this is the aperture we're at,
this is the angulation of the camera,
this is the shutter speed-- all sorts of stuff
like that you can add just by dropping in Text Blocks
here and binding them to values from your camera
that's inside of the Level Sequence.
If we continue right, if we've reached the end,
I've bound the Finished_Event here to the Level Sequence.
I will get the current name and start over again, too.
Essentially this is a looping experience here.
What about my playback controls?
They're pretty easy here.
In terms of toggling the time code,
I have a T Pressed input going to Flip Flop, which will either
show or hide my time code.
The Pause System is a little bit more complicated.
If we look at it here, I have it using space bar or the S key
since ASD--
A is rewind, S is pause, D is forward.
I have these events going to the Level Sequence Pause
or Play because, you know, it is a toggle.
Essentially what I'm doing is--
this is a lot of spaghetti here--
but I'm essentially starting and stopping the sequence
and displaying text in my Widgets, all right?
Take the time to look through that.
You'll sort of see how that works.
You know this is just one of an infinite amount of examples
of what you can do with this sort of stuff.
If we go back down here, we have the
reverse key, which is A, right?
If I'm paused or I am fast-forwarding,
if that's true, nothing's going to happen.
If it's false, we're going to do this Flip Flop here
with the Play Rate going backwards.
You can sort of check that out, too.
All this stuff you're seeing in the middle here--
which I could minimize the macros--
I'm just trying to leave everything visible for people
to check out here.
This all has to do with just target
text on the UI and nothing else, all right?
These aren't functions or anything,
these are just visibility of text objects on the screen.
The same thing with Fast-Forward.
The amazing part about this to me
is the ability to go in and move the camera around.
I can sort of decode how this all went together.
Like, if I'm in here and I press Pause
and I just want to look around, it's, like, oh, there
are the cryo-pods from later on in the scene.
Nothing else in this environment
is lit or even worth looking at, right?
It's just sort of hobbled together.
In a way, it reminds me a lot of being on an actual set.
If I fast-forward just a little bit more,
we'll get a little bit more light in here.
You see a little bit more of what's going on.
A lot of these details are meaningless.
You know, I could go back through maybe
to save some resources and just get rid of most of this stuff
and just go back to Gray-boxing it and making sure
that the light isn't affected too much.
You'll see that-- especially this one,
it's like, if I move over, I can
look around all over the place here.
None of this is relevant except exactly what we framed up.
Same thing once we go inside here.
One thing that's kind of interesting
is the particles do not pause.
You can sort of see how this is put together.
The model has her eyes and mouth open,
so that's why I've chosen to frame it sort of out so you can
see the nameplate on her armor instead,
which becomes the focus.
You can see that this is all--
just I can imagine somebody doing
this on a tiny part of a sound stage
with this little set put together
and none of this actually mattered
except what was in the frame.
Likewise, here, if we turn around, I
mean-- that's where the planet is.
Like, I mean, I might as well just remove that.
It's not adding anything to the scene.
You know, it's all part of how I built this scene up.
I was feeling distances out, all sorts of stuff like that.
Now that, with this level of interactivity,
has become sort of revealed to the viewer, or to the user,
if you will. Same thing here. This is right.
As you can see, even one more example here--
if I look up at the top the halo effect from this planet
is not correct back there.
I mean there's nothing back there,
but it's not in the frame, so I don't care.
I'm going for an effect that would give me
this side of the planet.
One thing that's interesting about this
is that over here, off to the side--
I pressed Shift-F1 so I can actually see my mouse--
I tried doing this as a pure material
and I couldn't get it exactly how I wanted.
What this layer of atmosphere actually
is is a duplicated sphere with just a glowing material
that I've just sort of offset from the surface, which
is why over here it doesn't work, all right?
Because it has to be scaled up, of course, so it's
not going to work properly.
Same thing for that smaller moon there that's
involved in this scene.
Of course, the scale distance
between this colony ship and the planet
is in no means or any way literal.
This is just an example, you know,
albeit a slightly mundane example,
but this is an example of how you can use the Unreal Engine
to further enhance the project that you're
creating with little bits of interactivity.
If I've decided that I would like
to have the interactive version, the non-traditional movie file
version of my project, I need to package it
as a standalone application.
To do that, depending on what platform you're on,
you will go to File, Package Project,
and then choose your deployment.
Most of us will be deploying to Windows or Mac.
If you're deploying to Windows, notice
that you do not have an option to build for Mac.
If you're on a Mac, you do not have an option
to build for Windows.
Now if you will do Android or something like that,
I mean, you're essentially going to have
to go through the entire process of downgrading this, converting
it to an Android project, making sure that you have all
the repos setup, AndroidWorks, all that sort of stuff
installed if you want to make an actual app.
If you want to make a standalone desktop version,
though, you will go to Windows 64-bit.
You can actually change the configuration,
and then you just go to Package.
Then it's going to start packaging in the background.
It's going to ask you where you'd like to save it.
One thing that you need to do before that,
if you go to Edit, and go to Project Settings,
you can open up a menu here, and essentially this
will be everything to do with your project under Packaging.
This is what you're going to want to go through, refer
to the Unreal Engine documentation,
decide what you need to actually change here
or what you need to add.
In my general settings from my project,
I've actually added my own thumbnail to this,
but you can go as far as to add thumbnails and icons for what
your actual project application icon will look like if you'd
like to deploy it that way.
Now the last thing that I'd like to mention before you
get ready to package this-- so, if you're doing this straight
to a video file, you don't have to worry about this other
than if you're just worried about saving space
on your hard drive.
If you will package this as an application,
you will want to make sure, by two methods--
either going through your Content Browser
and removing manually all the Assets,
anything that you're not using that's
going to bulk up the size of this project
that you will want to get rid of.
The other thing that you can do, which
is why I love using this whole idea of a Master Edit map--
is I can go to this Master Edit map right here,
I can right-click, I can go to Asset Actions,
and I can migrate it into an empty project, so a project
that has nothing else in it.
If I do this and I click on Migrate,
what this is going to do is it's going
to give me an Asset report.
This Asset report, this very, very, very, very long
list is indicative of every single thing that
is used in this master edit, and then by default,
the Master Sequence itself.
This might sound crazy, but if you're
using a lot of Quixel Assets or you're using a lot of Assets
from the marketplace that are 20
gigs, 10 gigs, 15 gigs, even more--
your project, this entire project
itself, I believe when I started it out was over 150 gigs.
That's just not manageable for a 3-minute short film,
to expect people to download that much.
After doing this entire process, getting
rid of everything that I did not need,
that was not used at any point throughout the frame
of this film, I have managed to bring that
down to less than 10 gigs, which is pretty crazy.
That becomes a little bit more manageable.
It's still a lot, but it's a little bit more manageable.
Now for your own archiving purposes,
I would say just not migrating any of this stuff
into a smaller project because if you ever
want to go back to this and make some tweaks,
you should still have your main project version here
with everything inside of the content folders in case
you want to tweak some stuff, replace the model,
change the HDRI in the background into one
that you already have here in your HDR folder.
Anything like that, definitely make
sure that you archive your project separately
from the version of the project you're
going to archive as your shipping build
or your packaged final film.