00:00 Want to build an epic large scale scene
00:02 

00:02 the easy way with Gaia and Unreal
00:05 

00:05 Engine?
00:14 

00:14 Hello everyone, waving hand. In this
00:17 

00:17 tutorial, we're going to create a
00:19 

00:19 massive game level inspired by the
00:21 

00:21 Dangjianka region Sunrise Over Mountains
00:24 

00:24 video game. Get ready to bring a
00:26 

00:26 realworld environment to life inside
00:28 

00:28 your game engine. We'll start by using
00:30 

00:30 Gaia nodes to quickly build the base
00:33 

00:33 terrain. Then we'll move on to creating
00:36 

00:36 masks for different landscape elements
00:38 

00:38 and exporting them for use in Unreal
00:40 

00:40 Engine. Then we'll import everything
00:43 

00:43 into Unreal Engine and use the masks to
00:45 

00:45 build a fully automated landscape
00:47 

00:47 material, giving our terrain a
00:49 

00:49 professional and dynamic look. Next,
00:52 

00:52 we'll use those same masks inside the
00:54 

00:54 PCG system to automatically generate
00:57 

00:57 vegetation and natural coverage across
00:59 

00:59 the terrain. And in the end, we'll
01:02 

01:02 achieve a stunning large scale game
01:04 

01:04 level just like this. All right, guys.
01:07 

01:07 Just like we said, we're kicking things
01:08 

01:08 off with Gaia. First, we bring in the
01:11 

01:11 node ridge. And after tweaking the scale
01:14 

01:14 a bit, we end up with this awesome
01:16 

01:16 result.
01:17 

01:17 Next, by adding the blur node, we make
01:20 

01:20 everything smoother.
01:23 

01:23 The next node we add is adjust. And by
01:26 

01:26 tweaking the multiply and clip settings,
01:29 

01:29 we can easily get closer to the result
01:31 

01:31 we're aiming for.
01:41 

01:41 [Music]
01:49 

01:49 Next, by adding the hillify node, we
01:51 

01:51 soften the sharp edges of our surfaces a
01:53 

01:53 bit
01:54 

01:54 [Music]
01:58 

01:58 to get even better detail. We also add
02:01 

02:01 erosion to them.
02:08 

02:08 [Music]
02:15 

02:15 [Music]
02:29 

02:29 [Music]
02:33 

02:33 Next, by using the lake node, we can add
02:36 

02:36 water to the scene. As you can see, our
02:39 

02:39 scene is now looking very close to our
02:41 

02:41 reference.
02:44 

02:44 [Music]
02:47 

02:47 Now it's time to create the masks. To do
02:49 

02:49 this, we'll try generating a mask from
02:52 

02:52 our eyelids. So we add the height node.
02:55 

02:55 And finally, the hillify node gives us a
02:58 

02:58 much better result.
03:20 

03:20 [Music]
03:30 

03:30 [Music]
03:45 

03:45 Next, we make a copy of our height and
03:47 

03:47 reduce some of its edges near the water
03:50 

03:50 since these areas are where the trees
03:51 

03:51 will be placed.
03:57 

03:57 [Music]
04:06 

04:06 As you saw, we export the islands,
04:08 

04:08 water, trees, and erosion. And by
04:11 

04:11 clicking the build mask option, we
04:13 

04:13 generate them.
04:17 

04:17 [Music]
04:24 

04:24 I change the output format to 16 bit
04:27 

04:27 PNG.
04:35 

04:35 [Music]
04:37 

04:37 Now it's time to move into Unreal. We
04:40 

04:40 create a new scene in the vehicle
04:42 

04:42 template since the map is quite large
04:44 

04:44 and we want to be able to drive around
04:46 

04:46 in the end.
04:51 

04:51 Now we create a new level and switch to
04:53 

04:53 landscape mode to import our map.
05:00 

05:00 [Music]
05:02 

05:02 For the landscape, we use the erosion
05:04 

05:04 mask so that all the generated details
05:07 

05:07 are applied to it.
05:11 

05:11 [Music]
05:31 

05:31 After creating the landscape, as you can
05:33 

05:33 see, the scene isn't visible because the
05:36 

05:36 fog level is too high. So, we lower it.
05:42 

05:42 [Music]
05:54 

05:54 Next, you'll notice that the amount of
05:56 

05:56 elevation doesn't match the height map
05:58 

05:58 we created. So, we rebuild the landscape
06:01 

06:01 and change the zscale value to 150.
06:24 

06:24 Hey,
06:30 

06:30 hey, hey.
06:33 

06:33 [Music]
06:40 

06:40 [Music]
06:42 

06:42 After building the landscape, we move on
06:44 

06:44 to creating the material.
06:49 

06:49 [Music]
06:51 

06:51 First, we make a simple test material
06:54 

06:54 and switch it to material attributes.
06:57 

06:57 Then, we add a landscape layer material.
06:59 

06:59 Give it four inputs and rename them
07:02 

07:02 accordingly.
07:05 

07:05 [Music]
07:30 

07:30 Next we create four make material
07:32 

07:32 attributes nodes. modes and connect them
07:34 

07:34 to the inputs.
07:47 

07:47 [Music]
08:01 

08:01 Now we download four materials from
08:03 

08:03 QuixleBridge and add them to the
08:05 

08:05 project.
08:29 

08:29 [Music]
08:45 

08:45 For testing, we assign the albido of
08:48 

08:48 each one to its corresponding material.
08:55 

08:55 [Music]
09:12 

09:12 We create an instance of our material
09:14 

09:14 and assign it to the landscape.
09:28 

09:28 Go into landscape mode. Click the plus
09:30 

09:30 icon on each material layer and select
09:33 

09:33 weight blended layer.
09:41 

09:41 Now go to the manage tab, enable all the
09:44 

09:44 materials from the layers section and
09:46 

09:46 assign the corresponding mask to each
09:48 

09:48 one.
09:55 

09:55 [Music]
10:07 

10:07 Finally, click import. And just like
10:10 

10:10 that, the materials are applied to our
10:12 

10:12 scene.
10:46 

10:46 Now I want to take the material one step
10:48 

10:48 further. So we use a landscape
10:50 

10:50 coordinate along with a color node
10:54 

10:54 [Music]
10:57 

10:57 which will convert into a parameter.
10:59 

10:59 Then we rename the channels to scale,
11:02 

11:02 normal and height.
11:10 

11:10 [Music]
11:18 

11:18 [Music]
11:27 

11:27 We multiply these two together and
11:29 

11:29 connect the result to the UVs of each of
11:31 

11:31 our textures.
11:37 

11:37 Next, we connect our normal parameter
11:40 

11:40 channel to a flatten normal node and
11:42 

11:42 also plug the normal texture into this
11:44 

11:44 node.
11:48 

11:48 [Music]
11:51 

11:51 Finally, we connect the our channel of
11:54 

11:54 our last texture to roughness, the G
11:56 

11:56 channel to ambient, and the B channel
11:59 

11:59 after multiplying it with our high
12:00 

12:00 parameter to displacement.
12:16 

12:16 [Music]
12:27 

12:27 behind.
12:32 

12:32 [Music]
12:52 

12:52 [Music]
12:58 

12:58 Make sure to name each parameter
12:60 

13:00 properly so you can easily control all
13:03 

13:03 the textures.
13:11 

13:11 Black.
13:28 

13:28 Hey. Hey.
13:59 

13:59 Now, just like in the previous video, we
14:02 

14:02 fixed the texture tiling. issue using
14:04 

14:04 the same method. If you're not familiar
14:06 

14:06 with the texture variation method, make
14:08 

14:08 sure to watch the previous Gaia to
14:10 

14:10 Unreal video where I explained in
14:12 

14:12 detail.
14:34 

14:34 [Music]
14:50 

14:50 [Music]
15:45 

15:45 Next, add a texture variation node to
15:48 

15:48 all the textures so they don't have any
15:50 

15:50 repetition issues.
16:29 

16:29 [Music]
16:39 

16:39 Now, let's move on to PCG. First, save
16:42 

16:42 your work. Then, go to the plug-in
16:44 

16:44 section and enable it.
16:58 

16:58 Next, create a PG graph and add it to
17:00 

17:00 the scene.
17:10 

17:10 [Music]
17:16 

17:16 [Music]
17:27 

17:27 This time I'm going to make the size
17:29 

17:29 smaller so you can practically see what
17:31 

17:31 the mass does for
17:35 

17:35 [Music]
17:45 

17:45 I import the tree mask and add a get
17:47 

17:47 texture data node. Then assign the mask
17:49 

17:49 to it. To generate points on the
17:51 

17:51 surface, I use a projection node along
17:53 

17:53 with a get landscape data node.
17:56 

17:56 [Music]
18:07 

18:07 [Music]
18:14 

18:14 [Music]
18:21 

18:21 [Music]
18:28 

18:28 [Music]
18:46 

18:46 [Music]
18:48 

18:48 To keep the scene lightweight at this
18:50 

18:50 stage, we use a density filter and noise
18:53 

18:53 to reduce the number of points.
18:59 

18:59 [Music]
19:06 

19:06 [Music]
19:20 

19:20 [Music]
19:47 

19:47 To add some variation, we also include a
19:50 

19:50 transform node and adjust the position,
19:52 

19:52 rotation, and scale values.
20:07 

20:07 Now we increase the size and match the
20:09 

20:09 mask with the scene.
20:11 

20:11 [Music]
20:22 

20:22 [Music]
20:36 

20:36 [Music]
20:45 

20:45 Now we reduce the number of points again
20:47 

20:47 so we can apply trees to them.
21:03 

21:03 [Music]
21:04 

21:04 As an example, we download a free tree
21:07 

21:07 from Fab Market and assign it to the
21:09 

21:09 static mesh spawner.
21:11 

21:11 [Music]
21:19 

21:19 [Music]
21:26 

21:26 [Music]
21:33 

21:33 [Music]
21:44 

21:44 Because the tree is quite heavy. The
21:46 

21:46 scene has slowed down a lot and might
21:48 

21:48 even crash the system. So, we either
21:51 

21:51 need to reduce the number of points,
21:53 

21:53 which would make the scene look less
21:54 

21:54 filled, or use a different tree. I
21:57 

21:57 prefer adding the European hornbeam
21:58 

21:58 asset to the project because it has high
22:01 

22:01 quality and includes lighter tree
22:03 

22:03 models.
22:05 

22:05 [Music]
22:22 

22:22 As you can see, we assign one of the
22:24 

22:24 trees from this collection, which also
22:26 

22:26 comes with animation, to the setup, and
22:29 

22:29 the result looks much more stylish.
22:33 

22:33 [Music]
22:45 

22:45 [Music]
22:53 

22:53 To keep the video from getting too long,
22:56 

22:56 we use the water material from the rural
22:58 

22:58 Australia asset.
23:02 

23:02 We create a large plane and assign the
23:05 

23:05 water material to it.
23:25 

23:25 [Music]
23:36 

23:36 Counter return.
23:40 

23:40 [Music]
23:54 

23:54 [Music]
23:58 

23:58 Now we can add a camera to the scene and
24:00 

24:00 place it wherever we like. We change its
24:02 

24:02 type to DSLR to get a better view.
24:30 

24:30 Hey,
24:38 

24:38 hey, hey.
24:45 

24:45 [Music]
24:58 

24:58 Now I want to make the PCG setup denser
25:00 

25:00 to achieve a richer scene. To do this we
25:03 

25:03 use a create point grid node.
25:21 

25:21 And with the help of the original
25:22 

25:22 points, we use a copy points node to
25:24 

25:24 generate additional points around them.
25:44 

25:44 Because the generated points are quite
25:46 

25:46 large, they're not easily visible. So in
25:50 

25:50 the copy points node, we change the
25:52 

25:52 scale mode to absolute.
26:14 

26:14 Then in the create point grid node, we
26:16 

26:16 set the grid extents to 100 and decrease
26:19 

26:19 the cell size to increase the number of
26:21 

26:21 points.
26:41 

26:41 Now we add a transform points node to
26:43 

26:43 give the points different variations.
26:46 

26:46 [Music]
26:59 

26:59 [Music]
27:16 

27:16 Then by adding a static mesh spawner, we
27:19 

27:19 generate plants around our trees.
27:37 

27:37 Hey,
27:45 

27:45 [Music]
27:49 

27:49 hey,
27:50 

27:50 hey.
28:01 

28:01 [Music]
28:05 

28:05 Hey,
28:09 

28:09 [Music]
28:12 

28:12 hey, hey.
28:17 

28:17 [Music]
28:39 

28:39 [Music]
28:46 

28:46 Next, you can add meshes. is like rocks
28:48 

28:48 or fallen tree trunks. You're seeing
28:55 

28:55 [Music]
29:06 

29:06 [Music]
29:19 

29:19 Beat
29:23 

29:23 [Music]
29:44 

29:44 [Music]
29:55 

29:55 back. Hey, hey, hey.
31:05 

31:05 If a new meshes overlap after adding
31:08 

31:08 them, you can use a difference node in
31:09 

31:09 binary mode to subtract them from each
31:12 

31:12 other.
31:25 

31:25 [Music]
31:39 

31:39 [Music]
32:41 

32:41 [Music]
33:01 

33:01 The area near the shoreline looks a bit
33:03 

33:03 empty. We can go back to GAA, use
33:05 

33:05 another height map, and adjust the range
33:07 

33:07 to create detailed coastline lines.
33:21 

33:21 [Music]
33:35 

33:35 [Music]
33:43 

33:43 [Music]
34:01 

34:01 [Music]
34:07 

34:07 [Music]
34:10 

34:10 Wow. Wow.
34:17 

34:17 Wow,
34:22 

34:22 [Music]
34:46 

34:46 now we Use the new mask in PCG, connect
34:49 

34:49 it to a Git texture data node, and
34:51 

34:51 assign any meshes we like to it.
34:59 

34:59 [Music]
35:06 

35:06 [Music]
35:13 

35:13 [Music]
35:20 

35:20 [Music]
35:37 

35:37 [Music]
35:51 

35:51 [Music]
35:58 

35:58 [Music]
36:12 

36:12 [Music]
36:20 

36:20 Down.
36:27 

36:27 [Music]
36:34 

36:34 Yeah.
36:36 

36:36 Yeah.
37:03 

37:03 [Music]
37:14 

37:14 [Music]
37:28 

37:28 [Music]
37:30 

37:30 To make the scene look nicer, I download
37:33 

37:33 a boat from SketchFab, and I'll share
37:35 

37:35 the link with you as well.
37:39 

37:39 Down.
37:40 

37:40 [Music]
37:60 

37:60 Hello. Hello.
38:03 

38:03 [Music]
38:18 

38:18 [Music]
38:25 

38:25 [Music]
38:29 

38:29 In the camera settings under the
38:31 

38:31 reflection section, I enable lumen and
38:34 

38:34 also So turn on the high quality
38:35 

38:35 translucency options to get better water
38:37 

38:37 quality.
38:39 

38:39 [Music]
38:44 

38:44 You can also add a post-process volume.
38:47 

38:47 And after enabling infinite extent so it
38:50 

38:50 affects the whole scene, use the
38:51 

38:51 midtones and global settings to give the
38:54 

38:54 scene a bluish tone.
38:57 

38:57 [Music]
39:14 

39:14 [Music]
39:36 

39:36 [Music]
39:39 

39:39 If If you want more variety of trees,
39:41 

39:41 you can simply add another option to
39:42 

39:42 their static mesh and assign a different
39:45 

39:45 tree.
40:16 

40:16 [Music]
40:28 

40:28 [Music]
40:34 

40:34 Thanks for watching this video. If you
40:36 

40:36 enjoyed it, don't forget to like,
40:38 

40:38 subscribe, and support the channel so I
40:41 

40:41 can make more content like this. Part
40:43 

40:43 two is coming very soon, so stay tuned.