‫こんにちは｡
‫ようこそ｡
‫この講義では､ 足の滑りを整える｡
‫ご覧の通りです｡
‫今は､ 歩いていても､ 足が滑らなくなりました｡
‫また､ 同じように走っていても､ 滑っていないこともあるんです｡
‫それでは､ アニメーションの速度を計算することで､ どのようなことができるのか見てみましょう｡
‫では､ この足滑りの問題を解決してみましょう｡
‫ゆっくり歩く速度で特に見えるように動かしていると､ 基本的に地面を走っているのがわかると思います｡
‫さて､ なぜこのようなことが起こっているのでしょうか｡
‫この現象は､ ブレンドスペースのロコモーションで､ いくつかの速度が設定されているためです｡
‫そして､ これらは実はアニメーションの速度に対応していないのです｡
‫つまり､ ゲームプレイでは､ 1秒間に100センチメートルの速度で移動しながら､ この走行アニメーションを再生するということです｡
‫そして､ この走行アニメーションが秒速100センチメートルより速いと､ 足が滑るようになるんです｡
‫また､ 遅くなるとフットスライドが発生します｡
‫どちらの場合も､ フットスライディングができるようになります｡
‫そこで､ これらの軸を合わせて､ 正しい速度で正しいアニメーションを再生し､ 異なる速度になったときに補間することにしました｡
‫当然､ ゲームプレイに制限がかかるということになります｡
‫最大アニメーションが許容する速度より速くすると､ それを表示できないからです｡
‫でも､ もしそれをやって､ もっと速くしたいと思ったら､ アニメーションを増やしたりしなければならないでしょう｡
‫でも､ その分､ デザイナーがまずゲーム性を変えて､ それがうまくいけばアニメーションを狩りに行くことができます｡
‫では､ このランのアニメーションを見てみましょう｡
‫このランアニメーションの速度は､ どのように計算すればいいのでしょうか？
‫Unrealが自動的に教えてくれるわけではないので､ そこにたどり着くまでにちょっとした計算が必要なんです｡
‫ジョグフォワードのアニメーションを探してみましょう｡ 特にジョグフォワードの戦闘が欲しいところです｡
‫これです｡
‫そして､ これをどのように進めていけばいいのか｡
‫アニメーションの再生を一時停止してみましょう｡
‫私たちが本質的に見たいのは､ 片方の足が床をどれだけ速く移動できるかということです｡
‫つまり､ 接地してから床を離れ始めるまでに､ どれくらいの速さで地面を移動したかを知りたいのです｡
‫そして､ それがアニメーションのスピードです｡
‫そのために､ 足首の骨のスピードを追いかけることになります｡
‫Unreal 5 では､ ビューポートを実際にクリックしてボーンを選択することができなくなりました｡
‫そこで､ 左側のスケルトンタブに移動して､ 検索バーでこの骨を検索する必要があります｡
‫そして､ それが私たちの足首の骨です｡
‫そして､ 横方向に移動すると､ 回転が移動していることがわかりますが､ 位置は変わっていないことに注意してください｡
‫それはなぜでしょうか？
‫ここに表示されている場所は､ ローカルローテーション､ ローカルロケーションですから､ むしろ｡
‫そしてその位置は膝との相対的なものであり､ 実際には膝と相対的に動いているわけではありません｡
‫膝を中心に相対的に回転しているだけです｡
‫だから､ それが出てくるわけです｡
‫世界の位置情報に切り替えて､ 今移動してみると､ 確かに位置情報に動きが出ているのがわかります｡
‫そこで､ この計算がうまくいくようにworldに切り替えて､ 2点を求めたいと思います｡
‫着地点は､ 左から右に見ているこの軸なので､ y値､
‫yを求めたいところです｡
‫それはY軸です｡
‫ビューポートの左下にあるウィジェットで見ることができます｡
‫そこで､ 床にぶつかったときのY値を求めたいと思います｡
‫また､ 床を打った時刻を求めます｡ これは､ タイムライン上の2番目の括弧内の数字､
‫「0」にあたります｡ 19.
‫そして､ 床から離れる2回目の時間を探し､ その時間を求め､
‫Y値を求めます｡
‫そして､ ここにこの数式を当てはめるのです｡
‫分解してみる｡
‫まず､ 足の速さを計算することです｡
‫フィニッシュのYからスタートのYを引いたものを計算する必要があります｡
‫それをフィニッシュの時間÷スタートの時間で割りたいのです｡
‫そこで､ この計算を一緒にやってみようと思います｡
‫必要なのは数字を取り込む場所だけです｡ 例えば新しいメモ帳か､ 私はVisual Studioのコードで新しいテキストドキュメントを使いますが､
‫無題のものだけです｡
‫保存とかしなくていいから､ Windowsで電卓を開いてみる｡
‫ただ､ パソコンでやったほうがコピー＆ペーストで入れられるので楽ですね｡
‫そして､ いくつかの値を見つけることから始めるのです｡
‫まず､ ここら辺の床をどこに当てるかですが､ これは時間､ 0になるんです｡
‫16.
‫それをテキスト文書に打ち込んでみましょう｡
‫1. 16.
‫そんな感じでワンシックスしています｡
‫そして､ Y値は？
‫後で探すのが大変なので､ 今のうちに捕獲しておくのがベストです｡
‫そうなんです｡
‫私の画面では見にくいのでコピーしてきましょう､ 解像度17ポイント何かかっこいいですね｡
‫今がそのスタート地点です｡
‫フィニッシュはどこですか？
‫足を引きずって渡りに行こう｡
‫このあたりは､ おそらく地盤を残しているところなので､ 都合0です｡ 30で､ Yは8ポイントベガに今マイナスする予定です｡
‫では､ 計算式を当てはめてみましょう｡
‫まず､ そこに求める仕上がりです｡
‫まず､ スタートではない｡
‫逆算して､ スタートを引き算する｡
‫そんな感じ｡
‫その分マイナスの数字が出るので､ どれだけ移動したかがわかります｡
‫45cmは､ その足が一歩で動いた距離です｡
‫さて､ そうなるまでにどれくらいの時間がかかったのでしょうか｡
‫まず､ この数字をファイルに､ テキストファイルに書き出して､ どれくらい時間がかかったか見てみましょう｡
‫クリアして､ まずは仕上がりを確認しよう｡
‫そして､ 引き算をする｡
‫スタートは､ この数字を教えてくれる｡
‫WindowsのコントロールCをコピーすると､ 何も選択せずに､ そこにある数字が自動的にコピーされます｡
‫そして､ これが何に相当するのかを考えたいと思います｡
‫では､ クリアして､ まずは-45と割りましょう｡
‫0で｡ 14.
‫そして､ この数字を教えてくれたのが､ ここです｡
‫そんな感じ｡
‫つまり､ ジョギングスピードが負の値であることを示しているのです｡
‫しかし､ 基本的に前方へのジョグスピードは､ 1秒間に約325cmになる予定です｡
‫だから､ ブレンドスペースにはそれが欲しいところです｡
‫では､ 同じことを歩行アニメーションのために行う必要があります｡
‫歩行速度と走行速度の計算には､ 関連する歩行アニメーション（おそらく前方）を見つけ､
‫計算式を適用して､ 先ほどと同じように行うことが課題です｡
‫足の速さは､ なぜフィニッシュからyスタートを引いた値をtフィニッシュからtスタートを引いた値で割った値です｡
‫それでは､ ビデオを一時停止して､ どんな速度が出るか試してみてください｡
‫なるほど｡
‫お帰りなさい｡
‫では､ ここで何が正しいのか､ 探してきましょう｡
‫まずはブレンドスペースを探し､ 記憶を呼び起こすためにどんなアニメーションを使用していたかを確認したいと思います｡
‫ここでの値は､ MPウォークフォワードなので､ それを求めてBウォークフォワードしましょう｡
‫このアニメーションを開いてみると､ 他のアニメーションよりもずっと遅いアニメーションになっていることがわかるはずです｡
‫まず､ 足が動いた後､ ここら辺にある工場が一番いいんじゃないでしょうか｡
‫それでは､ ここに新しい行を追加してみましょう｡
‫0になりそうです｡ 34のように､ この足の骨の詳細を探しに行くのです｡
‫足骨の世界と同じように､ すでに選択されているので､ その位置を探します｡
‫そのため､ 地面から離れる寸前まで足を戻すと､ ゼロ点になります｡
‫シックスセブン
‫そしてその理由は､ -22のようなことになる｡
‫これでよしとする｡
‫同じ距離を移動する､ みたいな｡
‫しかし､ かかる時間はもっと長いことがおわかりいただけると思います｡
‫だから､ もっと遅くなるんです｡
‫では､ もう一度､ 電卓を開いてみましょう｡
‫そしてまず､ フィニッシュからスタートを引いた値を計算する｡
‫だから､ スタートからマイナスして仕上げる｡
‫これを私たちに与えてくれる｡
‫非常に似たような距離を見るように､ 言ってください｡
‫そしておそらく､ 別のタイムスタンプを選択しても､ 同じ距離だったでしょう｡
‫そして､ フィニッシュタイムを出す｡
‫だから､ このフィニッシュタイムからスタートタイムを引いた時間をクリアしてください｡
‫倍近い長い時間を与えてくれるのです｡
‫だから､ 倍近く遅くなると思っているんです｡
‫だから､ クリアして42を手に入れよう｡
‫0で割ったもの｡ 33.
‫確かに､ マイナス130に近いものを与えてくれます｡
‫だから､ それをコピーするんです｡
‫面白いことに､ 大きな形だと､ なかなかコピーされないんです｡
‫これでよしとする｡
‫だから､ これは基本的に我々のスピード､ 130と3から5までです｡
‫さて､ これをどのようにブレンドスペースに取り込むか｡
‫それは､ あなたの課題には含まれていませんでした｡
‫でも､ これからやるんです｡
‫ブレンドスペースの場所を開放してあげましょう｡ こういう割り切りは､ 私たちにはなかなかできないことですからね｡
‫さて､ まず第一に､ 物事を正確に100％正しく理解する必要はない､ ということです｡
‫しかし､ もうひとつは､ 速度軸の分割や分割数を変えることができることです｡
‫そこで､ この2つの値をおよそ50に近い値に丸め､ 50の分割数を使用する方法です｡
‫つまり､ これは四捨五入して350になるわけです｡
‫こちらは四捨五入して150になります｡
‫そして､ その後にできることは､ いくつの部門が必要かを考えることです｡
‫350を50で割ると7になるわけです｡
‫では､ スピードを出してみましょう｡
‫そして7分割で､ 軸の最大値が350になるように､ このように追加します｡
‫そして今､ 私たちが手に入れるべきものは､ 350の地点では走り､ 150の地点では歩くということです｡
‫そのため､ 保存とその間の任意の場所で､ 可能な限り補間することになるのは明らかです｡
‫では､ 実際にプレイして､ 足が滑る問題が解決されたかどうか確認してみましょう｡
‫足元が見えるように､ 地面を見下ろそう｡
‫歩いているときもそうですが､ 走っているときも､ 足が滑らないというか､ まったく滑らないのがわかります｡
‫確かに今は目立つ足滑りはしませんね｡
‫今後使用するアニメーションをブレンドスペースに配置したり､ 足の動きに合わせたりする場合に､
‫この方法を適用できればと思います｡
‫というわけで､ アニメーションの話はこれでおしまいです｡
‫とりあえず､ 3人称のキャラクターを使ったアニメーションのスタート地点には立てたと思います｡
‫次に､ ここに本当に欠けているのは､ 銃の構造です｡
‫そこで､ 次回の講義では､ サードパーソンシューティングとファーストパーソンシューティングの銃の設計方法について見ていきたいと思います｡
‫現地でお会いしましょう｡