﻿1
00:00:04,440 --> 00:00:04,830
‫こんにちは｡

2
00:00:04,830 --> 00:00:05,340
‫ようこそ｡

3
00:00:05,340 --> 00:00:09,330
‫この講義では､ 足の滑りを整える｡

4
00:00:09,330 --> 00:00:09,900
‫ご覧の通りです｡

5
00:00:09,900 --> 00:00:12,900
‫今は､ 歩いていても､ 足が滑らなくなりました｡

6
00:00:12,900 --> 00:00:15,630
‫また､ 同じように走っていても､ 滑っていないこともあるんです｡

7
00:00:15,630 --> 00:00:20,820
‫それでは､ アニメーションの速度を計算することで､ どのようなことができるのか見てみましょう｡

8
00:00:21,620 --> 00:00:24,890
‫では､ この足滑りの問題を解決してみましょう｡

9
00:00:24,890 --> 00:00:32,100
‫ゆっくり歩く速度で特に見えるように動かしていると､ 基本的に地面を走っているのがわかると思います｡

10
00:00:32,120 --> 00:00:33,890
‫さて､ なぜこのようなことが起こっているのでしょうか｡

11
00:00:33,980 --> 00:00:42,230
‫この現象は､ ブレンドスペースのロコモーションで､ いくつかの速度が設定されているためです｡

12
00:00:42,230 --> 00:00:45,710
‫そして､ これらは実はアニメーションの速度に対応していないのです｡

13
00:00:45,710 --> 00:00:53,750
‫つまり､ ゲームプレイでは､ 1秒間に100センチメートルの速度で移動しながら､ この走行アニメーションを再生するということです｡

14
00:00:53,750 --> 00:00:58,850
‫そして､ この走行アニメーションが秒速100センチメートルより速いと､ 足が滑るようになるんです｡

15
00:00:58,850 --> 00:01:00,860
‫また､ 遅くなるとフットスライドが発生します｡

16
00:01:00,860 --> 00:01:02,810
‫どちらの場合も､ フットスライディングができるようになります｡

17
00:01:02,810 --> 00:01:12,680
‫そこで､ これらの軸を合わせて､ 正しい速度で正しいアニメーションを再生し､ 異なる速度になったときに補間することにしました｡

18
00:01:12,830 --> 00:01:16,640
‫当然､ ゲームプレイに制限がかかるということになります｡

19
00:01:16,640 --> 00:01:25,370
‫最大アニメーションが許容する速度より速くすると､ それを表示できないからです｡

20
00:01:25,370 --> 00:01:31,550
‫でも､ もしそれをやって､ もっと速くしたいと思ったら､ アニメーションを増やしたりしなければならないでしょう｡

21
00:01:31,550 --> 00:01:39,410
‫でも､ その分､ デザイナーがまずゲーム性を変えて､ それがうまくいけばアニメーションを狩りに行くことができます｡

22
00:01:39,740 --> 00:01:43,220
‫では､ このランのアニメーションを見てみましょう｡

23
00:01:43,220 --> 00:01:45,740
‫このランアニメーションの速度は､ どのように計算すればいいのでしょうか？

24
00:01:45,740 --> 00:01:52,160
‫Unrealが自動的に教えてくれるわけではないので､ そこにたどり着くまでにちょっとした計算が必要なんです｡

25
00:01:52,160 --> 00:02:00,530
‫ジョグフォワードのアニメーションを探してみましょう｡ 特にジョグフォワードの戦闘が欲しいところです｡

26
00:02:01,010 --> 00:02:01,820
‫これです｡

27
00:02:02,000 --> 00:02:03,830
‫そして､ これをどのように進めていけばいいのか｡

28
00:02:03,830 --> 00:02:06,470
‫アニメーションの再生を一時停止してみましょう｡

29
00:02:07,040 --> 00:02:13,160
‫私たちが本質的に見たいのは､ 片方の足が床をどれだけ速く移動できるかということです｡

30
00:02:13,160 --> 00:02:23,450
‫つまり､ 接地してから床を離れ始めるまでに､ どれくらいの速さで地面を移動したかを知りたいのです｡

31
00:02:23,450 --> 00:02:25,940
‫そして､ それがアニメーションのスピードです｡

32
00:02:26,300 --> 00:02:31,100
‫そのために､ 足首の骨のスピードを追いかけることになります｡

33
00:02:31,100 --> 00:02:43,370
‫Unreal 5 では､ ビューポートを実際にクリックしてボーンを選択することができなくなりました｡

34
00:02:43,370 --> 00:02:49,490
‫そこで､ 左側のスケルトンタブに移動して､ 検索バーでこの骨を検索する必要があります｡

35
00:02:49,820 --> 00:02:51,260
‫そして､ それが私たちの足首の骨です｡

36
00:02:51,260 --> 00:02:57,320
‫そして､ 横方向に移動すると､ 回転が移動していることがわかりますが､ 位置は変わっていないことに注意してください｡

37
00:02:57,320 --> 00:02:58,070
‫それはなぜでしょうか？

38
00:02:58,280 --> 00:03:02,840
‫ここに表示されている場所は､ ローカルローテーション､ ローカルロケーションですから､ むしろ｡

39
00:03:02,840 --> 00:03:08,360
‫そしてその位置は膝との相対的なものであり､ 実際には膝と相対的に動いているわけではありません｡

40
00:03:08,360 --> 00:03:10,610
‫膝を中心に相対的に回転しているだけです｡

41
00:03:10,610 --> 00:03:12,620
‫だから､ それが出てくるわけです｡

42
00:03:12,620 --> 00:03:23,180
‫世界の位置情報に切り替えて､ 今移動してみると､ 確かに位置情報に動きが出ているのがわかります｡

43
00:03:23,180 --> 00:03:30,020
‫そこで､ この計算がうまくいくようにworldに切り替えて､ 2点を求めたいと思います｡

44
00:03:30,020 --> 00:03:36,200
‫着地点は､ 左から右に見ているこの軸なので､ y値､

45
00:03:36,200 --> 00:03:39,710
‫yを求めたいところです｡

46
00:03:39,710 --> 00:03:40,580
‫それはY軸です｡

47
00:03:40,580 --> 00:03:44,330
‫ビューポートの左下にあるウィジェットで見ることができます｡

48
00:03:44,330 --> 00:03:48,230
‫そこで､ 床にぶつかったときのY値を求めたいと思います｡

49
00:03:48,230 --> 00:03:53,000
‫また､ 床を打った時刻を求めます｡ これは､ タイムライン上の2番目の括弧内の数字､

50
00:03:53,000 --> 00:03:56,990
‫「0」にあたります｡ 19.

51
00:03:57,620 --> 00:04:02,720
‫そして､ 床から離れる2回目の時間を探し､ その時間を求め､

52
00:04:02,720 --> 00:04:05,540
‫Y値を求めます｡

53
00:04:05,540 --> 00:04:08,300
‫そして､ ここにこの数式を当てはめるのです｡

54
00:04:08,300 --> 00:04:09,410
‫分解してみる｡

55
00:04:09,440 --> 00:04:11,750
‫まず､ 足の速さを計算することです｡

56
00:04:11,750 --> 00:04:16,490
‫フィニッシュのYからスタートのYを引いたものを計算する必要があります｡

57
00:04:16,600 --> 00:04:22,160
‫それをフィニッシュの時間÷スタートの時間で割りたいのです｡

58
00:04:22,160 --> 00:04:24,170
‫そこで､ この計算を一緒にやってみようと思います｡

59
00:04:24,200 --> 00:04:29,360
‫必要なのは数字を取り込む場所だけです｡ 例えば新しいメモ帳か､ 私はVisual Studioのコードで新しいテキストドキュメントを使いますが､

60
00:04:29,360 --> 00:04:33,800
‫無題のものだけです｡

61
00:04:33,800 --> 00:04:38,860
‫保存とかしなくていいから､ Windowsで電卓を開いてみる｡

62
00:04:38,870 --> 00:04:43,910
‫ただ､ パソコンでやったほうがコピー＆ペーストで入れられるので楽ですね｡

63
00:04:44,720 --> 00:04:47,240
‫そして､ いくつかの値を見つけることから始めるのです｡

64
00:04:47,240 --> 00:04:55,790
‫まず､ ここら辺の床をどこに当てるかですが､ これは時間､ 0になるんです｡

65
00:04:55,790 --> 00:04:55,790
‫16.

66
00:04:55,790 --> 00:04:58,310
‫それをテキスト文書に打ち込んでみましょう｡

67
00:04:58,310 --> 00:05:01,400
‫1. 16.

68
00:05:02,250 --> 00:05:04,170
‫そんな感じでワンシックスしています｡

69
00:05:04,260 --> 00:05:06,300
‫そして､ Y値は？

70
00:05:06,330 --> 00:05:09,270
‫後で探すのが大変なので､ 今のうちに捕獲しておくのがベストです｡

71
00:05:09,360 --> 00:05:10,310
‫そうなんです｡

72
00:05:10,320 --> 00:05:15,960
‫私の画面では見にくいのでコピーしてきましょう､ 解像度17ポイント何かかっこいいですね｡

73
00:05:16,200 --> 00:05:17,660
‫今がそのスタート地点です｡

74
00:05:17,670 --> 00:05:19,410
‫フィニッシュはどこですか？

75
00:05:19,440 --> 00:05:21,680
‫足を引きずって渡りに行こう｡

76
00:05:21,690 --> 00:05:36,930
‫このあたりは､ おそらく地盤を残しているところなので､ 都合0です｡  30で､ Yは8ポイントベガに今マイナスする予定です｡

77
00:05:37,740 --> 00:05:39,830
‫では､ 計算式を当てはめてみましょう｡

78
00:05:39,840 --> 00:05:42,000
‫まず､ そこに求める仕上がりです｡

79
00:05:42,000 --> 00:05:43,040
‫まず､ スタートではない｡

80
00:05:43,050 --> 00:05:46,590
‫逆算して､ スタートを引き算する｡

81
00:05:47,700 --> 00:05:48,360
‫そんな感じ｡

82
00:05:48,390 --> 00:05:51,210
‫その分マイナスの数字が出るので､ どれだけ移動したかがわかります｡

83
00:05:51,210 --> 00:05:54,870
‫45cmは､ その足が一歩で動いた距離です｡

84
00:05:55,050 --> 00:05:57,590
‫さて､ そうなるまでにどれくらいの時間がかかったのでしょうか｡

85
00:05:57,600 --> 00:06:03,570
‫まず､ この数字をファイルに､ テキストファイルに書き出して､ どれくらい時間がかかったか見てみましょう｡

86
00:06:03,570 --> 00:06:06,600
‫クリアして､ まずは仕上がりを確認しよう｡

87
00:06:07,450 --> 00:06:09,460
‫そして､ 引き算をする｡

88
00:06:10,240 --> 00:06:13,450
‫スタートは､ この数字を教えてくれる｡

89
00:06:13,570 --> 00:06:19,930
‫WindowsのコントロールCをコピーすると､ 何も選択せずに､ そこにある数字が自動的にコピーされます｡

90
00:06:20,530 --> 00:06:22,930
‫そして､ これが何に相当するのかを考えたいと思います｡

91
00:06:22,960 --> 00:06:29,140
‫では､ クリアして､ まずは-45と割りましょう｡

92
00:06:29,960 --> 00:06:31,970
‫0で｡  14.

93
00:06:32,600 --> 00:06:35,360
‫そして､ この数字を教えてくれたのが､ ここです｡

94
00:06:36,140 --> 00:06:36,980
‫そんな感じ｡

95
00:06:38,420 --> 00:06:44,450
‫つまり､ ジョギングスピードが負の値であることを示しているのです｡

96
00:06:44,450 --> 00:06:52,940
‫しかし､ 基本的に前方へのジョグスピードは､ 1秒間に約325cmになる予定です｡

97
00:06:52,940 --> 00:06:56,900
‫だから､ ブレンドスペースにはそれが欲しいところです｡

98
00:06:58,350 --> 00:07:02,190
‫では､ 同じことを歩行アニメーションのために行う必要があります｡

99
00:07:02,190 --> 00:07:07,080
‫歩行速度と走行速度の計算には､ 関連する歩行アニメーション（おそらく前方）を見つけ､

100
00:07:07,080 --> 00:07:13,260
‫計算式を適用して､ 先ほどと同じように行うことが課題です｡

101
00:07:13,260 --> 00:07:19,290
‫足の速さは､ なぜフィニッシュからyスタートを引いた値をtフィニッシュからtスタートを引いた値で割った値です｡

102
00:07:19,290 --> 00:07:23,610
‫それでは､ ビデオを一時停止して､ どんな速度が出るか試してみてください｡

103
00:07:24,400 --> 00:07:24,640
‫なるほど｡

104
00:07:24,640 --> 00:07:25,120
‫お帰りなさい｡

105
00:07:25,120 --> 00:07:29,800
‫では､ ここで何が正しいのか､ 探してきましょう｡

106
00:07:29,800 --> 00:07:37,780
‫まずはブレンドスペースを探し､ 記憶を呼び起こすためにどんなアニメーションを使用していたかを確認したいと思います｡

107
00:07:38,080 --> 00:07:47,350
‫ここでの値は､ MPウォークフォワードなので､ それを求めてBウォークフォワードしましょう｡

108
00:07:47,350 --> 00:07:56,380
‫このアニメーションを開いてみると､ 他のアニメーションよりもずっと遅いアニメーションになっていることがわかるはずです｡

109
00:07:56,380 --> 00:08:03,760
‫まず､ 足が動いた後､ ここら辺にある工場が一番いいんじゃないでしょうか｡

110
00:08:04,180 --> 00:08:07,150
‫それでは､ ここに新しい行を追加してみましょう｡

111
00:08:07,150 --> 00:08:15,970
‫0になりそうです｡  34のように､ この足の骨の詳細を探しに行くのです｡

112
00:08:15,970 --> 00:08:21,520
‫足骨の世界と同じように､ すでに選択されているので､ その位置を探します｡

113
00:08:21,520 --> 00:08:28,630
‫そのため､ 地面から離れる寸前まで足を戻すと､ ゼロ点になります｡

114
00:08:29,440 --> 00:08:30,700
‫シックスセブン

115
00:08:31,400 --> 00:08:35,240
‫そしてその理由は､ -22のようなことになる｡

116
00:08:35,540 --> 00:08:36,020
‫これでよしとする｡

117
00:08:36,290 --> 00:08:38,450
‫同じ距離を移動する､ みたいな｡

118
00:08:38,450 --> 00:08:42,080
‫しかし､ かかる時間はもっと長いことがおわかりいただけると思います｡

119
00:08:42,080 --> 00:08:43,770
‫だから､ もっと遅くなるんです｡

120
00:08:43,790 --> 00:08:45,860
‫では､ もう一度､ 電卓を開いてみましょう｡

121
00:08:46,990 --> 00:08:50,620
‫そしてまず､ フィニッシュからスタートを引いた値を計算する｡

122
00:08:50,620 --> 00:08:54,610
‫だから､ スタートからマイナスして仕上げる｡

123
00:08:55,360 --> 00:08:56,740
‫これを私たちに与えてくれる｡

124
00:08:58,500 --> 00:09:00,390
‫非常に似たような距離を見るように､ 言ってください｡

125
00:09:00,630 --> 00:09:04,290
‫そしておそらく､ 別のタイムスタンプを選択しても､ 同じ距離だったでしょう｡

126
00:09:04,560 --> 00:09:06,420
‫そして､ フィニッシュタイムを出す｡

127
00:09:06,420 --> 00:09:12,060
‫だから､ このフィニッシュタイムからスタートタイムを引いた時間をクリアしてください｡

128
00:09:13,030 --> 00:09:16,310
‫倍近い長い時間を与えてくれるのです｡

129
00:09:16,310 --> 00:09:19,760
‫だから､ 倍近く遅くなると思っているんです｡

130
00:09:19,880 --> 00:09:24,200
‫だから､ クリアして42を手に入れよう｡

131
00:09:25,260 --> 00:09:28,380
‫0で割ったもの｡  33.

132
00:09:30,120 --> 00:09:37,110
‫確かに､ マイナス130に近いものを与えてくれます｡

133
00:09:38,010 --> 00:09:39,390
‫だから､ それをコピーするんです｡

134
00:09:39,930 --> 00:09:43,530
‫面白いことに､ 大きな形だと､ なかなかコピーされないんです｡

135
00:09:43,680 --> 00:09:44,490
‫これでよしとする｡

136
00:09:44,520 --> 00:09:50,910
‫だから､ これは基本的に我々のスピード､ 130と3から5までです｡

137
00:09:51,180 --> 00:09:53,730
‫さて､ これをどのようにブレンドスペースに取り込むか｡

138
00:09:53,730 --> 00:09:54,870
‫それは､ あなたの課題には含まれていませんでした｡

139
00:09:54,870 --> 00:09:56,460
‫でも､ これからやるんです｡

140
00:09:56,490 --> 00:10:02,820
‫ブレンドスペースの場所を開放してあげましょう｡ こういう割り切りは､ 私たちにはなかなかできないことですからね｡

141
00:10:04,410 --> 00:10:08,270
‫さて､ まず第一に､ 物事を正確に100％正しく理解する必要はない､ ということです｡

142
00:10:08,280 --> 00:10:16,620
‫しかし､ もうひとつは､ 速度軸の分割や分割数を変えることができることです｡

143
00:10:17,490 --> 00:10:26,550
‫そこで､ この2つの値をおよそ50に近い値に丸め､ 50の分割数を使用する方法です｡

144
00:10:26,550 --> 00:10:31,770
‫つまり､ これは四捨五入して350になるわけです｡

145
00:10:31,800 --> 00:10:34,290
‫こちらは四捨五入して150になります｡

146
00:10:34,650 --> 00:10:38,010
‫そして､ その後にできることは､ いくつの部門が必要かを考えることです｡

147
00:10:38,310 --> 00:10:42,720
‫350を50で割ると7になるわけです｡

148
00:10:42,960 --> 00:10:45,150
‫では､ スピードを出してみましょう｡

149
00:10:45,150 --> 00:10:52,590
‫そして7分割で､ 軸の最大値が350になるように､ このように追加します｡

150
00:10:52,590 --> 00:11:03,090
‫そして今､ 私たちが手に入れるべきものは､ 350の地点では走り､ 150の地点では歩くということです｡

151
00:11:03,090 --> 00:11:07,500
‫そのため､ 保存とその間の任意の場所で､ 可能な限り補間することになるのは明らかです｡

152
00:11:07,980 --> 00:11:13,210
‫では､ 実際にプレイして､ 足が滑る問題が解決されたかどうか確認してみましょう｡

153
00:11:13,230 --> 00:11:15,560
‫足元が見えるように､ 地面を見下ろそう｡

154
00:11:15,570 --> 00:11:22,050
‫歩いているときもそうですが､ 走っているときも､ 足が滑らないというか､ まったく滑らないのがわかります｡

155
00:11:22,050 --> 00:11:24,870
‫確かに今は目立つ足滑りはしませんね｡

156
00:11:24,870 --> 00:11:32,970
‫今後使用するアニメーションをブレンドスペースに配置したり､ 足の動きに合わせたりする場合に､

157
00:11:33,420 --> 00:11:41,850
‫この方法を適用できればと思います｡

158
00:11:43,270 --> 00:11:46,300
‫というわけで､ アニメーションの話はこれでおしまいです｡

159
00:11:46,300 --> 00:11:52,120
‫とりあえず､ 3人称のキャラクターを使ったアニメーションのスタート地点には立てたと思います｡

160
00:11:52,150 --> 00:11:56,710
‫次に､ ここに本当に欠けているのは､ 銃の構造です｡

161
00:11:56,710 --> 00:12:03,630
‫そこで､ 次回の講義では､ サードパーソンシューティングとファーストパーソンシューティングの銃の設計方法について見ていきたいと思います｡

162
00:12:03,640 --> 00:12:04,420
‫現地でお会いしましょう｡

