制作日記

前回の更新から2ヶ月ほど空きましたが、MODOを購入しずっとMODO処女作の制作に取り掛かっています。まだまだ機能の10%ほども使いこなせてないと思いますが、思いの外早く手に馴染んでいってくれてます。

MODO & Marvelous Designer

https://i.gyazo.com/6797f45f2e0a4dc0d317e4227bef7e88.png

今日はずっとMarvelous Designer(MD)とMODOの連携を試していました。MDで作ったobjのMODOへのインポートとリトポの過程上の記事が大変参考になりました。共有ありがとうございます!

参考記事

独自に調べた点は以下の通り

  • モーフマップがレンダリングされない

    • モーフインフルエンスを追加して解決
  • 展開されたメッシュをリトポの手順 vimeo.com

上の記事とほぼ同じ手順の海外の方の動画。服のパターンの外周部分を残しつつブリッジでリトポしていくのが参考になりました。

  • もっとリトポを簡単にしたい
    • MDの粒子間隔が出力メッシュの頂点数に影響することに気づく
    • 間隔を大きくするとシミュレーションは粗くなりますが頂点数も減ってリトポしやすくなります

髪の試行錯誤

ここ2ヶ月はMODOを試運転しながら、顔のバランス調整と、髪を作るフローを色々と試してました。

[ZBrush] ZSphere

  • 大まかな形を作るのは便利。数が増えると途中からZSphereの配置が難しくなる
    • 髪の流れは一番つけやすい
    • skin化後の加工が難しめ

[ZBrush] 各種ヘアブラシ

  • 一番直感的で好きな方法だけど、ぱっつんの前髪みたいな短冊型の髪の場合後処理がやや難しい
  • 短冊用のブラシを自作すればいいかもしれない

[MODO] ファー

  • 直方体オブジェクトのエッジをカーブに変換してファーのガイドとして使用するパターンを試しました

参考記事

この方法は自分の環境ではとにかく動作が重くて調整に時間がかかりすぎたので諦めました。

[MODO] ベベル

  • トポロジペン→厚み→ベベル
    • シンプルですが、最終的にはこれが一番作りたいものの路線に合っててしっくりきました

MODOスクリプト

まさかMODO内にスクリプトエディタが備わっているとは思いもせず感動しました。メタセコのSelectXシリーズをやりたかったので他のスクリプトを真似しつつ少し書いてみてます。下に挙げたものは基本的なやつで、X座標が負の頂点を選択するスクリプトですが結構よく使ってます。

select_half.py

import lx

fg = lx.eval("query layerservice layers ? fg")
verts = lx.eval("query layerservice verts ? all")

if verts is None:
    lx.out("No geometry")
else:
    for v in verts:
        pos = lx.eval("query layerservice vert.pos ? {0}".format(v))
        if pos[0] <= -0.00000001:
            lx.eval("select.element {0} vertex add index:{1}".format(fg,v))

これは確か公式のスクリプト置き場かどっかで見つけたやつを逐次実行でテストしながら簡単にしたやつです。見て分かる通り、eval祭りでpythonの意味ないじゃんって感じがあります。evalするぐらいならluaとかで直接実行した方が処理も速そうだし。

と思いながら色々調べてたらTD SDKっていうのを見つけました。

MODO’s TD SDK documentation — MODO TD SDK 0.0.1 documentation

あまり調べる余裕が今はないのでそのうちやろうと思いますが、python,perl系のスクリプトをこれで全部書き換えれば幸せになれそうな気がしますね。

トゥドゥ

  • 服作ったらMODOでUV展開
  • ZBrushでディテールを彫ってディスプレースメントマップ作成
  • 各種テクスチャ作成
  • Character Boxでリギングテスト
  • アニメーション

ブログの更新滞ると、一度に書く内容多くなりすぎて駄目な感じ。

制作日記

だいぶ更新をサボりました。ここ数ヶ月ほどの近況です。

Assetリリース

f:id:cignoir:20170427013446p:plain:w300

3月の半ば頃に拙作のAssetをリリースしました。審査は5~10営業日で結果が出ると書いてありましたが14営業日ほど経っても音沙汰がなかったので催促したところ即審査結果が返ってきました。1度だけリジェクトされました。

リジェクト理由は2つ

  • StandardAssetは互換性を保証しないので削除してください
  • 大変かもしれませんがポートフォリオとなるサイトを作ってください

どちらも大した問題じゃなかったので、すぐに対処して提出しなおしたところ翌日にはリリースされました。サイトは適当にRoute53で独自ドメインを取得してS3上に静的サイトを置いてます。

デッサン

下手なので描くたびに上達が実感できて純粋に楽しいです。モデリングその他の合間にやる程度の頻度ではありますが今後も継続していきたいと思います。

絵に限ったことではないですが、今は上手い人の動画をyoutubeで簡単に見ることが出来るし、udemyのようなweb講座も安価に購入出来るし、やる気次第で色々なことに挑戦しやすい世の中になりましたよね。

f:id:cignoir:20170427013147j:plain:w300 f:id:cignoir:20170427013155j:plain:w300

色で混乱してるところがあるので、色は描かずに形を説明するだけのデッサンを突き詰めて練習する必要があるなぁと思ってます。

モデリングのワークフロー見直し

ZBrush & Metasequoia & akeytsu のツールセットで作業してましたが、ツール間のFBXの互換性のなさが問題になりました。

たとえばアニメーションを付けてる最中にトポロジやリグ・ウェイトを変更したくなることが頻繁にあるのですが、ツール間でFBXの入出力に互換性がないせいでツールを切り替えての作業が非常に面倒なことに。

さらに年次で後方互換性のない(?)バージョンアップを行っていくAutodeskの方針がまた破綻を助長しているような……まぁ、そんなこんなで統合ツールを導入しないと厳しいという考えに至りました。ツール間のパイプになっているFBXファイルの互換性は死活問題です。

MODO

統合ツールとしてLightWave, MODO, Blenderの3つが候補としてありましたが、最終的にMODOのUIと機能に一目惚れしました。

体験版で鳩時計のチュートリアルを試した後、MODO 10を購入しました。

(そしたら購入した日にMODO11がリリースされて焦りました……が、4月以降に買った人には無償でMODO11が提供されるそうです)

f:id:cignoir:20170427014108p:plain:w300 f:id:cignoir:20170427014111p:plain:w300

新作モデル制作中

ZBrushで素体を作成し、GoZでMODOと連携しながらリトポロジの作業中です。

リトポロジが終わったら一度ZBrushに戻してマルチレゾリューションでディテールを作り込み、その後の作業はすべてMODOで行う予定です。

新しいツールを覚えるのは大変で時間がかかりそうですが、コツコツやっていこうと思います。

f:id:cignoir:20170427013358p:plain:w300

NieR:Automata

キャラクターや世界感が好きだったのでSteam版をプレイ中です。3D酔いするので1日1時間ぐらいで限界がきます。ゲームも楽しいし、CGも素敵な作品なのでおすすめです。

作り直し

作り直さないと言ったな

あれは嘘だ。

前回の記事で作り直さずにこのまま突き進む的なことを書いたんですが、不満と妥協が爆発したのでやっぱり作り直しました。

その結果、全く別人物になりましが色々と改善されたので作り直してよかったです。

f:id:cignoir:20170306203050p:plain

主な改善点
  • 頂点数を5k未満に
  • まゆげの動き、まばたき実装
  • 指のトポロジ整理

現在のツールセット

前回と変わった点はSubstance Painterを導入したことと3D-Coatをはずしたことです。

ツールセットが増えると必然的に入出力用の中間ファイルも増えて管理が煩雑になり、バックアップ等が面倒になってきている問題がありました。

そこで、さしあたって手動リトポにしか使ってなかった3D-Coatをツールセットからはずすために、3D-Coatの機能「点と面」相当の機能を実現するMetasequoiaプラグインを作ってローポリ編集はMetasequoia一本に絞りました。

アニメーション週間

先週はアニメーション強化週間として、アニメーション作成作業だけをひたすら行っていました。 主要なアニメーションも揃ったので、今週はぼちぼちAssetとしてまとめる作業を始めます。

f:id:cignoir:20170306191438g:plain:w300

アニメーション作成はまだ門を叩いたばかりですが難しいけど楽しいですね。難しいから楽しい?

その他

akeytsu - Metasequoia 間のFBX互換性について

  1. akeytsu でリギング&スキニングしてFBX出力
  2. Metasequoia でボーンとスキンウェイトを正しく読み込めることを確認しFBX出力
  3. akeytsu で読み込むとボーン情報が壊れた

おそらくMetasequoiaで出力する際の分岐ノードの設定をちゃんと理解出来てないのが原因。 一応akeytsu側で手動で修復が出来たので、FBXを非バイナリ(ascii)で出力すれば自動修復スクリプト書けるかも。

テクスチャのパッキングを前提としたオブジェクト分割とUV展開

  • テクスチャの枚数的にはパーツを出来るだけまとめたい
  • スキニング的にはパーツを出来るだけ分割したい

毎回ここに悩んでます……が、光が見えて、 SpriteUV2というテクスチャとUVを再パッキングするツールの存在を知ったので、次はこれを使ってみようと思います。 テクスチャのパッキング前提なら、純粋にパーツ単位でオブジェクトを分割しておけばいいはず? うまくいけば劇的に保守しやすくなりそうです。

口のモーフ

次は最優先で克服する。

やっていく気持ち

手のトポロジに悩んだときに何回か手のデッサンをしてみたら下手な思い込みがほぐれてかなり良かった。 造形に悩んだらデッサンするのは、造形力はもちろんデザイン力・テクスチャ作成力に役立ちそうなので意識してやっていこうと思います。

DailySculpt

土日は本格的にアニメーション作成に着手したかったので、金曜夜に本屋に行って5000円ぐらいの教科書的な本を購入しました。 その本を通じてアニメーターの仕事の簡単なワークフローやアニメーションを作る際の思考回路に少し触れることが出来たわけですが、アニメーターは本当にすごいことをやってると思ったし、なんというか色んな意味で幸せになって欲しいと思いました(待遇とか……)。

完全に自分でキーフレームを打ってアニメーションを作るのは初めてですが、写経がてらいくつか実際に作ってみました。

Idle

f:id:cignoir:20170123020545g:plain

Walk

f:id:cignoir:20170123020632g:plain

Run

f:id:cignoir:20170123020745g:plain

Jump

f:id:cignoir:20170123020809g:plain

Jump2

f:id:cignoir:20170123020825g:plain

楽しい!!✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌

しかし、やってるうちにモデルの細かい点で気になるところ(基本姿勢の背骨の曲がり具合とか)やトポロジの破綻(手の指や、口周り)が見えてきて次の課題が早くも山積みです(この課題が山積みの状態好き)。 いつもなら壊して作り直すんですが、今回の子は作品としてアウトプットすると決めていたので、ある程度妥協しつつもこのままAssetの段階まで仕上げるつもりです。

色々と課題を残しつつも、アニメーションを想定したモデリングが少し出来るようになったという点で今回はひとつ大きなブレイクスルーがあったかなと思います。

次は攻撃・ダメージ・死亡あたりのモーションを作る予定です。

DailySculpt

作業のキリが良かったので連続更新。

表情

頂点モーフならこれまでの技術を使ってakeytsu上でできそうなのでやってみました。表情への影響力を鑑みて口の開閉>眉毛>視線の移動>まぶたの開閉の優先度でできればいいかなと思います。

前も書きましたがakeytsuはweb上で資料がなかなか見つからないので開拓していくのが大変なのですが、今回は強制終了もなく理屈通りにこう動いて欲しいと思ったとおりに動いてくれてスムーズでした。

f:id:cignoir:20170115231156p:plain:w300

しかし、ボーン構造がかなり煩雑になってしまったので、階層構造を整理する目的のジョイントがあってもいいのかなぁと思いましたが他の人がどうしてるか知りたいですね。例えばhipから直接スカートのボーンを生やすんじゃなくて、一旦スカートの親ジョイントを作って子を束ねる形にしたり。

f:id:cignoir:20170115232238p:plain:h150f:id:cignoir:20170115232242p:plain:h150

笑顔。ただの粘土の塊だった頃からここまで一度も笑ったことがなかったけど初めて笑った。すごい(各種ツールが)。

次は

  • IdleとWalkモーション作成
  • リグとアニメーションの再利用について調査。akeytsuでそれらをexportする方法が現状不明(要調査)。この記事に重要なことが書いてそう [ue4]ボーンアニメーションの再利用 MMDモデル編 - Qiita
  • akeytsuでメッシュの部分差し替えみたいなことをやりたい。手足をもうちょっと長くしたいので……

まとめ

ニコニ立体ちゃんさんはやっぱりかわいい。

DailySculpt

デイリーとは(哲学

モデリング

akeytsuを購入したのもあって、今回とにかく可愛いキャラを可愛く動かしたい衝動に駆られていたので アニメ寄りのキャラクターの製作に取り掛かっていました。

f:id:cignoir:20170115041120p:plain:w300

かわいい。服は前回同様、MD6でプロトタイプを作って3DCoatでリトポしてMetasequoiaで調整みたいな流れで作ってます。 ここまでは良かったんですが。

塗り→コレジャナイ

f:id:cignoir:20170115041615p:plain:w300

コレジャナイ感が半端ない。全然かわいくねえ。 ボツにしようかと迷ったんですが、ここで逃げたら永遠に前に進めなそうだったので踏みとどまって デジ絵の塗り方の教科書を買って勉強してみました。

アニメ塗り、ブラシ塗り、ギャルゲ塗りなどのさまざまな塗り方の違いが解説されていて、 まぁ手が動かないので写経は出来ないので眺めるだけなんですが 考えるべきポイントがなんとなくわかってよかったです。

f:id:cignoir:20170115042326p:plain:w300

ブラシ塗りとギャルゲ塗りを参考にしつつ塗ってみました。 まさかbakeせずに自分で陰影を描く日が来るとは。ずっとあきらめてたので嬉しいです。

f:id:cignoir:20170115042812p:plain:w300

Rendered by Renderman

スキニング

前回モデルと違い、akeytsuが落ちなくて作業が捗って気持ちいい。 操作は同じようなことしかやってないと思うのでモデル依存の不具合があるのかなぁ。

今回はスキニングを少しでも楽にしたかったので、 スキニングの作業単位でオブジェクトをあらかじめわけておいて オブジェクトの可視設定を切り替えながらスキンペイントしていきました。

f:id:cignoir:20170115042950p:plain:w300

ジョイントが足りなかったら後からジョイントを足してウェイトを塗ってミラースキンして…… といった工程が滞りなく出来ているので今回はうまく出来そうな予感がします。アニメーションパートも色々難しそうだけど頑張ろう。ちゃんと作るのは初めてかな。

HearthStone

先月ミラクルローグで初めての一桁台、ランク4いけました。やったー。 勝率55~60%キープ出来てたので数こなせばレジェンド狙えそうだったけど時間的に厳しいですね。

f:id:cignoir:20170115044941p:plain:w300

akeytsu test

akeytsu

f:id:cignoir:20161113233548g:plain:w300

試用期間を利用してリギング、スキニング、アニメーションをakeytsuだけでやってみました。

動きがカクカクしてるのはアニメーションスキルの問題です。腕周りどうした?

とにかくドキュメントが無いので、英語の動画見ながらなんとか……

アニメーションをミラー反転する機能を使ってるため、この歩行アニメーションは右半身だけしか作ってません。便利。

あとは前のキーフレームのモデルの状態をゴースト表示出来るのが便利でした。他のツールでも当たり前に出来るものなのかもしれませんが。

Unity

f:id:cignoir:20161113233601g:plain:w300

アニメーションがbakeされたfbxを出力して、Unityにimport test。てかりどうした?

Mecanim

f:id:cignoir:20161113233646p:plain:w300

Mecanim用のセットアップもすんなりいきました。ボーンの階層構造が適切だと設定せずに自動検出してくれる?ボーン名のおかげかもしれませんが未検証。

Metasequoia

f:id:cignoir:20161113233607p:plain:w300

久しぶりにメタセコ(我が家感)触ったらいつの間にかPMD(HLSL)というシェーダが。akeytsu で出力したfbxを読み込んで、スキンウェイトがのっていることを確認しました。

所感

ZBrushと3D-CoatとMarvelousDesignerでローポリモデルを作成してakeytsuでリギング&アニメーション してUnityにimportという流れを一通りやってみました。アニメーションを手作業でやるのは初めてなので新鮮で楽しかったです。これまた深淵なる沼を感じましたが。

akeytsuは操作方法やモデルに問題があったのかもしれないですが、akeytsuにかけた時間の7割はcrashしない方法を探す時間ってぐらいcrashしまくりでつらかったです。とは言えやはり、リギングからアニメーションまでをひとつのソフトで統合的に作業出来るのは素晴らしいと思ったし、UIも洗練されていて好きなので使い続けるつもりです。

アニメーションを少しやるとこういう服にするんじゃなかった!とかもっとモデルを凝りたいとかやりたいことが出てきたのでまたモデリングに戻ろうと思います。無限に手直ししてる気がするけど、やっとワークフローが確立して、これからは後の工程を意識しながら作業出来るので個々の作業が最適化されていくでしょう。

手探りで時間かかりますが試行錯誤を続けます。