﻿1
00:00:04,350 --> 00:00:05,400
‫你好, 欢迎｡

2
00:00:05,400 --> 00:00:10,830
‫在这节课中,

3
00:00:10,830 --> 00:00:16,410
‫我们会尝试更多地了解这些向量结构体, 以及支持它们的数学原理,

4
00:00:16,410 --> 00:00:22,110
‫这样在课结束时, 你们会对向量的加法和减法, 以及它们与浮点数的乘法感到轻松自如｡

5
00:00:22,110 --> 00:00:23,160
‫我们开始吧｡

6
00:00:24,230 --> 00:00:30,470
‫所以很快, 我们就要开始把冲量设定在正确的旋转方向上｡

7
00:00:30,470 --> 00:00:37,400
‫但在此之前, 我们需要对矢量背后的数学有更多的了解｡

8
00:00:37,430 --> 00:00:43,670
‫现在, 在这个视频中, 我将给你们一个关于向量数学的短暂的旅程｡

9
00:00:43,670 --> 00:00:52,520
‫但是如果你想要一些更深入的解释, 那么我们有一整套关于游戏开发的数学课程, 我强烈推荐｡

10
00:00:52,670 --> 00:00:59,960
‫向量本质上是一个数学概念, 当你把它归结为它们的实际含义时, 它们是相当简单的｡

11
00:00:59,990 --> 00:01:10,010
‫向量只是3D空间中的一个方向, 它是一个大小, 或者用数学术语来说, 是一个大小｡

12
00:01:10,310 --> 00:01:18,110
‫现在这一切都很好, 但当它真正在计算机上以编程方式表示时, 它甚至更简单｡

13
00:01:18,110 --> 00:01:25,010
‫它本质上就是三个浮点数, X, A, Y, Z分量,

14
00:01:25,010 --> 00:01:28,010
‫完美地代表了一个三维向量｡

15
00:01:28,010 --> 00:01:33,920
‫让我们来看看二维空间中的矢量, 因为这里有一个二维屏幕｡

16
00:01:33,920 --> 00:01:36,020
‫我给你看会更容易些｡

17
00:01:36,200 --> 00:01:45,590
‫假设我们有一个X和Y分量, 我们从00开始｡  在这个例子的右上角｡

18
00:01:45,950 --> 00:01:50,600
‫我们想在这个二维空间中定位一个角色｡

19
00:01:50,600 --> 00:02:02,090
‫我们可以有一个位置向量, 它指向角色的位置, 长度从00开始｡

20
00:02:02,090 --> 00:02:02,090
‫一直到角色的位置｡

21
00:02:02,090 --> 00:02:05,330
‫这可以被分解成它的组成部分｡

22
00:02:05,330 --> 00:02:13,670
‫所以你可以有一个X部分和一个Y部分, 就像你可能期望的那样, 以及我们在虚幻中的水平是如何做的｡

23
00:02:13,670 --> 00:02:18,920
‫现在我们能做的就是把一个运动向量应用到这个位置向量上, 这样我们就能得到另一个向量,

24
00:02:18,920 --> 00:02:26,240
‫它有这个方向和这个大小, 我们可以把这两个向量加在一起, 得到一个新的位置,

25
00:02:26,240 --> 00:02:29,810
‫就像这样｡

26
00:02:29,810 --> 00:02:34,190
‫所以这看起来像这样, 基本上是位置加上移动向量｡

27
00:02:34,190 --> 00:02:39,260
‫所以把这两个向量加在一起, 得到一个新的位置向量｡

28
00:02:39,260 --> 00:02:44,810
‫在数学层面上, 我们只是简单地得到新的位置｡

29
00:02:44,810 --> 00:02:53,540
‫我们把原始位置的X位置加起来, 加上移动的X位置, 再加上Y位置｡

30
00:02:53,540 --> 00:02:58,260
‫让我们再多看一下向量的加法和减法｡

31
00:02:58,340 --> 00:03:06,560
‫实际上我们是说如果我们有一个像这样的向量A和一个像这样的向量B, 那么把它们加在一起就给予了这个向量｡

32
00:03:06,560 --> 00:03:15,890
‫假设我们把它们加在一起得到一个向量C, 那么向量C就是一个指向目的地的箭头｡

33
00:03:15,890 --> 00:03:21,830
‫基本上, 你把这些向量首尾相连, 所以你的顺序并不重要｡

34
00:03:21,830 --> 00:03:24,020
‫顺便说一下, 你可以把B放在第一位, 也可以把a放在第一位｡

35
00:03:24,050 --> 00:03:31,250
‫你会得到同样的位置, 向量C, 它直接指向最终的目的地,

36
00:03:31,250 --> 00:03:36,470
‫就像走捷径一样, 减法非常相似｡

37
00:03:36,470 --> 00:03:42,680
‫如果你得到了这样的向量A和向量B,

38
00:03:42,680 --> 00:03:49,580
‫那么减法只需要取一个负向量B, 它是一个指向与法向量B相反方向的向量,

39
00:03:49,580 --> 00:03:57,560
‫然后你可以继续把它们加在一起, 就像这样, 向量C指向这个位置｡

40
00:03:57,560 --> 00:04:03,920
‫现在让我们来看看向量乘法, 特别是将向量乘以浮点数｡

41
00:04:03,950 --> 00:04:10,100
‫如果我们把a乘以2, 给予向量B, 会发生什么？

42
00:04:10,340 --> 00:04:14,090
‫在这种情况下,

43
00:04:14,090 --> 00:04:19,460
‫它实际上是相当简单的, 因为你所要做的就是把两个向量A加在一起, 得到一个两倍长的向量B｡

44
00:04:19,460 --> 00:04:26,660
‫它的大小是向量A的两倍, 事实上, 这里你不需要被限制为整数｡

45
00:04:26,660 --> 00:04:30,350
‫你可以有一半的向量, a的长度是它的一半｡

46
00:04:30,350 --> 00:04:37,880
‫你可以有5个｡  向量A的值是5｡

47
00:04:37,880 --> 00:04:40,400
‫6倍于向量A的长度, 但方向最终不会改变｡

48
00:04:40,400 --> 00:04:42,740
‫它将始终具有相同的向量方向｡

49
00:04:42,740 --> 00:04:46,490
‫所以让我向你们挑战来个寻宝游戏｡

50
00:04:46,490 --> 00:04:49,550
‫我定义了A, B, C向量.

51
00:04:49,550 --> 00:04:53,960
‫我已经给了你一个直观的表示, 箭头是一个方向上的大小｡

52
00:04:53,960 --> 00:05:00,260
‫我也给了你们它们的数值表示,

53
00:05:00,260 --> 00:05:10,580
‫我想让你们做的是, 假设我们的角色在这里, 在我们的xy轴网格上,

54
00:05:10,580 --> 00:05:19,670
‫我们得到了这里给出的神秘寻宝方向, 我们得到了正三乘B-C, 这就是你们能找到宝藏的地方｡

55
00:05:19,670 --> 00:05:23,510
‫看看你能不能弄清楚这个角色该往哪里走｡

56
00:05:23,820 --> 00:05:27,360
‫要找到宝藏, 暂停视频, 然后尝试一下｡

57
00:05:31,690 --> 00:05:32,140
‫好吧, 我会的

58
00:05:32,140 --> 00:05:32,610
‫欢迎回来｡

59
00:05:32,620 --> 00:05:35,590
‫首先, 我们把A加进去｡

60
00:05:35,620 --> 00:05:41,530
‫我们不需要做任何乘法运算, 所以我们可以把A加到这里.

61
00:05:41,530 --> 00:05:47,740
‫然后我们要加上B, 但是我们要加三次因为它乘以了三然后我们要减去C,

62
00:05:47,740 --> 00:05:52,810
‫所以我们要往负的方向去, 或者C或者你可以看到我把箭头放反了,

63
00:05:52,810 --> 00:05:57,730
‫所以头对头而不是头对尾｡

64
00:05:57,730 --> 00:06:01,210
‫这实际上是一回事, 因为它的方向相反｡

65
00:06:01,810 --> 00:06:08,980
‫你可以看到我们已经到了这个位置, 实际上合成矢量就是这个｡

66
00:06:08,980 --> 00:06:12,340
‫这是所有向量相加的结果｡

67
00:06:12,340 --> 00:06:18,700
‫所以这是新的, 但它是新的位置, 它是实际的坐标, 因为我们开始的时候并不在0, 0｡

68
00:06:18,700 --> 00:06:28,390
‫实际坐标是51x5, y轴上是1, 总的合成移动矢量是103｡

69
00:06:28,390 --> 00:06:34,990
‫你可以通过把X和Y分别加在一起并适当相乘来验证这一点,

70
00:06:34,990 --> 00:06:43,540
‫你最终得到了这个运动矢量, 就是网格上显示的蓝色矢量｡

71
00:06:43,540 --> 00:06:50,080
‫希望这能让你们对向量的加法, 减法和乘法有一点初步的了解.

72
00:06:50,080 --> 00:06:51,040
‫在下一讲中｡

73
00:06:51,040 --> 00:06:52,900
‫我们会派上用场的｡

74
00:06:52,900 --> 00:06:53,740
‫我会看到你在那里｡

