ゲーム用アセット制作に役に立つ基本情報をここでまとめたいと思います。
ゲームのモデリング
三次元のモデルを作ることをモデリングといいます。
モデルはポリゴン(三角形・四角形・多角形の面)で構成されていて、分解すると頂点、辺、面、面・頂点の向き(法線=ノーマル)です。
三角ポリゴンであれば、頂点の位置が決まれば高速で面が決まります。そのためリアルタイムで動くゲームのメッシュはすべて三角ポリゴンで構成されています。
モデルはポリゴン(三角形・四角形・多角形の面)で構成されていて、分解すると頂点、辺、面、面・頂点の向き(法線=ノーマル)です。
三角ポリゴンであれば、頂点の位置が決まれば高速で面が決まります。そのためリアルタイムで動くゲームのメッシュはすべて三角ポリゴンで構成されています。
しかし、データとして作りやすいのは四角ポリゴンの方です。
ポリゴンの構成(※トポロジー、後述)がわかりやすく、ポリゴンの分割・拡張、ループカットや選択もしやすいのでまずはこちらで作るべきです。
四角ポリゴンから三角ポリゴンに分割する(triangulation)のは簡単で、ゲーム用に出力をしたとき(スカイリムはnif exporter通した時)に自動ですべて三角ポリに分割してくれます。
ポリゴンの構成(※トポロジー、後述)がわかりやすく、ポリゴンの分割・拡張、ループカットや選択もしやすいのでまずはこちらで作るべきです。
四角ポリゴンから三角ポリゴンに分割する(triangulation)のは簡単で、ゲーム用に出力をしたとき(スカイリムはnif exporter通した時)に自動ですべて三角ポリに分割してくれます。
歪みを防止するために仕上げに三角面に分割する場合は、四角ポリゴンで作成したデータは必ず残しておいてください。あとから修正するのが非常に困難になります。
三角ポリゴンは、少ないポリゴン(減ポリ)で構成するために天球体割りしたり、自動分割で発生する歪みを補正する場合に部分的に使いますが、慣れないうちは気にしないでください。
Point
- ゲームはすべて三角ポリゴンを使う
- 制作データはなれないうちは四角ポリゴンで制作する。
- 四角ポリゴンで作ったデータは必ず保管しておく。三角ポリ化後は修正が大変なので。
モデリングのワークフロー
まず、どういう工程で作っているのかという流れを把握します。
正解ではなく、人によって工程が前後したり、何かしら違いはあると思います。
※厳密にはテクスチャ・マテリアル作成やウェイト設定等はモデリングの工程には含まれないです。
ただしゲームにモデルを出すには必要な作業なのでここではまとめてます。
正解ではなく、人によって工程が前後したり、何かしら違いはあると思います。
※厳密にはテクスチャ・マテリアル作成やウェイト設定等はモデリングの工程には含まれないです。
ただしゲームにモデルを出すには必要な作業なのでここではまとめてます。

グレーのは必ずしも必要ではない工程。
資料収集
資料収集ですが、構造の理解してないと全然進まないのでこの工程は時間をかけます。
Google画像検索、Pinterestなどでリファレンスに使う画像は集めれられます。
現物が見れるなら現物を見て、そして写真も撮っておくと良いです。
できれば作るものについての知識もつけておきましょう。
鎧を作るならばその種類や歴史を知っておくと説得力のあるモデルになります。
検索だけだと色々と混同しがちで、ファンタジーとはいえ地に足の付かないものは説得力がありません。
Google画像検索、Pinterestなどでリファレンスに使う画像は集めれられます。
現物が見れるなら現物を見て、そして写真も撮っておくと良いです。
できれば作るものについての知識もつけておきましょう。
鎧を作るならばその種類や歴史を知っておくと説得力のあるモデルになります。
検索だけだと色々と混同しがちで、ファンタジーとはいえ地に足の付かないものは説得力がありません。
ラフスケッチ
必ずしも必要な工程ではないですが、何を作るのかイメージを固めないとこの後が進みません。
人に見せるものではないので絵が下手くそでも、線が狂っていても全く構いません。
人に見せるものではないので絵が下手くそでも、線が狂っていても全く構いません。
もしくはスカルプト(SculptrisやBlenderのスカルプト機能、3D CoatやZ Brush等)でラフモデルを作るのもおすすめです。スケッチよりこっちのが得意な人も一定数はいるはず。
横と正面を書いて2面か図にして下絵にそって頂点を配置していく手法があるんですが、3D空間でのシルエット形成技術やポリゴン分割の練習にならず応用が効かないのでオススメしません。
ポリゴンモデリングの場合はトポロジーをある程度意識しながら作ることになるので、ざっくりポリゴンの流れも描いておくとやりやすいです。
ポリゴンモデリングの場合はトポロジーをある程度意識しながら作ることになるので、ざっくりポリゴンの流れも描いておくとやりやすいです。
- トポロジー
- 3DCGでいうトポロジーというのはポリゴン面の構成です。どういう分割の仕方をすれば綺麗な流れになるのだろうかというの考えていきます。
- トポロジーが綺麗とはポリゴンの流れが綺麗とも言い換えられます。
トポロジーがきれいな利点
- ウェイト作業がしやすい(アニメーションで破綻が少ない)
- ループ選択がしやすい
- UV展開がしやすい
- 少ないポリゴン数で済む(負荷が軽く編集しやすい)
- 実際に画面で表示するときに歪みなく良好な結果を得やすい
特に人体と人体に身につける布など柔らかいものはポリゴンの流れが筋肉に沿っていないとアニメーションで破綻しやすいので重要です。
きれいなトポロジーの例
きれいなトポロジーの例
モデリング
すべてのディテールをポリゴンのみで表現するのは現状のゲームではまずできません。
なので少ないポリゴン+ノーマルマップというテクスチャにディテールを焼き付けて(ベイクと言います)擬似的に再現します。
なので少ないポリゴン+ノーマルマップというテクスチャにディテールを焼き付けて(ベイクと言います)擬似的に再現します。

(c)wikipedia
このノーマルマップは手で描くには非常に難しいので、ハイポリのモデルを作ってベイクもしくは画像からノーマルマップを作成のどちらかもしくは両方使います。
初めからハイポリで作って、あとからリトポ(ポリゴンの面を貼り直してローポリへ)するスカルプトモデリング
ローポリで作って必要に応じて画像からノーマルマップ作成か、ハイポリのモデル作ってベイクするポリゴンモデリング
2種類の手法のどちらかで作ります。(実際には他にいくつか手法はあります。)
人によって向き不向きもありますし、作る題材によっての向き不向きもあります。
初めからハイポリで作って、あとからリトポ(ポリゴンの面を貼り直してローポリへ)するスカルプトモデリング
ローポリで作って必要に応じて画像からノーマルマップ作成か、ハイポリのモデル作ってベイクするポリゴンモデリング
2種類の手法のどちらかで作ります。(実際には他にいくつか手法はあります。)
人によって向き不向きもありますし、作る題材によっての向き不向きもあります。
※ここで言うローポリはゲームで使えるレベルのポリゴン数、ハイポリはそのまま使うには重すぎるポリゴン数ぐらいの意味で、特に数が決まってるわけではないです。
ポリゴンモデリング
ポリゴンモデリングは基本のモデリング方法でこれでほとんどのものが作れます。
ただしトポロジーを常に意識しないといけないので複雑な形状やディテールになるほど難しいです。
応用が効きやすいので他の手法を混ぜたり、ディテールの部分をスカルプトやテクスチャで補助することもできます。
ただしトポロジーを常に意識しないといけないので複雑な形状やディテールになるほど難しいです。
応用が効きやすいので他の手法を混ぜたり、ディテールの部分をスカルプトやテクスチャで補助することもできます。
例えば電池など単純な形状のものをわざわざハイポリのモデルを用意する必要はありません。円柱を少しいじればすぐできます。
マグカップなどのディテールが少ないのもテクスチャからノーマルマップを作れますので同様にわざわざハイポリモデル作る必要ありません。
こういった事例はポリゴンモデリングが向いてます。
マグカップなどのディテールが少ないのもテクスチャからノーマルマップを作れますので同様にわざわざハイポリモデル作る必要ありません。
こういった事例はポリゴンモデリングが向いてます。
スカルプトモデリング
スカルプトモデリング(スカルプティング)は近年急速に普及してきた手法で、彫刻や粘土細工のような感覚で作ることができます。
造形中はトポロジーをあまり意識しなくていいので、複雑な形状やディテールを得意としますが、代わりに正確な形状を作るのが難しいです。
造形中はトポロジーをあまり意識しなくていいので、複雑な形状やディテールを得意としますが、代わりに正確な形状を作るのが難しいです。
人やクリーチャー、オーガニックモデル(自然物)の制作に向いてます。
ハードサーフェイスモデル(Hard-Edged Modelとも。人工物。表面の硬そうなもの)には向いていないとされてきましたが、
ノウハウの蓄積やソフトの進化で十分対応できるようになってきました。※ただし、エッジがきれいに立つZbrush向きの話
ハードサーフェイスモデル(Hard-Edged Modelとも。人工物。表面の硬そうなもの)には向いていないとされてきましたが、
ノウハウの蓄積やソフトの進化で十分対応できるようになってきました。※ただし、エッジがきれいに立つZbrush向きの話
サブディビジョンサーフェスモデリング
サブディビジョンサーフェス(以下サブディビ)は日本語で細分割曲面と呼ばれ、その名の通り細かくポリゴンを分割して曲面に仕上げます。
ポリゴンモデリングは曲線多くなると制御が難しくなりますが、サブディビの場合は少ないポリゴンで複雑な曲面を制御できます。
どれだけ分割するのかの度合い(サブディビジョンレベル)を設定できます。
立方体でサブディビをかけて分割数を増やすと、球体になります。
ポリゴンモデリングは曲線多くなると制御が難しくなりますが、サブディビの場合は少ないポリゴンで複雑な曲面を制御できます。
どれだけ分割するのかの度合い(サブディビジョンレベル)を設定できます。
立方体でサブディビをかけて分割数を増やすと、球体になります。

その性質を説明するのは難しいですが、どれだけ曲面になるかは隣接する辺によって決まります。
辺と辺の幅が狭いほど元の形状が維持されるので、四角形を維持したい場合は辺と辺の幅を狭いエッジループを作ります。
基本的に四角ポリゴンで構成します。三角形や多角形は歪みが発生します。辺の集中する箇所は歪みが発生します。
辺と辺の幅が狭いほど元の形状が維持されるので、四角形を維持したい場合は辺と辺の幅を狭いエッジループを作ります。
基本的に四角ポリゴンで構成します。三角形や多角形は歪みが発生します。辺の集中する箇所は歪みが発生します。

少ないポリゴン(適用したらポリゴンは多いが)できれいな曲面が出せる代わりに、基本は四角ポリゴンのみ、辺がなるべく6角以上にならないように作成するため、ポリゴンモデリングより難度が高いです。
結局どれで進めたほうがいい?
まずはポリゴンモデリングをオススメします。
というのもハイポリモデルで作って、いざリトポロジーとなると、トポロジーが理解できてないとそこで詰まる可能性があります。いきなりサブディビジョンサーフェスモデリングは難しいので、ある程度トポロジーの概念が分かってから使いましょう。
というのもハイポリモデルで作って、いざリトポロジーとなると、トポロジーが理解できてないとそこで詰まる可能性があります。いきなりサブディビジョンサーフェスモデリングは難しいので、ある程度トポロジーの概念が分かってから使いましょう。
ディテールの追い込み
模様・装飾・シワ等の細かい部分をポリゴンモデリングでやるには難しく手間がかかるのでノーマルマップを作成するためにスカルプトする場合があります。
マルチレゾリューション(Multi Resolution=多重解像度)モディファイアを使うとベースはローポリのまま、ハイポリのディテール部分を持たせることができます。
もしくはローポリゴンモデルを複製して、サブディバイドやサブディビジョンサーフェス(細分割曲面)モディファイアで細かくポリゴンを分割したあと、ディテールを作ります。
どちらもその後ノーマルマップにベイクします。
もしくはローポリゴンモデルを複製して、サブディバイドやサブディビジョンサーフェス(細分割曲面)モディファイアで細かくポリゴンを分割したあと、ディテールを作ります。
どちらもその後ノーマルマップにベイクします。
リトポロジー(Re-topology)
一からスカルプトした場合は数百万~数千万の膨大なポリゴン数で制作しますが、これをゲームで使えるレベルまでポリゴンを再構成します。
これがリトポロジー(リトポ)です。要はポリゴン減らすことです。
これがリトポロジー(リトポ)です。要はポリゴン減らすことです。
Blenderの場合はスナップ機能を使ったポリゴン貼り付けか、デフォルトで含まれるアドオンBsurfaceを使ってペンで描いてポリゴンを貼り付けるかのどちらかです。
ZbrushならZremesher、3DCoatならautopoと呼ばれる自動リトポ機能がありますが、基本的にはゲーム制作ではそのまま使えないので手動でやります。
3DCoatの方は手動のリトポも強力なためリトポ・UV専用での使用例も。
3DCoatの方は手動のリトポも強力なためリトポ・UV専用での使用例も。
UV展開
3次元上のポリゴンに対して、2次元のテクスチャを貼る時にその貼る位置を指定する必要があります。それがUV展開です。
Seamと呼ばれる切れ目を入れて、展開します。
立方体にサイコロのテクスチャを貼り付ける場合は以下の展開図になります。
Seamと呼ばれる切れ目を入れて、展開します。
立方体にサイコロのテクスチャを貼り付ける場合は以下の展開図になります。
#ref error :画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
実際のUV展開方法はこちらのUV展開のページを参照してください。
テクスチャ作成
最適化の話
結論から言って「負荷はできるだけ少ないほうがいい」です。
つまりモデリングでは、
つまりモデリングでは、
- ポリゴン数は少なければ少ないほどよい。
- テクスチャはサイズが小さければ小さいほどよい。
これが大前提のうえ、見た目とのバランスをどう取るかです。
ゲームはメッシュとテクスチャだけでなく、ライティングを行ってレンダリングしたり、多くのスクリプトや命令などがリアルタイムで相互に影響しあって動いてます。だから、たとえば(テクスチャ4k、数万単位ハイポリみたいな)非常に重いキャラクターが表示されて描画遅れてしまっているとき、新しく生成した3Dオブジェクトの表示が遅延し、スクリプトがそのオブジェクトを取得できずにエラーになったりクラッシュしたりします。それも結構よくあるパターンなのです。※それでスクリプトのせいにされたりするんですが、単にモデルの最適化がなってないだけです。
リソースは有限です。リソースの上限にはメモリ、ソフト・OSなども関係しますが、描画にはCPUとGPUが主に関係します。
GPUのボトルネック
GPUではフィルレート(テクスチャを処理する能力)かメモリ帯域幅(一度に転送できるデータ量)がボトルネックになりやすいです。これはFPSが大幅に低下したり、クラッシュしたりするので分かりやすいです。対処法もわかりやすく、テクスチャをきちんと圧縮・サイズダウンし、ミップマップは例外を除いて必ず付けます。
雑な判断ですが、圧縮やサイズダウンして、ほぼ分からないくらいの変化だと最適化が足りてないです。
見た目が少々劣化したなと思うぐらいまで、圧縮とサイズダウンしてください。
最高によい状態で出せるという方がおかしいのです。
見た目が少々劣化したなと思うぐらいまで、圧縮とサイズダウンしてください。
最高によい状態で出せるという方がおかしいのです。
CPUのボトルネック - ドローコール
CPUは主にドローコールがボトルネックになりやすいです。ドローコールとは、「オブジェクトを画面に描画してね」という命令をGPU側に送ることです。
これはメッシュ(NiTriShapeまたはBSTrishape)ひとつにつき、最低一回送るので、なるべくメッシュを結合してひとつにまとめます。ただし、マテリアルがまったく別のものは(例えば胴体と装備)分けておきます。
テクスチャもなるべくまとめておきます。例えば、剣の単一モデルを作った場合、ディフューズ/ノーマル/環境マスクマップは各一枚ずつしてください。デュフューズマップに三枚も四枚も使わないでください。
ポリゴン数の話 - どれくらいのポリゴン数ならOK?
ポリゴン数はCPUとGPU、両方に影響与えます。ノーマルマップやLODがあります。
GPUに依存するのであくまで目安値でしかないですが、画面に表示されてる範囲で三角ポリゴンで40万以下に収めてください。
そして、モデリングやリトポするときはバニラのポリゴン数を参考にしてください。プロの技ですし、その数で問題なく動くように作られているからです。PC版ですと少し余裕はありますから、バニラの1.0~1.5倍ぐらいのポリゴン数なら問題ありません。例えば「シェフの服」は胴体部分で約4700三角ポリです。約7000までは問題ありません。
※あくまでスカイリムでの話で、モバイルや最新のDX12世代のゲームではまた事情が異なります。
実際に手を動かしましょう
作ることで初めて身につきます。
以下に実践用の記事を準備していきます。
以下に実践用の記事を準備していきます。