﻿1
00:00:04,310 --> 00:00:05,510
‫你好, 欢迎｡

2
00:00:05,510 --> 00:00:15,830
‫在这节课中, 我们将把我们的护目镜雕像固定在门凹处, 并在把它插进去时关闭物理模拟｡

3
00:00:15,830 --> 00:00:16,850
‫所以你去那里｡

4
00:00:16,850 --> 00:00:22,580
‫它和门一起掉下去了, 我们可以进入下面的地下室｡

5
00:00:22,580 --> 00:00:24,620
‫让我们来看看它是如何完成的｡

6
00:00:25,390 --> 00:00:31,450
‫所以如果我们在触发器组件中有一个参与者, 一个可接受的参与者,

7
00:00:31,450 --> 00:00:38,710
‫我们希望这个参与者停止模拟物理, 连接到我们的触发器组件上, 和我们一起移动｡

8
00:00:39,160 --> 00:00:41,160
‫我们该怎么做呢？

9
00:00:41,170 --> 00:00:44,590
‫我们需要的函数如下｡

10
00:00:44,590 --> 00:00:48,610
‫我们将需要参与者的函数attach to component｡

11
00:00:48,610 --> 00:01:00,820
‫这使我们可以将一个参与者的根组件附加到另一个组件上, 这意味着参与者随后将随所提供的组件一起移动｡

12
00:01:01,220 --> 00:01:07,470
‫然后我们需要做的另一件事是阻止它模拟物理是在原始组件本身｡

13
00:01:07,480 --> 00:01:09,760
‫有一个功能叫做设置模拟物理｡

14
00:01:09,760 --> 00:01:16,840
‫它接受一个布尔值, 所以你可以把它设置为false, 这样它就停止了, 基本上就停止了被分离｡

15
00:01:16,870 --> 00:01:19,090
‫好吧, 我们找到了拼图的一部分｡

16
00:01:19,090 --> 00:01:22,670
‫我们已经找到了一个可以接受的演员｡

17
00:01:22,690 --> 00:01:29,260
‫现在我们需要得到这个actor的根组件, 看看它是否是一个你的原语组件,

18
00:01:29,260 --> 00:01:34,060
‫因为它不是一个给定的actor在它的根有一个原语组件｡

19
00:01:34,120 --> 00:01:36,760
‫它只需要在其根目录中有一个场景组件｡

20
00:01:37,120 --> 00:01:43,420
‫我们可以这样做, 我们可以转到actor点, 并确保我们在if语句中这样做,

21
00:01:43,420 --> 00:01:48,880
‫我们知道它不是一个指向箭头获取根组件的空指针｡

22
00:01:48,880 --> 00:01:56,150
‫如果我们看一下它的返回类型, 我们可以看到它是一个U seen组件｡

23
00:01:56,170 --> 00:02:04,780
‫这是你的原始组件的父组件, 但这并不意味着该类型实际上是你的原始组件｡

24
00:02:04,900 --> 00:02:07,170
‫那么我们在这种情况下该怎么做呢？

25
00:02:07,180 --> 00:02:14,390
‫我们必须找出是否有一个基本的组件, 我们可以使用一个叫做cast的函数｡

26
00:02:14,410 --> 00:02:18,010
‫同样, 这些函数中的一个使用编译时参数｡

27
00:02:18,010 --> 00:02:21,940
‫所以我们用尖括号给予表示｡

28
00:02:21,940 --> 00:02:30,400
‫我们要把指针转换成一个你的原语组件, 把尖括号括起来, 然后在实际的运行时参数中, 把运行时参数括起来,

29
00:02:30,400 --> 00:02:38,290
‫我们把这个actor包括进去, 得到根组件｡

30
00:02:38,290 --> 00:02:44,770
‫它所做的就是检查这个组件是否是一个原始组件,

31
00:02:44,770 --> 00:02:51,580
‫输出是一个指向原始组件的指针, 或者是一个空指针.

32
00:02:51,580 --> 00:02:55,600
‫如果事实上我们有一个场景组件, 它不是一个基本组件｡

33
00:02:55,600 --> 00:02:58,180
‫因此, 让我们存储该组件指针｡

34
00:02:58,510 --> 00:03:03,850
‫所以它是一个基本的组件指针, 我们称之为组件.

35
00:03:04,510 --> 00:03:08,950
‫在我们使用它之前, 我们需要确保检查它是否为空｡

36
00:03:08,950 --> 00:03:18,570
‫所以我们会说如果组件不等于空指针, 那么我们可以对组件指针做些什么｡

37
00:03:18,580 --> 00:03:22,630
‫所以我想挑战你自己去尝试一下, 设置附件｡

38
00:03:22,630 --> 00:03:28,840
‫你要打开链接中的文档, 试着读一读, 弄清楚你能做什么｡

39
00:03:28,990 --> 00:03:31,660
‫使用执行元附加当前组件｡

40
00:03:31,660 --> 00:03:40,930
‫在C++中, 可以使用this this关键字来获取当前对象的指针｡

41
00:03:40,930 --> 00:03:50,530
‫然后对于第二个参数即函数, 则需要使用F附件变换规则冒号冒号保持世界变换｡

42
00:03:50,530 --> 00:03:54,340
‫如果你想的话, 你可以看一下文档, 看看这意味着什么｡

43
00:03:54,610 --> 00:04:03,640
‫最后, 再次使用我们强制转换的组件禁用物理功能, 使用文档查看是哪个函数和哪些参数｡

44
00:04:03,640 --> 00:04:06,580
‫参数, 以暂停视频, 并有一个去｡

45
00:04:09,700 --> 00:04:10,720
‫欢迎回来

46
00:04:10,750 --> 00:04:13,870
‫首先, 我要用这些组件来禁用物理学｡

47
00:04:13,870 --> 00:04:19,750
‫所以这将是一个组件箭头集合, 模拟物理｡

48
00:04:20,700 --> 00:04:21,540
‫假的｡

49
00:04:21,570 --> 00:04:26,970
‫看起来我的转换行的末尾缺少了一个分号, 所以我们也把它放在那里｡

50
00:04:27,300 --> 00:04:29,970
‫然后我们要把演员接上｡

51
00:04:29,970 --> 00:04:35,460
‫所以它将是一个参与者箭头连接到组件上｡

52
00:04:36,120 --> 00:04:38,850
‫我们把它连接到这个部件上｡

53
00:04:38,850 --> 00:04:41,910
‫让我们来看看第二个参数｡

54
00:04:41,910 --> 00:04:47,310
‫我们有这个F附加的转换规则类型, 它显然是一个结构体,

55
00:04:47,310 --> 00:04:50,220
‫它基本上告诉我们应该如何处理这个附加｡

56
00:04:50,220 --> 00:04:53,340
‫这里有几个预制的｡

57
00:04:53,340 --> 00:04:59,190
‫我们已经得到了堆相对变换, 当我们附加对象时, 它实际上会移动对象｡

58
00:04:59,190 --> 00:05:00,330
‫所以我们不想那样｡

59
00:05:00,750 --> 00:05:03,510
‫我们想要是保持世界转变

60
00:05:03,510 --> 00:05:04,950
‫所以我们要用它｡

61
00:05:05,490 --> 00:05:16,470
‫所以它的F附件转换规则是冒号, 冒号保留世界转换, 在那一行的末尾放一个分号, 重新编译｡

62
00:05:16,500 --> 00:05:17,100
‫就这样了｡

63
00:05:17,100 --> 00:05:25,410
‫让我们跳到编辑器, 继续点击播放, 抓住我们的石像鬼, 把他插到凹室｡

64
00:05:25,830 --> 00:05:36,210
‫你可以看到他已经和地板一起下去了地板已经完全穿过了让我们可以进入我们的地下室｡

65
00:05:36,210 --> 00:05:37,800
‫很棒的东西｡

66
00:05:37,800 --> 00:05:47,130
‫所以在这节课上, 我们学习了参与者和组件之间的连接, 以及我们如何进行类型转换｡

67
00:05:47,130 --> 00:05:51,000
‫如果字体是可转换的, 我们下节课见｡

