Vai al lettorePassa al contenuto principale
  • 2 giorni fa
Dev diary dedicato alle feature dell'Unreal Engine 4.
Trascrizione
00:10A grafico highlight of Unreal Engine 4 is our real-time dynamic global illumination and glossy specular reflection.
00:18So these objects that you see in the statues, as they change their state from a diffuse material to a
00:23specular,
00:24they not only change the way light bounce, but they also change the color of the light bouncing around in
00:28the scene.
00:31Unreal Engine 4 also supports fully emissive materials, so materials that you see in your scene can not only receive
00:38light and be emissive, but also transmit light.
00:41We have support for full, shadowed, and lit subsurface scattering.
00:46This night, as I move around, you can see the light through him changing based on the opacity and filter
00:52color.
00:54Unreal Engine 4 uses a fully deferred renderer.
00:58One of the applications for this is deferred decals.
01:01So this sphere drops wet decals on the ground, which change not only the diffuse and specular, but also the
01:07normals of the surface.
01:09This is, again, all fully dynamic and real-time.
01:12This is our orrery room, and this solar system that you see moving around has been placed to demonstrate our
01:19indirect lighting.
01:20If I change the time of day, the sunlight will begin to stretch further into the room, and this will
01:26begin to show more of the color of the light bouncing off of the floor and onto the surrounding metal
01:30walls.
01:31If I change the color of the carpet, you can see that the color of the room changes quite dramatically.
01:38I can do that again.
01:44There we go. Now, if I were to, say, grab my spotlight planet here and use it to illuminate my
01:52room, as I move it around, it illuminates different elements of the scene, which then bounce their colored light on
01:59every aspect of the scene correctly.
02:01You can even see the reflection of the different floor colors on this sphere itself.
02:06This next room highlights our dynamically lit particle systems.
02:11So I have a number of particle systems here, all being illuminated by the dynamic elements of the scene.
02:16I can turn on my own flashlight and illuminate it, or even pick up my spotlight planet from the previous
02:23room and throw it in.
02:25And you'll see this all works together dynamically in real-time.
02:36Out here, we're highlighting our direct and indirect lighting on particles.
02:40So I have a volumetric particle system that is being illuminated from within by chunks of lava being shot up
02:47through the vent,
02:47which use the volume of the particles to determine the amount of light it transmits through.
02:52The particles are being illuminated directly by the sun and also picking up indirect illumination from the sun bouncing off
02:59the world.
02:59They're also correctly shadowing the environment around them.
03:05Unreal Engine 4 supports GPU particles, which allow us to have extremely high numbers of particles along with complex simulations.
03:12So for example, this room has over a million particles in it alone in various different elemental styles.
03:22I have fire and ice, obviously, with very different effects.
03:31And then I have a final magic effect.
03:34And this effect is demonstrating our vector displacement fields, which can be dynamic and fully interactive.
03:42So I have a vector field on this object.
03:45And as I move it around, it displaces the particles as it travels through them.
03:48And I can even turn it off and have it all wisp away.
03:53This room is highlighting our improvements to post-process.
03:56We now have per-pixel lens flares, so any bright element in the scene will become part of the lens
04:01flare,
04:01as well as full eye adaptation.
04:03So if the windows were to suddenly close, my scene becomes dark.
04:07My eye adaptation will adapt the focus exposure.
04:10And then if the floor were to collapse, I have bright elements on my scene, so my lens flares are
04:16back.
04:17And it's all, again, fully dynamic and fully real-time.
04:21Heading up the stairs, we come to the hallway from our demonstration.
04:25And this has both my night from the cinematic and also full time of day.
04:30So if I watch the sunset, you can see the light changes quite dramatically.
04:39When the sun's completely behind the building, the sky will go to night.
04:44And I have a very different lighting environment.
04:46And then as the sun rises, again, I change completely.
04:50Now, the most impressive thing about this entire demonstration is that for the entire thing,
04:57I've been in the editor the entire time.
04:59At any point, I can come out of our immersive mode and go right back into my tools.
05:04So I can just fly around, select objects, and move them around and interact with them,
05:11because I am in my editor and in my tools the whole time.
05:14We've dramatically improved our play.
05:17It's now instantaneous.
05:18I can jump in at any time and just run around.
05:21So this gives me extremely fast iteration time.
05:24At any point, I can see the changes I've made in-game without leaving my editor.
05:29We've rewritten our user interface.
05:31It's all completely dockable and reskinnable.
05:34So I can put any part of it in any part of my layout.
05:41We now have this details panel that you see on the right.
05:44Details allows me to see not only the properties of the object, but also in-depth information about it.
05:52For example, what class it is, where its location in the world, as well as what materials are applied,
05:57and even drill down further and see what textures are part of that material.
06:01I mentioned I can see what class it is, and that's very important, because this is a blueprint.
06:06In Unreal Engine 4, we use Kismet to script not only our levels, but also individual assets in what we
06:11call blueprints.
06:13A blueprint allows me to have an instanced class placed in my level that can have custom behavior.
06:19So, for example, when I click on this statue, you can see the Kismet graph executing in sequence,
06:26so I can see exactly what's going on at any point.
06:29This allows for much more powerful debugging.
06:31At any point, I can jump out and go over and begin making changes, drag off to create new connections
06:39with a nicely laid out list of things that I can call from this point.
06:44I can also quickly put a breakpoint in, and now when I play, if I trigger that breakpoint,
06:50it will stop the editor, stop the game, allow me to step through and see the state of any of
06:56these values,
07:00and then resume and see the continuing game.
07:06Turn that breakpoint off again, and if I wanted to say, make a change to this, it's as easy as
07:12dragging off,
07:13so I'll add a delay, give it a default duration of three seconds, and wire it in,
07:20and now when I play, when I click on my statue, I hit my delay, I see the countdown for
07:26how long it's got left,
07:27and then it executes the script again.
07:30So this allows us to make changes and iterate on them extremely quickly.
07:37Talking a bit about the indirect lighting, if I select the post-process for this environment and filter for the
07:46voxel lighting intensity,
07:48if I bring that down, this is what the scene would look like without any bounce lighting being derived.
07:56So there's no complex specular, there's very little secondary lighting in the scene,
08:02but if I bring that back up, I begin to get my metallic reflections, my complex secondary lighting on all
08:08of my objects,
08:08as well as a much more realistic environment.
08:16Over in the orrery room, if I select that orrery, I can see there's a number of properties that are
08:21being set up inside of this blueprint.
08:23So in the construction script, I have all of the parts of it being put together in sequence,
08:29and then I reach the sequence split, which creates each planet individually,
08:34each one of these lines represents an individual planet,
08:38and then I have all of the variables that are used to drive the various behavior.
08:42Now, this is what the variables tab looks like.
08:45If I dock this here, you can see there's quite a few of them,
08:48but all of these can be categorized and given custom names.
08:51What that means is that when I get back to the placed version of it,
08:56I don't have a huge flat list of variables like I have in my editor.
09:00I have nicely categorized, friendly named properties that allow me to make changes
09:07without having to know how the script was made.
09:11Now, I showed play in editor, which instantaneous, I'm in, my game is running,
09:16I can interact with my planets, run around.
09:20But now I'm going to use simulate.
09:21And simulate plays the game, but doesn't put me in it.
09:25So now I'm still in the editor.
09:27I have complete control over my tools.
09:28I can see properties for any object.
09:30I can select the various elements in my scene.
09:34But because I'm not in the game, I can watch everything happen.
09:37And then at any point, I can click possess and become part of the game,
09:40and begin interacting with my game as a player.
09:44So one last thing I'm going to show off.
09:47If I hit play and run around in my world, I can hit F10 to eject.
09:52And now I see my player's representation in the world again.
09:55If I open up his details panel and his code view,
09:58it will populate with the functions for that class, in this case a player.
10:02If I double click on one of those functions,
10:04it will open the source file for that class and go straight to that function.
10:08So this has leg strength, and I'll change that, minimize this,
10:13and I'm going to click compile and possess.
10:16So I'm back in my character playing the game.
10:19I can't jump very high, but when it finishes compiling, I become superhuman.
10:24So I can make these kind of changes while I'm playing the game,
10:27while I'm in my editor, while I'm making changes to my environment,
10:30and my tools, and everything, all in real time as you see.
10:38I can't believe you're increasing.
10:39I can't believe you can move easily.
10:44See you happen individually.
10:45See you mendig
Commenti

Consigliato