2020/08/14 19:00

みなさん始めまして。
『アルトデウス: BC』から制作に参加させて頂いている田村直彬と申します。

元々はアニメ業界にてCGアニメーターとして働いていたのですが昨年の秋にMyDearestへと移り、演出・アニメーターとして本作にスタッフに名前を載せて頂いている次第です。他にも3Dに関わる範囲でワークフロー提案やツール開発などなど、またゲーム制作その物以外でも色々と担当させて頂いております。

今回は前作『東京クロノス』に引き続き制作に活用している3DCGソフトBlenderについて、キャラクターをどのようにゲームへ組み込んでいるかを中心にお話させて頂こうと思います。


Blenderについてはご存知の方も少なからずいらっしゃるかと思いますが簡単な紹介を行います。
1990年代にオランダにて商用3DCGツールとして開発が始まり、2000年代はじめにフリーソフトウェア・OSSとなって引き続きオランダを中心に開発。現在では世界中から開発協力・支援が集まって日々進化を続ける統合環境ソフトです。

誰でも自由に使えるということをモットーに、無料でソフトウェアが公開されています。
日本でもここ数年で相当にユーザーが増えたと感じます。

余談はそこそこに、早速キャラクター制作の流れをご紹介してまいりましょう!


<モデリング>

キャラクターデザイナーのLAMさんのデザイン原案を元にモデリングを行っていきます。
メインキャラクターが8人居るため、複数人がモデラ―として参加しておりますが担当者によってクセやデザインの解釈が異なります。

これらのバラつきを3Dキャラモデリング監修である由治さんの手でまとめ上げられていきます。

実は今作のキャラクターモデリングの段階においてはBlenderのみで作られた物は少ないです。監修の由治さんご自身も別ソフトを使用されています。これは頂点やポリゴンの組み合わせが基本となるモデリングの段階ではどのソフトで作業を行ってもある程度まとめやすいため、作業者の使いやすいソフトを使って頂く方針によるものです。

モデリングの作業画面になります。画像左下のイラストのような物はテクスチャと言ってモデルのポリゴンに貼り付けて質感を表現するための物です。本作ではライティングが行われないため陰影がしっかりと描き込まれているのがわかるかと思います。

また、後述しますがシェイプキーという表情を作るための設定もこの段階で作り込んでいます。

<リギング・スキニング>

モデリングやアニメーションと比べるとリギングとスキニングは聞きなれない方が多いと思います。

簡単に説明しますと”リギング”がキャラクターを動かすための仕組みである”リグ”を設定すること・”スキニング”が”リグ”を動かした際にモデルのどの部位がどれぐらい動くのか設定を行う工程となります。

因みにこの工程移行は作業者全員がBlenderを使っています。リグはソフト間での移行が難しく、一つのソフトで設定を行ったとしても気軽に他ソフトでも作業可能になるわけではなかったりするのです。



リギングでは有料アドオン(プラグイン)のAutoRigProを使用しています。

とにかくリギングスピードが速いということとUnityへのエクスポート機能が充実していること・アニメーションを行う上での機能が必要十分にあるなどの理由で採用しています。

こちらはスキニングの作業画面です。色が赤いほど曲げた時に付いてくるようになっています。ゲーム組み込みの都合、1頂点に2ウェイト・2つのボーンまでしか関連付けできない仕様のため、髪の毛などは曲げた時にカクッとならないようにグラデーションをかけて塗っております。

因みにスキニング作業ではLazy Weight Toolという有料アドオンを活用しています。


Blenderはモデリング・リギング・スキニングなどの各工程を巻き戻した修正に対応しやすいため、モデリングの段階から軽くリギングを行ってポーズ付けを試しつつモデルの調整を行ったり、リギング工程の最中に発覚したモデルの問題などもその場で対応を行ったりしていました。

<アニメーション>

さて、ここまで見た方はキャラクターが両手を横に広げたポーズばかりだということにお気づきでしょうか。このポーズはTポーズといってモデリングやリギングの作業が行いやすい基本ポーズになります。きちんとポーズを付けてあげないといけないですね。

ここからはキャラクターをゲーム上で生き生きと表現させるためのアニメーションのお話をしていきます。

↑こちらがアニメーションの作業画面です。
アドベンチャーパートで使用する単体のポーズですね。アクションというモーションやポーズを格納する機能を用いて複数のポーズ・モーションを一括で出力できるようにしています。

↑こちらは表情作成の作業画面です。
画面左側にずらっと縦並びになっているのが先ほどモデリング時に設定したシェイプキーです。瞬きしたり・口を開けたりなど様々な表情の動きが登録されており、これらを組み合わせて表情作りを行っています。どのシェイプキーがどれぐらいかかっているかの数値をUnityに送ります。

シェイプキーの管理・調整にはShape Keys+というアドオンを活用しています。

Unity側では表情とポーズ・モーションを組み合わせてキャラクターを表現するため、Blenderの段階では表情とポーズは別々のファイルで作業しています。

表情付けを楽にするツールやフレーム毎に作成した表情を出力する専用のツールなども開発しました。

↑表情出力用ツールの使用結果です。
Blenderで1つの顔オブジェクトに内包した複数表情の書き出しが難儀だったため、1つの顔オブジェクトにつき1表情になるように分離複製を行って出力するようにしました。


<まとめ>

以上の工程で出来たモデルデータ・アニメーションデータをFBXという形式でAutoRigProのエクスポート機能で出力を行い、Unityに読み込んでウラヌスエディタで使えるよう登録を行います。ウラヌスエディタについては『東京クロノス』の開発レポートにて触れられておりますので初耳の方はぜひご一読ください!

以上、大雑把となりますが『アルトデウス: BC』においてBlenderがどのように使われているかの一部をご紹介させて頂きました。

各工程のもっと踏み込んだ話題も語ることが多いのですが、ひとまずこの辺りで一旦終わらせて頂きます。

Blenderでは今回紹介したような3Dソフトとしてのメイン機能以外にも様々な機能が盛り込まれており、最新リリースバージョンの2.83からはBlender上でもモデル・アニメーションをVRにて確認が取れるようになったため、今後も更にフローの模索を行おうと考えています。

本プロジェクトではUnityへのデータ出力の他にも活用している場面があるので、次の担当回でその辺りも言及できればと思います。

最後に自己紹介の続きですが、自分はツイッター上で雑賀屋鳶というHNにてBlender中心の情報発信を行っております。もしBlenderに興味が出た方は覗いて頂けますと幸いです!(因みに個別のBlenderに対する質問対応は基本行っておりませんのでご了承ください……!)


ではでは、引き続き本プロジェクトへの応援のほどよろしくお願い致します!