16.9K Views
August 27, 25
スライド概要
ASWアカデミーへようこそ 私たちアークシステムワークスは、長年にわたり対戦格闘ゲームの分野で革新的な映像表現に挑戦し続けてきました。特に『ギルティギア』シリーズで確立した3Dセルルック(アニメ調)CG技術や、日本の伝統的なアニメーション表現は世界中のプレイヤーやクリエイターから高い評価をいただいています。 「ASWアカデミー」は、私たちが培ってきたこれらの貴重な知識や技術を、惜しみなく公開する動画プロジェクトです。 なぜ、あのキャラクターはあんなにも生き生きと動くのか? 心を揺さぶる映像は、いかにして生み出されるのか? 開発に携わったスタッフ自身の言葉で、その設計思想から具体的なテクニックまでを深く、そして分かりやすく解説します。 次代を担うクリエイターにとっての新たな発見や学びの場となり、ゲーム開発のさらなる可能性を共に切り拓く一助となれば幸いです。
本日の講演について
講演概要 命題: 「スキニング時の問題を、全部スキニングで解決しようとしていませんか?」 スキニングがどうしてもうまくいかないとき、問題はスキニング以前の段階、 モデリング、またはリギングの段階での不備であることが多いです。 モデリング段階でのちょっとした工夫で、スキニング作業が圧倒的に楽になったり、 より良い変形結果が得られたりします。 逆に、メッシュの構造に不備があると、 スキニングでどう頑張っても問題が解決しない、ということもよくあります。 今回のセッションでは、「スキニングのためのモデリング」と題して、 良好なスキニング結果を得るためのモデリングTIPSを紹介したいと思います。 想定受講者: ・メッシュで形状は作れるけどスキニングは苦手という方 ・スキニングについての理解をさらに深めたい方
講演者プロフィール 本村・C・純也 アークシステムワークス株式会社 リードモデラー / テクニカルアーティスト / 他いろいろ モデラー出身でシェーダーを書きたくてテクニカルアーティストに。 モデリング・リギング・シェーダー作成、講演とかいろいろ。 代表作: GUILTY GEAR Xrdシリーズ リードモデラー/テクニカルアーティスト DRAGON BALL FighterZ(バンダイナムコエンターテインメント) ディレクター/モデリング監修/テクニカルアーティスト
講演の流れ PART1: スキニングしやすいようにモデリングしよう PART2: モデリングのためにスキニングの裏側を知ろう PART3: きれいに曲げるための「関節のモデリング」 PART4: 「ボーンの配置」と「モデリング」 PART5: その他スキニングTIPS PART6: おまけー初歩的なリギングへのいざないー
この講演について 3Dソフトの種類は問いません 本講演は、「GUILTY GEAR Xrd」を題材とした前講演の続編であるため、 実演などに「Softimage」を用います。しかし、紹介するTIPSは ソフトを問わず応用できるものをチョイスしています。 リアルタイム向けのローポリモデルを前提にしています このセミナーでは、1頂点単位での数値調整が可能な範囲のモデルを 「ローポリ」と定義し、ローポリモデルでのスキニングに的を絞って TIPSを紹介します。
そもそもスキニングとは? 「個々の頂点がどの骨に影響されて動くのか」を指定する作業。 例えば: 赤い頂点は… 赤い骨と一緒に動くように指定 ・これをやらないとポーズもつけれず、アニメーションもできない。 ・意図通りに設定するには、手作業での細かい指定が必要。(特にローポリでは)
Part1 スキニングしやすいように モデリングしよう
TIPS:作業しやすい初期スタンスでモデリングする ・Aスタンスでも、Tスタンスでも良い。 作るものに合わせて使いやすいスタンスで。 ・モデリング時、スキニング時問わず、 「メッシュの頂点を選択しやすくすること」が大事。 ・狙った範囲を選択しやすい=作業しやすい。 ・理屈の上では、どんな姿勢でも良いが、 手足をまっすぐに伸ばしたポーズが作業しやすいことから、 初期スタンスとして定番になっている。 (例えば腕組みしたポーズが初期スタンスだとやりにくいでしょ?) 選択範囲を指定しやすいのが重要
TIPS:メッシュの分割を工夫しよう 全部1メッシュで作成すると、選択しにくくなる ・あたりまえだが、入り組んだ構造だと モデリング時もスキニング時も作業しにくい。 ・明らかに地続きではないものについては、 別パーツにしておいたほうがいろいろ楽ちん。 ・アークでは髪の毛や衣服、アクセサリなど、 パーツ単位で細かくメッシュを分けて作業している。 (最終的にはUE4内でマテリアル毎に統合される) ・作品の仕様(ゲームエンジンなど)によって いろいろルールがあったりするので、要確認。 (処理負荷的には最終的にまとまってたほうが有利) 細かく分けておいたほうが選択しやすい
TIPS:頂点はきれいに並べよう ・グラデーション状にウェイトを設定したいというケースも多い。 (1列ごとに10%ずつウェイトを増やしていく…など) 10% そんな時のために、同じウェイトを設定する前提の頂点は まとめて選択できるようにループ状に位置をそろえておくとよい。 20% 30% 40% 50% 60% 70% ・無秩序に頂点が置いてある状態だと、手作業での ウェイト設定の手間が増えてしまうので注意。 ・ただし、絶対ではない。ループ構造を保持するためだけに 無意味に頂点を増やすのは悪影響をもたらす場合もある。 (後述) 80% 頂点の並びがきれいだと、設定も楽
Part2 モデリングのために スキニングの裏側を知ろう
よくある誤解 「とりあえずポリゴンの割りを増やして スムーズにスキニングすれば、 関節はきれいに曲がるはず」 ・初心者が陥りがちなワナ。 ・少なくともリアルタイム用のローポリモデルにおいては良くない結果につながりやすい。 ・経験者も、「なぜか」をより深く追求すると理解が深まる案件なので掘り下げたい。 ・正直、今日はこの部分だけ覚えていってもらえれば半分以上成功。
関節のモデリング:よくある問題「50%のワナ」 わかりやすい例として、ヒザ周りの スキニングでやってしまいがちな構造
関節のモデリング:よくある問題「50%のワナ」 太ももに100% 太ももに50% スネに50% わかりやすい例として、ヒザ周りの スキニングでやってしまいがちな構造 ・太ももとスネ、それぞれに100% 割り当てた範囲がある ・その中間にあるヒザ付近の頂点には、 太ももとスネ、それぞれに50%ずつ割り振った形 スネに100% ぱっと見はこれで問題なさそうに思える…
関節のモデリング:よくある問題「50%のワナ」 理想 50% (これが…) (こんな感じになってくれたらいいな…)
関節のモデリング:よくある問題「50%のワナ」 現実 50% (…あれ…?)
関節のモデリング:よくある問題「50%のワナ」 何が良くないのか ・50%に設定したヒザの裏側の 頂点がなぜか内側に入り込んでしまい、 ヒザ周りの関節部分が「細く」 なってしまっている。 ・人体は、中身が詰まっているので、 関節は曲げても細くならない。 ゴムホースのように、中身がないものは、 曲げると細くなる。 ⇒関節を曲げた結果が細くなると 人体表現としては違和感につながる
ウェイトブレンドの裏側で起きていることを理解しよう ・「なぜ細くなってしまうのか」を理解するために簡単な実験をしてみよう。 ・問題が起きている頂点のウェイトを、太もも と スネ、 それぞれに100%割り振った場合のスクリーンショットをとってみる。 緑色の頂点を… 太ももに100%割り当てた場合 スネに100%割り当てた場合
ウェイトブレンドの裏側で起きていることを理解しよう 太もも100%とスネ100%の 結果の画像を重ね合わせてみると… さらに 50%の時の結果を重ねてみると… さらに 結果の位置を直線で結んでみると… ・太ももに100%、スネに100%、そして50%の時の、それぞれの結果の画像を 重ね合わせてみると、面白いことがわかってくる。 ・50%の時の位置は、ちょうど両者を直線で結んだ中間に来るのだ。
ウェイトブレンドの裏側で起きていることを理解しよう 「50%のワナ」の正体 実演 ・ウェイトブレンドの結果は、「それぞれのボーンに全振りした結果」をブレンドする。 ・25:75など、他のブレンド比率を試しても、上図の緑のラインの間を移動するだけ。 →どんな数値でブレンドしても、「細くなってしまう」ことは避けられない。
ウェイトブレンドの裏側で起きていることを理解しよう ・このスキニングの計算方法は、知る限りどの3Dソフトでもゲームエンジンでも共通。 (ダブルクォータニオンなど、他の計算手法もあるが、一般的ではない) ・分割を増やしても、ウェイトをスムーズにしても、根本的な解決にはならない。 →むしろ悪化する場合もある!
ウェイトブレンドの裏側で起きていることを理解しよう 結論 ・ウェイトブレンド+回転は、計算の手法上、どうやっても細くなるのは避けられない。 この問題は、スキニングの数値をいくらいじっても解決しない。 →解決には別のアプローチが必要。 ・このスキニング計算の理屈を把握しておくと、頂点の位置とウェイトだけで、 ある程度変形結果が予測できるようになってくる。 →どういう頂点配置、ウェイト設定をすれば望む変形結果になるかがわかってくる。 →効率アップ、クオリティアップにつながる。
Part3 きれいに曲げるための 「関節構造のモデリング」
TIPS:きれいに曲げるための「定番」頂点配置 ・「スキニングの問題がスキニングで解決できない!」 ・となれば、別のアプローチが必要。その一つがモデリング。 ・関節のメッシュの頂点配置を工夫することで、「細くなる関節」の問題は回避できる。 しかも、その方法は一つだけではない。 NG OK 回避方法は 複数ある OK
TIPS:定番その①:「めり込み」構造 ・50%のウェイトを振るような中途半端な位置に頂点は置かず、 関節が曲がり始めたらすぐにメッシュが重なる形。 ・細くなるくらいならメリ込んだほうがマシ。 ・交差箇所にできる鋭角な陰影を表現に取り入れることもできる。 可動部分が狭いのが 特徴。 そのため、 少し曲げるだけで めり込みが発生する。 結果できるシャープな 陰影も利用できる。
TIPS:定番その①:「ハの字」構造 ・同じく、50%のウェイトを振るような中途半端な位置に頂点は置かない。 ・「ハの字」型に可動範囲が広がっているのが特徴。 ・曲げても細くならず、むしろ角度によっては太くなる。 ・めり込み式よりはもう少しソフトな曲げ表現になる。 「ハの字」の 可動範囲が特徴 曲がってもめり込まず、 細くもならない。 めり込み式よりもソフトな 印象の曲がり方になる。 ※さらに深く曲げた場合は、 めり込み式と同じく、交差が発生する
定番の頂点配置それぞれの共通点 ・伸びる側の分割は増やしてもOK。 ・縮む側は分割をむやみに増やさない。 ・曲がった結果の形状から逆算して、きれいな形になるように頂点を配置する。 実演 ヒジやヒザなど、1方向にしか 曲がらない関節では、 伸びる側には分割を足しても 問題は起きない 曲がった結果の形状が きれいになるように、頂点を配置
Part4 「ボーンの配置」と「モデリング」
TIPS:曲がる箇所を意識してモデリング ・「関節によって曲がる部分、曲がらない部分」をモデリングの最中から意識しよう。 ・可動部分は、「50%のワナ」を意識して破綻しないようにモデリング。(定番配置) ・極端な話、スキンのウェイト100%縛りでも、最低限のシルエットは作れる。 実演 例: 灰色:動かない 赤色:可動部
TIPS:ボーン配置のベストポジションを確立しよう 上手く曲がった時の 配置を後で再現できるように その時のボーンと身体パーツの 位置関係から法則を読み解こう ・スキニングの問題の多くは、誤った位置にボーンがあるのが原因。 ・どんなにスキニングの数値を調整しても、ボーンの位置が間違っていれば絶対治らない。 ・まずは人体の構造を知ろう。本とか、資料とかで確認しながら作業して知識を蓄積。 ・上手くいったときの配置から法則を見出して、ノウハウを蓄積しよう。
TIPS:良好なボーン位置を見つけるためのテクニック① 実演 試しにメッシュで曲げてみよう ・ボーンではなく、モデリングツールの回転で試しに曲げてみるのもおすすめ。 ・想定している回転軸に回転ツールのピボットを配置して曲げてみる。 ・いろいろな場所にピボットを置いて曲げてみて、いい塩梅の場所を探す。 ・良いところを見つけたら、そこにボーンを配置する。(メッシュはUndoで元に戻す) いろいろな ピボットの 位置で 曲げてみる 頂点を選んで回転ツールの ピボットを想定されるボーン位置へ きれいに 曲がる位置を 見つけたら そこにボーンを 配置すれば OK!
TIPS:良好なボーン位置を見つけるためのテクニック② 実演 メッシュを動かして最適位置を探ろう ①関節部分のメッシュの位置をずらして、いい感じに曲がる配置を見つける。 ②メッシュの移動をUndoしてさっきと同じ分、ボーンを「逆」に動かす。 ヒザの変形結果がおかしい 良くなった! ヒザ付近のメッシュを 3cm上げてみる と、いうことは・・・ 適切なボーンの位置は「3cm 下 だった」と分かる! そこにボーンを 配置しなおせば OK!
Part5 その他スキニングTIPS
多層構造のメッシュでは割りとウェイトをそろえよう ・本体の上に衣服や装飾がついているような、多層構造のデザインの場合、 本体と装飾品でポリゴン割りとウェイトの設定をマッチさせよう。 ・これがマッチしていないと、ポーズを変えたときに装飾品と本体が めり込んだり、はみだしたりと、ひどいことになる。完全にモデルの問題。 ・「同じ位置、同じウェイトの頂点は、 変形後も必ず同じ位置に来る」 ということを覚えて活用しよう。 そろってれば OK 適当はNG
ポーズをいろいろ取らせて確認しよう ・スキニングをある程度進めたら、とにかくいろんなポーズをとらせよう。 ・シルエット確認のためにも、メッシュを完成させる前から仮スキニングして確認すると良い。 ・実際に作品の中で取るであろうアニメーションを想定して、テストしよう。 (格闘ゲームであれば、パンチキック、などなど。バンザイや開脚もできるようにしておかないといけない) ・いざアニメーターにモデルを渡した後で困らないように先に確認しておくと良い。 → ここまで説明してきたように、メッシュ構造の問題であることも多いため。
Part6 初歩的なリギングへのいざない
次のステップはリギングだ! ・ここまで、モデリングでスキニングの問題を解決する方法を紹介してきました。 ・しかし、「モデリングでも解決できない」問題も出てきます。 ・そんな時に必要になってくるのがリギングです。 ・モデリング、スキニング、リギングの三位一体がそろうことで、 かっこよく動かせるキャラクターモデルの条件がそろいます。 モデリング スキニング リギング かっこよく動かせる キャラクター!
初歩的なリグの紹介:手首のねじれ① ・とはいえ、いきなり高度なリグを作るのは難しいので、 まず最初はシンプルなものから挑戦しましょう。 ・比較的シンプルながら活用範囲が広いのが手首のねじれのコントロールです。 ・何もしないと手首を回転させると 関節が破綻してしまう。 これを解決したい。
初歩的なリグの紹介:手首のねじれ② ・実際の人体では、手首からヒジにかけて、前腕全体が徐々にねじれていくはず。
初歩的なリグの紹介:手首のねじれ③ ・前腕に複数のねじれ用のボーンをおいて置き、 手首のボーンと連動して少しずつ回転させていく ・コンストレイントやエクスプレッション、ノードによる 制御など、やり方は3Dソフトによって微妙に 異なるので、各自で調べてみると良いでしょう。 手首の回転に… 20%追従 50%追従 ・手首以外にも、あらゆる部分の「ねじれ」の 問題を解決するのに有用。 80%追従 ・リグの初歩として練習に最適な上に、 応用範囲が非常に広いので勉強の 費用対効果が非常に高い。おすすめ! 実演
モデラーがリギングを覚えると良いわけ ・モデリングでも、スキニングでも解決できない問題が、リギングで解決することも多い。 ・リグの構造に適したモデリング、という考え方も必要になってくる。 「この頂点は、リグでこう動くから、この配置が正しい」という考え方。 ・最終的には、スキニング、リギングも含めて、それぞれの頂点がどのように 制御されるのか、から逆算してモデリングできるのが理想。(ローポリならでは) ・キャラクターモデラーはメッシュ作成だけではなく、 スキニングやリギングなどの勉強もすることで、 最終的なキャラクターモデルのクオリティがあげられる。 ・いろいろ覚えてキャラクターモデラーとしての総合力を高めよう!
最後に
最後に まとめ: ・問題の根本は、別にあることもある。目の前の「手段」にとらわれないようにしよう。 どう頑張っても解決しない問題は、別角度からアプローチすることで解決できることもある。 ・処理の「裏側」で起きていることの法則を見極められると、 問題の原因がわかりやすくなり解決法も見えてくる。 ・「新しい手段」を手に入れることで問題を「飛び越えられる」ようになることも。 →例:リギングへのいざない ・どんな問題にも何かしら解決策、回避策はあるはず。追求し続ければ 思いもよらない発見や、より深い洞察、抜本的な解決法なんかが得られることもある。 あきらめずに、とことん考えて、いろいろ試して、失敗を積み重ねよう。
質疑応答