WEBVTT

1
00:00:00.010 --> 00:00:06.180
反向运动学 (IK) 是最常见的骨骼约束之一，因为它有助于使

2
00:00:06.180 --> 00:00:10.960
移动四肢和其他关节非常直观且易于制作动画。

3
00:00:10.960 --> 00:00:12.560
但什么是IK？

4
00:00:12.560 --> 00:00:19.400
逆向运动学与正向运动学 (FK) 相反或相反。

5
00:00:19.400 --> 00:00:22.600
那么我们先来弄清楚什么是FK。

6
00:00:22.600 --> 00:00:26.860
为此，我将使用简单的手臂装置进行演示。

7
00:00:26.860 --> 00:00:30.940
您可以在描述中提供的相同角色网格文件中找到此基础手臂装备

8
00:00:30.940 --> 00:00:35.540
下面是名为“手臂底座装备”的系列。

9
00:00:35.540 --> 00:00:38.700
现在我们来谈谈FK到底是什么。

10
00:00:38.700 --> 00:00:43.600
FK 就是骨骼父链默认的工作方式。

11
00:00:43.600 --> 00:00:47.240
换句话说，移动父母就会移动孩子。

12
00:00:47.240 --> 00:00:51.420
之所以叫正向运动学是因为骨骼的变换

13
00:00:51.420 --> 00:00:56.580
只影响骨骼链中更靠前的骨骼。

14
00:00:56.580 --> 00:00:57.580
哪条路是前进？

15
00:00:57.580 --> 00:01:01.980
好吧，如果你假装骨头的尾巴像箭，然后沿着链条向前走

16
00:01:01.980 --> 00:01:05.140
只是骨骼指向的方向。

17
00:01:05.140 --> 00:01:09.740
您还可以看到，现在移动孩子根本不会影响父母。

18
00:01:09.740 --> 00:01:13.100
太好了，现在我们知道什么是正向运动学了。

19
00:01:13.100 --> 00:01:15.620
那么什么是逆运动学呢？

20
00:01:15.620 --> 00:01:19.420
好吧，我们知道这是相反的，但这意味着什么呢？

21
00:01:19.420 --> 00:01:24.460
好吧，逆向运动学不是影响骨骼沿着链条向前移动，而是允许

22
00:01:24.460 --> 00:01:28.580
用于改变靠近链末端的骨骼以影响以下骨骼

23
00:01:28.580 --> 00:01:31.380
骨头链的更上层。

24
00:01:31.380 --> 00:01:36.020
基本上是指子骨骼以某种方式影响父骨骼。

25
00:01:36.020 --> 00:01:39.980
为了演示这一点，我想快速向您展示自动 IK 选项。

26
00:01:39.980 --> 00:01:45.220
让我们按 N 或单击此处的箭头来打开右侧菜单。

27
00:01:45.220 --> 00:01:49.260
然后转到工具，您将看到自动 IK 选项。

28
00:01:49.260 --> 00:01:52.860
这是 Blender 的一个简单复选框，它不会永久改变你的电枢

29
00:01:52.860 --> 00:01:56.980
当您想要快速设置骨骼姿势时，这一切反而会有所帮助。

30
00:01:56.980 --> 00:02:01.740
通过启用此功能，您可以非常轻松地移动链末端的骨骼以影响

31
00:02:01.740 --> 00:02:05.080
整个链条本身的转变。

32
00:02:05.080 --> 00:02:08.900
这在制作手或脚动画时特别方便。

33
00:02:08.900 --> 00:02:13.540
在现实生活中，当我们举起手时，我们不会想，哦，我会移动我的上臂，然后

34
00:02:13.540 --> 00:02:17.860
然后快速伸展我的前臂，以便我的手向上移动。

35
00:02:17.860 --> 00:02:23.460
不，我们告诉我们的手向上移动，我们的上臂和前臂就会做出相应的动作

36
00:02:23.460 --> 00:02:25.740
来完成该运动。

37
00:02:25.740 --> 00:02:30.460
IK 正是允许动画师使用他们的装备进行这种自然的思考。

38
00:02:30.460 --> 00:02:35.820
使用 IK，只需告诉手骨向上移动，上臂和前臂骨骼

39
00:02:35.820 --> 00:02:40.180
会自动确定他们必须在哪里才能完成该运动。

40
00:02:40.180 --> 00:02:45.820
同样，它对于确保脚在需要时保持粘在地面上也非常有帮助。

41
00:02:45.980 --> 00:02:52.300
太好了，现在我们了解了 IK 是什么，让我们弄清楚如何将其应用到我们的装备中。

42
00:02:52.300 --> 00:02:57.860
自动 IK 功能非常适合快速摆姿势，但它并不能让我们完全控制

43
00:02:57.860 --> 00:03:01.460
IK 它不适用于动画。

44
00:03:01.460 --> 00:03:06.140
因此，我们想要做的是使用逆运动学骨骼约束来设置

45
00:03:06.140 --> 00:03:07.760
正确地安装它。

46
00:03:07.760 --> 00:03:09.660
第一步很简单。

47
00:03:09.660 --> 00:03:15.780
让我们进入姿势模式，选择前臂骨骼并添加反向运动学骨骼约束

48
00:03:15.780 --> 00:03:20.820
来自属性中此包裹的蓝色骨骼图标指示的骨骼约束选项卡

49
00:03:20.820 --> 00:03:22.380
编辑。

50
00:03:22.380 --> 00:03:26.220
从那里，您会注意到我们有一些输入字段需要填写。

51
00:03:26.220 --> 00:03:31.300
目标对象将是骨架本身，即使我们真正想要的是目标

52
00:03:31.300 --> 00:03:38.260
特定的骨骼，但它位于该骨架内，因此让我们从下拉列表中选择骨架。

53
00:03:38.260 --> 00:03:41.660
然后我们就可以在骨骼输入栏中选择我们想要的骨骼了。

54
00:03:41.660 --> 00:03:45.940
这与轨道 2 和拉伸 2 约束的工作方式类似，其中我们的目标

55
00:03:45.940 --> 00:03:49.400
骨骼是我们希望活动骨骼指向的位置。

56
00:03:49.400 --> 00:03:52.660
所以在这种情况下，我们要选择手骨。

57
00:03:52.660 --> 00:03:57.280
然而，当我们现在选择手骨并尝试移动它时，它实际上似乎并不

58
00:03:57.280 --> 00:03:59.020
做任何事。

59
00:03:59.020 --> 00:04:04.320
事实上，它根本没有平移，因为它仍然连接到前臂骨。

60
00:04:04.320 --> 00:04:09.200
让我们简单地进入编辑模式并将手骨与前臂骨断开，但保持

61
00:04:09.200 --> 00:04:10.820
它养育了。

62
00:04:10.820 --> 00:04:15.900
现在如您所见，我们可以平移我们的手骨，它会影响前臂骨，

63
00:04:15.900 --> 00:04:19.760
但它也会影响整个装备。

64
00:04:19.760 --> 00:04:23.920
这不是我们想要的，我们只想让手臂弯曲，所以让我们进入逆过程

65
00:04:23.920 --> 00:04:28.340
运动学骨骼约束并转到我们的链长度选项。

66
00:04:28.340 --> 00:04:33.580
默认值为 0，这只是沿着活动骨骼的整个骨骼链向上移动

67
00:04:33.580 --> 00:04:34.740
到。

68
00:04:34.740 --> 00:04:38.940
所以在我们的例子中，它一直延伸到脊柱的底部。

69
00:04:38.940 --> 00:04:42.200
这由此处的黄色虚线表示。

70
00:04:42.200 --> 00:04:47.200
通过更改链长度值，我们的黄色虚线将显示链向上多远

71
00:04:47.200 --> 00:04:49.880
我们的逆运动学将会生效。

72
00:04:49.880 --> 00:04:52.760
在线框模式下您可能会看得更好一些。

73
00:04:52.760 --> 00:04:57.820
然而，我们唯一希望受逆运动学约束影响的骨骼是

74
00:04:57.820 --> 00:05:00.520
前臂和上臂骨。

75
00:05:00.520 --> 00:05:03.600
所以我们想要链长为 2。

76
00:05:03.600 --> 00:05:10.200
现在，当我们移动手骨时，它只会正确影响前臂和上臂。

77
00:05:10.200 --> 00:05:13.500
但我认为我们不希望它像这样吓坏。

78
00:05:13.500 --> 00:05:19.100
它似乎不太具有动画性或稳定性，那么这里发生了什么？

79
00:05:19.100 --> 00:05:24.260
很简单，记住在育儿视频中我说过你不能形成循环

80
00:05:24.260 --> 00:05:25.740
家长？

81
00:05:25.740 --> 00:05:28.140
好吧，我们只是在这里做的。

82
00:05:28.140 --> 00:05:33.580
如果你想一想，前臂指向手，但手的父级是

83
00:05:33.580 --> 00:05:35.000
前臂。

84
00:05:35.000 --> 00:05:40.160
这意味着当手移动时，前臂会尝试指向手。

85
00:05:40.160 --> 00:05:45.960
但是，如果前臂移动以指向手，则手必须移动，因为它是父级的

86
00:05:45.960 --> 00:05:51.180
到前臂，从而进一步移动手，这将使前臂进一步移动以指向

87
00:05:51.180 --> 00:05:55.040
到手，这将使手进一步移动，因为它是父级的，这将移动

88
00:05:55.040 --> 00:05:58.520
前臂指向手等

89
00:05:58.520 --> 00:06:02.740
这称为循环依赖，我们不希望这样。

90
00:06:02.740 --> 00:06:07.980
因此，让我们继续完全取消手的父子关系，以便我们可以独立移动手

91
00:06:07.980 --> 00:06:09.380
从我们的前臂。

92
00:06:09.380 --> 00:06:15.080
很好，正如您所看到的，移动我们的手现在可以以非常自然的方式弯曲肘部。

93
00:06:15.080 --> 00:06:19.900
我们现在唯一的问题是因为手不再与前臂连接，

94
00:06:19.900 --> 00:06:25.080
我们现在可以将手从前臂伸出，但这并不理想。

95
00:06:25.080 --> 00:06:29.460
因此，最常见的解决方法是简单地返回到编辑模式，重新设置父级

96
00:06:29.460 --> 00:06:34.700
将手移动到前臂，然后复制手骨并取消复制的父子关系。

97
00:06:34.700 --> 00:06:38.980
现在我们有一个独立的控制器骨骼，我们可以指向它。

98
00:06:38.980 --> 00:06:42.380
我们将这个骨手称为下划线 ik。

99
00:06:42.380 --> 00:06:47.660
返回姿势模式，我们可以选择前臂，进入骨骼约束选项卡，

100
00:06:47.660 --> 00:06:51.980
并将骨骼目标从一只手更改为另一只手 ik。

101
00:06:51.980 --> 00:06:57.740
现在，当我们移动手部骨骼时，前臂和上臂会很好地变形，我们可以移动

102
00:06:57.740 --> 00:07:01.860
该手 ik 控制器无需伸展手本身即可伸出。
103
00:07:01.860 --> 00:07:06.420
然而，现在要旋转手骨本身，我们必须在动画

104
00:07:06.420 --> 00:07:10.140
手 ik 和原始手骨。

105
00:07:10.140 --> 00:07:14.860
这对于我们的动画师来说有点乏味，所以让我们添加一个简单的复制旋转约束

106
00:07:14.860 --> 00:07:20.880
使原始手部变形骨骼跟随手部 ik 骨骼，以便轻松制作动画。

107
00:07:20.880 --> 00:07:26.460
我还将在编辑模式下将手部 ik 骨骼放大一点，这样更容易区分

108
00:07:26.460 --> 00:07:31.420
来自原始的手骨，尽管给它一个漂亮的自定义骨骼形状是一种选择

109
00:07:31.420 --> 00:07:32.420
出色地。

110
00:07:32.420 --> 00:07:36.220
太棒了，现在我们有了一个不错的基本 ik 装备。

111
00:07:36.220 --> 00:07:40.740
不过，您可能会注意到，有时当我们移动手骨时，肘部会排序

112
00:07:40.740 --> 00:07:43.040
弯曲方向错误。

113
00:07:43.040 --> 00:07:47.600
这并不理想，有些人可能记得还有一个输入字段

114
00:07:47.600 --> 00:07:50.300
我们的逆运动学约束。

115
00:07:50.300 --> 00:07:53.020
让我们回到它，看看它是什么。

116
00:07:53.020 --> 00:07:56.380
是的，极点目标输入字段。

117
00:07:56.380 --> 00:08:00.300
这将有助于解决反向时关节弯曲错误的问题

118
00:08:00.300 --> 00:08:01.700
运动学。

119
00:08:01.700 --> 00:08:07.380
极点目标只是肘关节或逆运动学的参考对象或骨骼

120
00:08:07.380 --> 00:08:11.060
当骨头弯曲时，关节将尝试指向。

121
00:08:11.060 --> 00:08:15.740
为此，我们可以通过复制手部 ik 骨骼并移动来简单地创建一个新骨骼

122
00:08:15.740 --> 00:08:17.260
它在肘部后面。

123
00:08:17.260 --> 00:08:22.220
我将旋转它，使其指向远处，但这并不重要，因为只有它的位置

124
00:08:22.220 --> 00:08:23.980
实际上是被引用的。

125
00:08:23.980 --> 00:08:27.540
让我们将其重命名为肘下划线目标。

126
00:08:27.540 --> 00:08:32.300
现在我们可以返回逆运动学约束设置并简单地输入电枢

127
00:08:32.300 --> 00:08:34.580
再次针对对象字段。

128
00:08:34.580 --> 00:08:39.540
对于骨骼输入，我们需要选择肘部下划线目标。

129
00:08:39.540 --> 00:08:44.620
现在，正如你所看到的，当我们移动我们的手 ik 骨头时，肘部永远不会弯曲

130
00:08:44.620 --> 00:08:47.500
方向又错了。

131
00:08:47.500 --> 00:08:50.460
只不过那是因为肘部根本不弯曲。

132
00:08:50.460 --> 00:08:54.780
这是因为，很简单，我们的骨头生得太直了，但它并没有

133
00:08:54.780 --> 00:08:57.400
知道从哪个方向开始弯曲。

134
00:08:57.400 --> 00:09:03.460
因此，让我们快速进入编辑模式，然后稍微向后拖动肘关节。

135
00:09:03.460 --> 00:09:07.020
现在如您所见，我们的肘部弯曲得很好。

136
00:09:07.020 --> 00:09:08.720
只是它仍然走错了方向。

137
00:09:08.720 --> 00:09:12.940
不过别担心，那是因为我们忘记在逆运动学中再设置一个值

138
00:09:12.940 --> 00:09:14.520
约束。

139
00:09:14.520 --> 00:09:19.900
让我们继续保持肘部弯曲，然后再次选择前臂骨骼。

140
00:09:19.900 --> 00:09:24.700
我们可以进入逆运动学约束并单击并拖动这个拉角值

141
00:09:24.700 --> 00:09:27.940
直到它正确指向拉动目标。

142
00:09:27.940 --> 00:09:28.940
就是这样！

143
00:09:28.940 --> 00:09:32.380
现在，我们在 Blender 中拥有了一个可以正常工作的逆运动学装置。
