WEBVTT

00:06.950 --> 00:08.000
Welcome back.

00:08.000 --> 00:10.610
So we have the ability to fade things out.

00:10.610 --> 00:13.360
And that's because we made a fade actor.

00:13.370 --> 00:19.580
If we call fade out and fade in, we'll see that we fade out and fade in, and that's great.

00:19.580 --> 00:22.870
But now we need to know when we should fade out, right?

00:22.880 --> 00:25.220
So we're going to handle that in this video.

00:25.250 --> 00:31.760
Now, one thing I'd like to do is just really quick make sure that my fireballs will explode on our

00:31.760 --> 00:37.190
fade actor and that our mouse click is not going to hit our fade.

00:37.190 --> 00:43.100
Actor So we're going to take our mesh and we're going to make sure to set its collision presets.

00:43.100 --> 00:45.050
So we're going to change it to custom.

00:45.140 --> 00:51.500
It's going to be blocking the projectile and ignoring visibility and camera.

00:51.500 --> 00:58.340
And that way if we click on our Fade Actor, we'll just go behind it or go up to it, right?

00:58.340 --> 01:02.120
But if we launch a fireball, it'll blast it.

01:03.420 --> 01:09.090
Okay, so we want our fade actor to fade out when we're behind it.

01:09.180 --> 01:16.530
Essentially, when it's blocking our view of aura, we don't want to see it when it's in the way.

01:16.620 --> 01:23.360
And by the way, I think I'm actually setting it to block visibility when it fades back in.

01:23.370 --> 01:24.660
So that's fine.

01:24.810 --> 01:32.490
But we want a way to call these events in our fade actor fade out and fade in.

01:32.490 --> 01:38.100
And I want to do that from our character because it's our character that's going to go behind it.

01:38.220 --> 01:46.770
Now, I don't want my character to be dependent on the fade actor, so a good way to avoid that dependency

01:46.800 --> 01:49.070
is to make an interface.

01:49.080 --> 01:52.560
So I'm going to actually browse to my fade actor.

01:53.840 --> 01:57.430
And right next to it, I'm going to make a blueprint interface.

01:57.440 --> 02:05.420
So we'll go to Blueprint, Choose Blueprint Interface, and we're going to call this B, I underscore

02:05.420 --> 02:08.630
fade for a fade interface.

02:09.020 --> 02:16.760
We can even call it fade interface if we like and fade interface will have two functions fade out and

02:16.760 --> 02:17.660
one more.

02:18.740 --> 02:19.650
Fade in.

02:19.670 --> 02:22.910
So all we do is just add two functions here and that's it.

02:22.910 --> 02:25.780
And we need our fade actor to implement it.

02:25.790 --> 02:31.610
So we do that by going to class settings under interfaces and implemented interfaces.

02:31.610 --> 02:32.810
We have a dropdown.

02:32.810 --> 02:35.270
Here's by fade interface.

02:35.540 --> 02:40.970
Now that we implement it, I'm going to hit compile and now we see found more than one function with

02:40.970 --> 02:45.380
the same node because we have these custom events fade out and fade in.

02:45.410 --> 02:50.480
We're going to delete those because now we're going to have our own fade out and fade in that we're

02:50.480 --> 02:53.090
inheriting from the fade interface.

02:53.090 --> 02:57.980
So we're going to right click type fade out and we're going to get our event fade out.

02:57.980 --> 03:04.790
That's our interface and we're going to right click, get Fade In and there's our event fade in.

03:04.790 --> 03:07.400
We're going to put that into the reverse, right?

03:07.670 --> 03:13.430
And now we have these interface functions and we need to call these when something is blocking our view

03:13.430 --> 03:14.340
of aura.

03:14.360 --> 03:19.340
So for that reason, I'm going to go ahead and close everything else except for my fade actor and I'm

03:19.340 --> 03:20.630
going to open Aura.

03:20.630 --> 03:22.700
So we're going to go to blueprints.

03:24.000 --> 03:26.940
Character or a BP or a character.

03:26.940 --> 03:28.650
And we're going to add something here.

03:29.040 --> 03:34.410
So I'd like a blocking volume, something right here between the camera and aura.

03:34.410 --> 03:39.060
And we can use this to know when we should fade in and out.

03:39.270 --> 03:45.760
So I'm going to have this attached to my spring arm, and that way it'll be oriented correctly.

03:45.780 --> 03:52.530
So with my spring arm selected, I'm going to search for box, get a box collision, and here's my box

03:52.530 --> 03:55.320
collision and I'm going to drag it down a bit.

03:55.320 --> 04:01.320
So it's kind of in between about like this and I can change the box extent.

04:01.620 --> 04:03.930
So here is the length of it.

04:03.930 --> 04:05.700
I'm going to make it a bit longer.

04:06.530 --> 04:09.170
Turning off, snapping so I can move it around.

04:09.530 --> 04:19.130
And I'm going to go to perspective and front because I want this box to be less wide than my capsule.

04:19.160 --> 04:25.250
That way, if I'm right up against a wall, this box won't be fading that wall out.

04:25.250 --> 04:28.970
But as soon as I go behind the wall, that's when I want to fade out.

04:28.970 --> 04:33.140
So it's going to be slightly less wide than my capsule.

04:33.970 --> 04:35.950
Going back to perspective mode.

04:36.100 --> 04:43.450
And if I'm looking at my character from the camera's point of view, as soon as something obstructs

04:43.450 --> 04:49.150
the character from the top or the bottom, that's when I want to fade it out.

04:49.510 --> 04:56.200
So of course this will probably take a little bit of tweaking, but I'm going to make my geometry look

04:56.200 --> 04:57.430
about like that.

04:57.850 --> 05:01.540
And now I have something that I can use to fade things out.

05:01.540 --> 05:03.400
So I'm going to go to my event graph.

05:04.160 --> 05:08.630
And down here, I'm going to move unused nodes out of the way.

05:09.620 --> 05:15.650
And I'm going to take my box right click and use on component began overlap.

05:17.420 --> 05:24.490
And on overlap, I want to check the other actor to see if it implements the interface that fade interface.

05:24.490 --> 05:26.000
So I'm going to say implements.

05:27.090 --> 05:32.220
And choose does implement interface searching for by fade interface.

05:32.890 --> 05:34.770
And if we do, we'll have a branch.

05:34.780 --> 05:42.970
If we do get that interface, then we're going to right click and call Fade out.

05:45.080 --> 05:46.970
And we'll just fade out that actor.

05:46.970 --> 05:52.340
So we're going to have to bring that other actor straight into that fade out function call.

05:53.680 --> 05:54.010
Mike.

05:54.010 --> 05:54.490
So.

05:55.700 --> 06:01.790
Now, what does our famed actor Mash have as its object type, its world dynamic?

06:01.790 --> 06:02.420
Really?

06:02.420 --> 06:03.770
This could be world static.

06:03.800 --> 06:05.180
We're going to change it to that.

06:05.180 --> 06:11.000
And here in Aura Character, we're going to take our box and ignore everything except for world static.

06:11.000 --> 06:17.300
So we're going to change it to custom ignore all and we're going to overlap with world static and make

06:17.300 --> 06:19.880
sure we're generating overlap events which we are.

06:19.910 --> 06:25.280
The box should be query only and the box itself can be world dynamic as it will be moving around with

06:25.280 --> 06:28.880
aura and the fade actor is world static.

06:28.910 --> 06:35.570
It is set to generate overlap events and it blocks all but visibility and camera, so that'll work.

06:36.150 --> 06:38.340
So that's for begin overlap.

06:38.340 --> 06:40.140
But what about end overlap?

06:40.140 --> 06:46.620
So we're going to use on component end overlap with our box selected and we're going to copy does implement

06:46.620 --> 06:49.260
interface using the other actor.

06:49.260 --> 06:51.060
We're going to have a branch for that.

06:51.060 --> 06:54.840
And if it does implement the interface, we're going to call fade in.

06:54.990 --> 06:59.130
So fade in and then we'll reverse that timeline.

06:59.310 --> 07:02.040
And of course, we have to take that other actor.

07:04.850 --> 07:06.350
And hook it on in.

07:08.540 --> 07:09.920
Like so.

07:11.640 --> 07:12.090
Okay.

07:12.090 --> 07:19.080
So the last thing to do is test out how this all works and to make things easier, I'm going to take

07:19.080 --> 07:24.690
this fade actor and blow it up to a bigger size and press play.

07:25.630 --> 07:27.490
And we can run behind it.

07:27.940 --> 07:28.840
There it goes.

07:28.840 --> 07:31.330
It fades out, comes back in.

07:35.100 --> 07:41.190
And I think I don't really want to block visibility, right, because now I can't really go behind it.

07:41.190 --> 07:47.970
So what I'm going to do is actually go into our fade finished function and remove this function call

07:47.970 --> 07:53.760
to set collision response to channel as we should just ignore visibility.

07:53.760 --> 07:58.620
So we're going to go ahead and just leave it at ignore and remove those function calls.

08:01.350 --> 08:02.670
Pressing play.

08:02.820 --> 08:05.610
Now we can move behind it and it fades out.

08:07.120 --> 08:07.750
Great.

08:11.910 --> 08:14.370
Okay, so this is looking pretty good.

08:14.400 --> 08:18.300
One issue that I don't like is the shadows look a little weird.

08:18.330 --> 08:24.150
They can kind of flicker a bit so shadows don't really play nice with this whole fade out mechanic when

08:24.150 --> 08:26.280
we're using a masked material.

08:26.280 --> 08:30.810
So for that reason, I'd like all my fade actors to not cast shadows.

08:30.810 --> 08:35.880
So I'm going to take my mesh search for cast and uncheck cast shadow.

08:35.880 --> 08:40.950
And now this is going to look a lot better when it fades out and it's going to look like it doesn't

08:40.950 --> 08:41.640
exist.

08:42.820 --> 08:46.020
And we can always tweak this timeline.

08:46.030 --> 08:50.590
I kind of like a shorter fade out, like 0.4 seconds.

08:50.590 --> 08:57.340
So I'm going to take my second key and set its time to 0.4 and set my length to 0.4 for my timeline.

08:57.340 --> 08:59.560
Not four, but 0.4.

09:00.520 --> 09:03.340
And see how this looks with a faster fade out.

09:04.300 --> 09:05.440
I like that better.

09:07.990 --> 09:12.850
And now we can make all of our other actors in our world fade actors.

09:12.970 --> 09:20.290
So instead of using a regular SM tile, three by three by nine, I'm going to right click and select

09:20.290 --> 09:23.890
edit it, and notice that this one has two materials.

09:23.890 --> 09:28.870
So we're going to have to make those fade materials and material instances for both of these.

09:28.870 --> 09:36.850
So I'm going to browse to tile set one right, click on it, duplicate it, call this tile set one underscore

09:36.880 --> 09:43.510
F, I'm going to open it up and we need that material parameter I can hold s and left click to get a

09:43.510 --> 09:46.330
material parameter and call it fade.

09:46.870 --> 09:48.580
And we need to run this.

09:48.580 --> 09:55.360
I'm going to set its default value to one and we need to run this through a dither temporal AA and hook

09:55.390 --> 09:55.810
that in.

09:55.810 --> 10:01.900
But we have to change this material type to masked in order to get that opacity mask.

10:02.490 --> 10:08.640
Now we can apply that and we can go ahead and make ourselves a material instance from it.

10:09.180 --> 10:12.900
And now that we have that, we can use those in a new fade actor.

10:12.900 --> 10:17.850
But before we do that, I'm going to do the same thing for the second material, so I'll browse to it.

10:18.470 --> 10:20.150
Go ahead and duplicate it.

10:20.180 --> 10:23.840
Call this tile set two Underscore f.

10:23.930 --> 10:25.190
Open it up.

10:25.900 --> 10:33.730
And I'm going to take these two nodes from my tile set, one F, copy them over here, change this material

10:33.730 --> 10:43.900
to masked and hook that into opacity mask and apply save and we can make this into a material instance.

10:44.230 --> 10:52.450
So now that we've done those steps, we can make a new fade actor and the fade actor is what I'm going

10:52.450 --> 10:55.540
to use as our base class for all fade actors.

10:55.540 --> 11:02.380
We're going to create a child class based on this so we can browse to it and we can right click on it

11:02.380 --> 11:04.780
and create a child blueprint class.

11:04.780 --> 11:09.070
And I can prefix our fade actors with f A So look at that.

11:09.070 --> 11:12.280
We're creating our own custom prefixes.

11:12.280 --> 11:13.270
How fancy.

11:13.270 --> 11:17.170
And I'm going to use the same naming conventions as our static meshes.

11:17.170 --> 11:22.840
I'm just replacing them with f A So we'll have a tile three by three by two.

11:22.870 --> 11:24.460
That's now a fade actor.

11:24.460 --> 11:34.520
So we're going to say SM tile underscore 3X3X2, and that way it'll be the same as this one.

11:34.520 --> 11:36.800
So I'm going to open up my new fade actor.

11:36.920 --> 11:43.490
I'm going to close my old fade actor for now, and with my new fade actor, I need to change some things.

11:43.730 --> 11:50.660
I'm going to go to the mesh and change it to this mesh that I want to use so I can browse to this one.

11:50.690 --> 11:53.060
Make sure it's selected in the Outliner.

11:53.090 --> 11:56.120
Go back to my new fade actor, hit the left arrow.

11:56.120 --> 11:58.970
So now we're using this mesh.

12:00.920 --> 12:08.450
Which is using these two materials and we need to go down into original materials or actually our fade

12:08.450 --> 12:10.460
material instances actually.

12:10.460 --> 12:18.260
And I need to hit the trashcan and instead use the two material instances that we created.

12:18.380 --> 12:22.610
Now one of them is Tileset one F, and these have to be in order.

12:22.610 --> 12:25.370
So Tileset one F first.

12:26.050 --> 12:31.000
As that's the first material here, so I'm going to add that to the array.

12:31.210 --> 12:34.990
So tile set one F, we have to use the instance.

12:34.990 --> 12:38.950
So making sure the instance is selected, add that to the array.

12:38.950 --> 12:44.350
And now the second one that's tile set to F, but the instance.

12:44.350 --> 12:48.670
So I need to browse to it and select the instance and add that to the array.

12:48.670 --> 12:49.930
So we have those two.

12:50.380 --> 12:51.010
Okay.

12:51.010 --> 12:56.260
So now that we have our fade material instances set, we can bring in one of these.

12:56.260 --> 13:03.630
I'm going to take the actual static mesh and delete it and bring in our new tile.

13:04.120 --> 13:06.220
I'm going to browse to it and bring it in.

13:09.850 --> 13:14.920
Put it in place and delete the others and replace them with the new one.

13:14.920 --> 13:21.310
And of course we can flip it around if we don't want to have these all look the same.

13:21.310 --> 13:25.390
So I'm going to go ahead and duplicate them, flip them around a bit.

13:28.840 --> 13:32.020
And make sure these are all paid actors.

13:34.500 --> 13:36.570
So flipping them around.

13:37.640 --> 13:41.000
And replacing old ones.

13:42.620 --> 13:43.640
Like so.

13:46.570 --> 13:52.500
Okay, so we have these fade actors and I'd like to put all my fade actors into the same folder.

13:52.510 --> 13:59.230
So I'm going to select my fade actors right click move to create new folder, and I'm just going to

13:59.230 --> 14:03.880
click the folder, click it again and rename it to Fade actors.

14:04.780 --> 14:08.830
So now I'll have fade actors and they're different than my dungeon meshes.

14:09.490 --> 14:14.070
Now that I have made actors for these, I can test this out.

14:15.590 --> 14:16.400
Saving all.

14:16.400 --> 14:17.150
First.

14:17.450 --> 14:19.160
I can run beneath here.

14:20.470 --> 14:22.010
And they fade out.

14:22.030 --> 14:22.930
Look at that.

14:25.850 --> 14:27.500
How cool is that?

14:28.660 --> 14:32.740
And you can also just change the size of that box whenever you want to.

14:38.020 --> 14:38.970
Excellent.

14:38.980 --> 14:40.400
Really nice.

14:40.420 --> 14:42.880
This is such a good touch.

14:42.900 --> 14:45.520
Now, of course, these aren't fade actors, right?

14:45.520 --> 14:48.010
So we can easily change that.

14:48.010 --> 14:52.470
This one is three by three, three by three by two.

14:52.480 --> 14:56.920
So I can delete that and just replace it with one of my fade actors.

14:58.730 --> 15:02.120
And then we can make a fade actor for the stairs.

15:02.390 --> 15:05.330
So I'd like you to do this on your own.

15:05.600 --> 15:08.630
Go ahead and make a fade actor for the stairs.

15:08.660 --> 15:10.490
It's got multiple materials.

15:10.490 --> 15:13.610
If you right click and edit it, you'll see that it has four.

15:13.640 --> 15:19.730
So pause the video here, make a fade actor for the stairs and then come back and we'll do it together.

15:22.950 --> 15:26.310
Okay, so we need an A stairs, right?

15:26.310 --> 15:30.600
So I'm going to go browse to my fade actor folder.

15:30.630 --> 15:34.740
Right click on BP Fade Actor, Create a child blueprint class.

15:34.740 --> 15:37.890
Call this FA underscore stairs.

15:39.890 --> 15:42.440
Open that up and we're going to change the mesh.

15:42.680 --> 15:44.500
So we need some stairs.

15:44.510 --> 15:45.920
Browse to it.

15:45.950 --> 15:47.250
Change the mesh.

15:47.270 --> 15:48.680
That's step one.

15:48.680 --> 15:53.630
And we also need dynamic materials for all four of these.

15:53.630 --> 15:55.210
So we'll start with the rail.

15:55.220 --> 15:56.540
We'll browse to it.

15:56.570 --> 15:58.130
We'll duplicate it.

15:58.160 --> 16:01.220
We'll call this rail underscore F.

16:02.490 --> 16:05.130
Change this to a masked material.

16:07.070 --> 16:11.700
Let's see if I still have these nodes copied and I still do, which is amazing.

16:11.720 --> 16:18.800
Stick those into opacity mask and apply and just make a material instance out of it and we're done for

16:18.830 --> 16:19.590
that one.

16:19.610 --> 16:20.960
So that's rail.

16:20.990 --> 16:28.460
Now we have the column, so we'll do the same thing, duplicate, make the fade version.

16:29.180 --> 16:30.800
Change it to masked.

16:34.050 --> 16:36.630
Hook up these nodes to opacity mask.

16:36.930 --> 16:37.920
Apply.

16:38.730 --> 16:40.140
Make an instance.

16:41.590 --> 16:44.770
There's two now for the pillars.

16:45.130 --> 16:46.600
Duplicating it.

16:47.830 --> 16:49.030
Renaming.

16:49.690 --> 16:51.490
Changing to masked.

16:53.210 --> 16:54.560
Adding our nodes.

16:56.170 --> 16:57.130
Apply.

16:57.940 --> 16:59.830
Create a material instance.

17:00.010 --> 17:03.610
And then finally, our fourth material, the steps.

17:04.290 --> 17:05.820
We're going to duplicate.

17:09.170 --> 17:11.210
Rename to underscore f.

17:11.240 --> 17:13.580
Change it to masked.

17:14.330 --> 17:18.470
Paste in those nodes for the opacity mask.

17:19.810 --> 17:23.080
Create a material instance and I'm going to click Save All.

17:23.700 --> 17:25.230
And save all that work.

17:26.520 --> 17:33.900
So now I have material instances that I need to set in the order of rail columns, rims, pillars and

17:33.900 --> 17:34.560
steps.

17:34.560 --> 17:44.040
So here in my fade actor, I can go down to my fade material instances and add four elements.

17:44.890 --> 17:48.160
And we have again, order matters here.

17:48.160 --> 17:50.020
So we need the rail first.

17:50.320 --> 17:52.210
So rail inst.

17:53.280 --> 17:54.300
First.

17:54.990 --> 17:57.890
Next, we need columns, rims.

17:57.900 --> 17:59.340
We'll use the insert.

18:02.830 --> 18:03.310
Next.

18:03.310 --> 18:05.110
We need our pillars.

18:08.360 --> 18:11.030
So we'll choose that, set that.

18:11.120 --> 18:13.580
And finally, we need our stairs.

18:15.320 --> 18:17.990
So setting that material instance as well.

18:18.680 --> 18:22.400
And now we have a stairs fade actor So kind of a lot of steps.

18:22.400 --> 18:26.390
It's kind of a pain because of what we're using for our materials.

18:26.390 --> 18:33.650
But once you got the process down, it's pretty easy to get a new fade actor and we can take this stairs.

18:33.650 --> 18:37.220
Actor I'm actually going to copy its transform.

18:38.040 --> 18:39.030
Its location.

18:39.030 --> 18:40.980
I'm going to copy that and then delete.

18:41.780 --> 18:45.880
And then bring in my new fade actor for stairs.

18:45.890 --> 18:52.520
I'm going to browse to it, bring it in, and then right click on its location and paste so it's right

18:52.520 --> 18:53.690
there in place.

18:54.500 --> 18:55.700
I'm going to save all.

18:55.700 --> 18:58.280
And now let's see if it fades out.

19:02.550 --> 19:03.660
And it does.

19:03.900 --> 19:07.180
And of course, we have one more thing, the rail.

19:07.200 --> 19:07.800
Right.

19:07.800 --> 19:11.340
So let's just make a corner railing fade actor really quick.

19:11.340 --> 19:13.050
I'm going to time lapse this one.

19:38.070 --> 19:41.220
Okay, so I've made a fade actor for this one.

19:41.430 --> 19:45.870
So I'm going to take this actor and copy its location.

19:45.990 --> 19:48.210
It has a rotation of zero.

19:48.300 --> 19:57.390
I can delete that and I can bring in my new fade actor and right click on location and paste and it's

19:57.390 --> 20:00.570
there and we can test it out.

20:02.880 --> 20:04.800
So pressing play.

20:05.100 --> 20:10.440
Let's go behind some things and they fade out.

20:10.680 --> 20:13.140
They fade in and out.

20:26.160 --> 20:34.080
So I'd like them to fade back in as soon as I'm just about above it so I can just really quickly adjust

20:34.080 --> 20:38.700
my characters box so it doesn't have to be quite so low.

20:39.670 --> 20:41.020
I'm going to bring it up a little bit.

20:41.050 --> 20:41.560
Turning off.

20:41.560 --> 20:42.460
Snapping.

20:44.230 --> 20:48.070
And let's see if we can zero in on the right dimensions.

20:48.070 --> 20:50.440
This doesn't have to be that large.

21:04.300 --> 21:04.990
There we go.

21:04.990 --> 21:08.890
And as soon as I get just obstructed, it fades out.

21:08.890 --> 21:12.000
And as soon as I'm no longer obstructed, it fades back in.

21:12.010 --> 21:18.100
So a smaller box can give you a sort of tighter window for fading in and out.

21:21.730 --> 21:24.460
So right here is the rail.

21:25.390 --> 21:29.500
And as soon as it obstructs me, then it fades out.

21:30.520 --> 21:34.270
And as soon as it's no longer obstructing, it fades back in.

21:34.300 --> 21:35.890
That's the behavior I want.

21:41.360 --> 21:42.230
Perfect.

21:42.920 --> 21:43.460
Excellent.

21:43.460 --> 21:45.050
This is a really nice effect.

21:45.050 --> 21:48.740
So it's a really good feature to have for a top down game.

21:48.740 --> 21:50.270
And now we have it.

21:50.420 --> 21:51.350
Awesome.

21:51.500 --> 21:53.740
This isn't a fade actor, is it?

21:53.750 --> 21:55.790
But it could easily be one.

21:56.820 --> 21:58.530
We can just take one of these.

21:59.440 --> 22:01.000
And bring it on over.

22:04.000 --> 22:10.060
Now, one last thing I'd like is to be able to choose whether or not my fade actor blocks visibility

22:10.060 --> 22:13.260
as I don't want these pillars to block visibility.

22:13.270 --> 22:15.070
I want to be able to run around them.

22:15.070 --> 22:20.800
But I do want to be able to click on the staircase and we can't really run to it.

22:20.800 --> 22:25.030
I mean, we can, but it's acting like we're clicking behind it.

22:25.030 --> 22:33.340
So I'd like to have like a boolean that we can set that allows us to block visibility at least when

22:33.340 --> 22:33.970
visible.

22:33.970 --> 22:38.590
So back to our parent blueprint in Actor.

22:39.310 --> 22:39.910
Fade.

22:39.910 --> 22:40.510
Actor.

22:41.050 --> 22:41.800
Fade Actor.

22:41.800 --> 22:49.930
I'm going to go back into fade finished and replace that call that we had where we took our mesh and

22:49.930 --> 22:55.660
we called set collision response to channel choosing our visibility channel.

22:55.660 --> 23:02.560
So if we're finishing our fade and our fade is greater than or equal to one, that means we just faded

23:02.560 --> 23:03.640
back in.

23:03.640 --> 23:07.300
So I'd like to block visibility in that case.

23:07.300 --> 23:15.040
And if we're fading out, if our fade amount is zero, then we're going to ignore visibility.

23:16.430 --> 23:20.720
But I only want to do this if we have a boolean set.

23:20.720 --> 23:24.350
So otherwise we don't want to ever block it.

23:24.350 --> 23:32.810
So what we can do is we can have a branch here and promote the boolean to a variable called block visibility

23:33.920 --> 23:36.320
and we'll block visibility.

23:36.350 --> 23:43.550
If that's true, and we don't need to check it when we're setting it to not block visibility.

23:43.550 --> 23:47.090
But if you don't want to make that unnecessary function call, you could check it.

23:47.090 --> 23:48.470
So we could just have it there.

23:51.160 --> 23:59.560
So as long as my stairs themselves have their default for their mesh set to block visibility, we're

23:59.560 --> 24:00.250
good.

24:00.250 --> 24:05.640
And I'd like this piece of geometry here to also block visibility.

24:05.650 --> 24:08.050
So we're going to go to this one.

24:08.050 --> 24:10.750
I'm going to go ahead and browse to the asset.

24:11.420 --> 24:12.530
Open it up.

24:13.120 --> 24:19.240
We're going to set block visibility to true for this and make sure the mesh is set to block visibility

24:19.240 --> 24:20.470
by default.

24:20.770 --> 24:22.030
And it is.

24:24.530 --> 24:28.640
Okay, so if we click on the stairs, we go on to the stairs.

24:28.640 --> 24:31.190
If we click up here, we go up there.

24:33.520 --> 24:36.490
And we can still fade these things out.

24:40.920 --> 24:46.620
And it looks like I don't want these to block visibility, so I'm going to select them.

24:47.940 --> 24:50.910
Make sure that their meshes don't block visibility.

24:58.420 --> 25:02.020
And I want my boolean here to be exposed.

25:03.230 --> 25:06.980
And I'm going to uncheck that and I'll just duplicate this.

25:14.050 --> 25:15.550
So these other.

25:16.720 --> 25:20.170
Blocks also don't block visibility.

25:22.640 --> 25:23.570
There we go.

25:27.130 --> 25:27.820
Okay.

25:27.820 --> 25:35.230
And these two also should not block visibility, so they won't.

25:43.210 --> 25:45.520
And they still block the fireball, of course.

25:46.340 --> 25:47.210
Perfect.

25:48.280 --> 25:50.280
All right, So things are looking good.

25:50.290 --> 25:54.250
I don't feel like I need this extra aura mesh in there.

25:54.250 --> 25:57.130
And with that, we're ready to continue.

25:57.160 --> 25:59.890
I'll see you in the next video.
