Live2D Euclidのモデルはどうやって作るのか。alive 2016セッションレポート
2016年7月2日に都内で開催された「alive 2016」,その基調講演についてはこちらの記事に詳しい。同日の午後に行われた一般セッションではさまざまなテーマで講演が行われたが,ここでは来場者の注目度の高かったLive2D Euclidのセッションについてレポートしてみたい。
講演は,基調講演にて公開されたEuclidエディタの最新バージョンを使って,Euclidモデルの作成法を解説するという内容だ。Euclidのデザインリーダーであり,エディタ,サンプルモデルYUIの作成を担当した,Live2Dの稲田修一氏が解説を行った。
まず,映像で紹介された保健室のデモで出てくるキャラクター「ユイ」自体は,顔の向きを全方位(360°)で作ったLive2D+3Dのハイブリッドモデルだと説明されていた。映像を見るだけでなく展示のVRバージョンを体験してみたが,Live2D部分に破綻はなく,自然に3D空間内を動き回っていた。
VRデモを体験したときに,ユイと密着してもアラが見えない綺麗なビジュアルだったが,これは3Dでもできないことはない。あくまでLive2D Euclidを使う理由として稲田氏は「二次元らしい柔らかい表現になるということと,Euclidモデルが3Dのような正しすぎるモデルとは違う表現を目指したものであるということ」を理由として挙げた。
また「Live2Dと3Dのどちらかが優れているというのではなく,どういう体験をユーザーに与えたいかによって選択するもの」と語ってくれた。
そして作品紹介に続いて,Euclidモデルの制作フローの説明がされた。
まず,顔のLive2D部分は,これまでのCubismエディタを使ってLive2Dモデルを制作するのとほぼ同じフローで制作していけるという。体の3D部分は,Mayaを使ってモデリングを行い,リギング,そして体部分のアニメーションを付けたあと,FBXで出力している。その後,Euclidエディタで両方のデータを合体させてSDKを使って実機などへ出力という流れのようだ。
2D部分がこれまでと同じフローで制作できるとはいえ,原画1枚をモデリングしていくCubismと作業量が同じわけではない。気になるのは360°の全方位に対応したモデルを作るためには,どれくらいの原画が必要かということだろう。
具体的にどの角度の顔を用意すればいいか,試行錯誤が行われた結果,今回の展示で作られたユイでは7枚の原画を使用したという。また,ユイは左右対称のキャラなのでこれで済んでいるが,左右非対称キャラであればもっと増えることが示唆された。
そして必要な原画を用意できたなら,原画を切り分け,パーツを分割していくことになる。エディタでの動きを見ている限り,この作業は,Cubismエディタで行っている作業とほぼ一緒と考えていいのだろう。
とはいえ,「全方位にモデルを回すことをあらかじめ想定していても,裏側にあるパーツをどうしたらいいか? とか,実際に回してみるとあれ? という具合に問題が出ることが多い」と稲田氏は語る。パーツ分けの段階で完璧にすることを目指すよりも,Euclidエディタ上で実際にモデルを回しながらパーツを追加したりして,随時修正していく必要があるようだ。
ただ,Euclidでは塗りや線を分けることなくPSDデータをそのままインポートして作業できたり,ペイントツールとの連携性を高めた分,修正もやりやすくなっているという。セッション終盤にも解説されたのだが,メッシュエディター=PSDのレイヤーと考えてよく,PSD側でレイヤーを追加して保存して,再インポートするとメッシュが追加されているという具合だ。逆にEclidエディタからPSDファイルを吐き出すと,PSDデータの復元も可能だという。
実際のモデリングの手順はどんな感じなんだろうか。基本的には,デフォルトの表情でいろいろな角度の形を作っていくことになるようだが,セッションで解説された手順を追っていこう。なお,今回レポートする流れは,あくまで本セッション段階での方法であって,変更される可能性があることをあらかじめご了承いただきたい。
まずは,先ほど用意したといっていたユイの7つの原画それぞれをパーツ分けして,その中間となる下絵を目指して変形させていく。
作業としては,メッシュの頂点を目指すべき下絵に合わせて変形させていくだけだ。イメージとしては,Cubismエディタで横顔を作るような感じだろうか。この作業を顔の輪郭だけでなく,目などの各パーツに対して行えばいいようだ。
表情をつける場合は,単純に言って7枚の原画を用意したら,そのすべてをモデリングすることになるのだが,ここはいずれエディタ側の機能で省力化を図っていく予定らしい。
Live2Dでの作業が終わったらMayaで作った体とドッキングして,位置やスケールを調整すればモデルの組み立ては完成となる。
モデルができたら,体に合わせて顔のアニメーションを付けることになる。Euclidエディタのアニメーションは,Live2Dモデルである顔部分のアニメーションのみ作成可能だ。体部分のFBXのアニメを編集することはできないため,体の動きを再生しながら表情のアニメーションを付けていくことになる。アニメーションが完成したら,モデルのMOEファイルとモーションのMTNファイル,そして体モデルのFBXをSDKが対応しているプラットフォーム,今回のデモではUnityへ出力して動かすことになる。
なお,言及はされながったが,スライドの画像を見る限りUnityエディタにあるinspector上でLive2Dモデルのパラメータが操作できたり,Mecanimの対応もきっちり行われている様子がうかがえた。
最後に,モデリング作業の効率化をするために搭載されたEuclidエディタに搭載される機能の一部が紹介された。ここでは,気になる機能をピックアップしていく。
・ランチャー
インストール,アンインストールがここでできる。制作中のデータを複数のバージョンで置いておけるので,ユーザーが利用したいバージョンを選択可能になっている。
・Cubismモデルの読み込み
現段階で,Cubismモデラーから出力したmocファイルをそのまま読み込むことが可能。いずれ,修正が必要になるがcmoxにも対応する予定という。デフォーマもパラメータもそのままインポートでき,さらにアニメーションも制作することができるという(mocファイルを読み込む関係上,パラメータ名が日本語でなくID名になってしまう)。これまで作られてきたLive2Dモデルの資産を取り込むことを可能にしている。ただし,取り込んだデータをどういった形式でエクスポートできるのかまでは言及されなかった。
・グループパレット
顔の向きごとにパーツを整理したりなど,自由にグループ分けでき必要なオブジェクトをまとめて管理して,作業しやすいようにした。表示範囲にタグ付けをしてフィルタを設定すれば,集中して必要なものだけを見て作業できようになっている。
・ミラーリング
Euclidエディタを効率化するための機能として搭載されたのが,左側を作れば右側が作られるミラーリング。顔の正面といった左右対称のメッシュのポリゴンを割り直すときに半分の手間で済む。また,パラメータにも対応していて,ミラーリングを使ってオブジェクトを中央から左への動きを登録すると,自動的に中央から右への動きも登録されるようになっているという。左右対称の動きも格段に作りやすくなっているのだ。
・ベンドパス
Cubismにあった変形パスをさらに強化したのがベンドパスだ。自分でパスを設定するだけでなく,オブジェクトの輪郭に沿って自動で配置させることも可能だ。
・差分から形状を自動生成
これは,作るオブジェクトが多くなったときに形を自動生成するために用意した機能で,動きの差分によって新しく形を作り出すという。
・立体形状の自動生成
2点+中心座標で他の角度の形を作ってくれるこの機能は,正面と斜め前向きの形さえあれば,その角度までの間,球面の上を動くように形を自動で作ってくれるというもの。セッションでデモをされていたように顔パーツの変形に威力を発揮しそうだ。
・その他
その他,いろいろと便利な機能が追加されているようだ。
最後に今後の予定をざっと紹介してセッションは終了した。これからもモデルを作りやすくするために機能をどんどん追加していくようだ。ようやく形になって現れてきたEuclidエディタ。まだまだ,やるべきことがあるようだが,基調講演でも明らかにされたように,Pythonを使ってのカスタマイズも行えるということで,今後どこまで発展していくのか期待したい。
講演は,基調講演にて公開されたEuclidエディタの最新バージョンを使って,Euclidモデルの作成法を解説するという内容だ。Euclidのデザインリーダーであり,エディタ,サンプルモデルYUIの作成を担当した,Live2Dの稲田修一氏が解説を行った。
まず,映像で紹介された保健室のデモで出てくるキャラクター「ユイ」自体は,顔の向きを全方位(360°)で作ったLive2D+3Dのハイブリッドモデルだと説明されていた。映像を見るだけでなく展示のVRバージョンを体験してみたが,Live2D部分に破綻はなく,自然に3D空間内を動き回っていた。
VRデモを体験したときに,ユイと密着してもアラが見えない綺麗なビジュアルだったが,これは3Dでもできないことはない。あくまでLive2D Euclidを使う理由として稲田氏は「二次元らしい柔らかい表現になるということと,Euclidモデルが3Dのような正しすぎるモデルとは違う表現を目指したものであるということ」を理由として挙げた。
また「Live2Dと3Dのどちらかが優れているというのではなく,どういう体験をユーザーに与えたいかによって選択するもの」と語ってくれた。
そして作品紹介に続いて,Euclidモデルの制作フローの説明がされた。
まず,顔のLive2D部分は,これまでのCubismエディタを使ってLive2Dモデルを制作するのとほぼ同じフローで制作していけるという。体の3D部分は,Mayaを使ってモデリングを行い,リギング,そして体部分のアニメーションを付けたあと,FBXで出力している。その後,Euclidエディタで両方のデータを合体させてSDKを使って実機などへ出力という流れのようだ。
2D部分がこれまでと同じフローで制作できるとはいえ,原画1枚をモデリングしていくCubismと作業量が同じわけではない。気になるのは360°の全方位に対応したモデルを作るためには,どれくらいの原画が必要かということだろう。
具体的にどの角度の顔を用意すればいいか,試行錯誤が行われた結果,今回の展示で作られたユイでは7枚の原画を使用したという。また,ユイは左右対称のキャラなのでこれで済んでいるが,左右非対称キャラであればもっと増えることが示唆された。
そして必要な原画を用意できたなら,原画を切り分け,パーツを分割していくことになる。エディタでの動きを見ている限り,この作業は,Cubismエディタで行っている作業とほぼ一緒と考えていいのだろう。
とはいえ,「全方位にモデルを回すことをあらかじめ想定していても,裏側にあるパーツをどうしたらいいか? とか,実際に回してみるとあれ? という具合に問題が出ることが多い」と稲田氏は語る。パーツ分けの段階で完璧にすることを目指すよりも,Euclidエディタ上で実際にモデルを回しながらパーツを追加したりして,随時修正していく必要があるようだ。
ただ,Euclidでは塗りや線を分けることなくPSDデータをそのままインポートして作業できたり,ペイントツールとの連携性を高めた分,修正もやりやすくなっているという。セッション終盤にも解説されたのだが,メッシュエディター=PSDのレイヤーと考えてよく,PSD側でレイヤーを追加して保存して,再インポートするとメッシュが追加されているという具合だ。逆にEclidエディタからPSDファイルを吐き出すと,PSDデータの復元も可能だという。
実際のモデリングの手順はどんな感じなんだろうか。基本的には,デフォルトの表情でいろいろな角度の形を作っていくことになるようだが,セッションで解説された手順を追っていこう。なお,今回レポートする流れは,あくまで本セッション段階での方法であって,変更される可能性があることをあらかじめご了承いただきたい。
まずは,先ほど用意したといっていたユイの7つの原画それぞれをパーツ分けして,その中間となる下絵を目指して変形させていく。
作業としては,メッシュの頂点を目指すべき下絵に合わせて変形させていくだけだ。イメージとしては,Cubismエディタで横顔を作るような感じだろうか。この作業を顔の輪郭だけでなく,目などの各パーツに対して行えばいいようだ。
表情をつける場合は,単純に言って7枚の原画を用意したら,そのすべてをモデリングすることになるのだが,ここはいずれエディタ側の機能で省力化を図っていく予定らしい。
Live2Dでの作業が終わったらMayaで作った体とドッキングして,位置やスケールを調整すればモデルの組み立ては完成となる。
モデルができたら,体に合わせて顔のアニメーションを付けることになる。Euclidエディタのアニメーションは,Live2Dモデルである顔部分のアニメーションのみ作成可能だ。体部分のFBXのアニメを編集することはできないため,体の動きを再生しながら表情のアニメーションを付けていくことになる。アニメーションが完成したら,モデルのMOEファイルとモーションのMTNファイル,そして体モデルのFBXをSDKが対応しているプラットフォーム,今回のデモではUnityへ出力して動かすことになる。
なお,言及はされながったが,スライドの画像を見る限りUnityエディタにあるinspector上でLive2Dモデルのパラメータが操作できたり,Mecanimの対応もきっちり行われている様子がうかがえた。
最後に,モデリング作業の効率化をするために搭載されたEuclidエディタに搭載される機能の一部が紹介された。ここでは,気になる機能をピックアップしていく。
・ランチャー
インストール,アンインストールがここでできる。制作中のデータを複数のバージョンで置いておけるので,ユーザーが利用したいバージョンを選択可能になっている。
・Cubismモデルの読み込み
現段階で,Cubismモデラーから出力したmocファイルをそのまま読み込むことが可能。いずれ,修正が必要になるがcmoxにも対応する予定という。デフォーマもパラメータもそのままインポートでき,さらにアニメーションも制作することができるという(mocファイルを読み込む関係上,パラメータ名が日本語でなくID名になってしまう)。これまで作られてきたLive2Dモデルの資産を取り込むことを可能にしている。ただし,取り込んだデータをどういった形式でエクスポートできるのかまでは言及されなかった。
・グループパレット
顔の向きごとにパーツを整理したりなど,自由にグループ分けでき必要なオブジェクトをまとめて管理して,作業しやすいようにした。表示範囲にタグ付けをしてフィルタを設定すれば,集中して必要なものだけを見て作業できようになっている。
・ミラーリング
Euclidエディタを効率化するための機能として搭載されたのが,左側を作れば右側が作られるミラーリング。顔の正面といった左右対称のメッシュのポリゴンを割り直すときに半分の手間で済む。また,パラメータにも対応していて,ミラーリングを使ってオブジェクトを中央から左への動きを登録すると,自動的に中央から右への動きも登録されるようになっているという。左右対称の動きも格段に作りやすくなっているのだ。
・ベンドパス
Cubismにあった変形パスをさらに強化したのがベンドパスだ。自分でパスを設定するだけでなく,オブジェクトの輪郭に沿って自動で配置させることも可能だ。
・差分から形状を自動生成
これは,作るオブジェクトが多くなったときに形を自動生成するために用意した機能で,動きの差分によって新しく形を作り出すという。
・立体形状の自動生成
2点+中心座標で他の角度の形を作ってくれるこの機能は,正面と斜め前向きの形さえあれば,その角度までの間,球面の上を動くように形を自動で作ってくれるというもの。セッションでデモをされていたように顔パーツの変形に威力を発揮しそうだ。
・その他
その他,いろいろと便利な機能が追加されているようだ。
最後に今後の予定をざっと紹介してセッションは終了した。これからもモデルを作りやすくするために機能をどんどん追加していくようだ。ようやく形になって現れてきたEuclidエディタ。まだまだ,やるべきことがあるようだが,基調講演でも明らかにされたように,Pythonを使ってのカスタマイズも行えるということで,今後どこまで発展していくのか期待したい。