• xismo(キスモ)でキャラモデリングに挑戦してみる vol.4

    2017-09-25 22:31

    フリーの3Dモデリングソフトウェア「xismo(キスモ)」を利用し、MMDキャラモデリング作成の顛末を綴る日記です。

    自分用の「備忘録」をメインにキャラモデリングの初心者たるうp主が作業の進捗具合をゆるい感じに報告する趣旨のテキストです。

    4回目の今回はローカル座標とスタンスの変更について書いてみます。
    てかこっちの更新をサボっている間にマッピングの作業もだいぶ進んで、今現在は↓のような状態になっています。




    前回の日記では「パンツを除いてモデリングか完了~」と書いていましたが、今回はパンツ(と他一部)を除いてマッピングが終了している状態ですw

    とりあえずUV展開とマッピングに関する諸々は次回に投稿する予定です。


    ■TスタンスとAスタンス
    前回の記事の最後に少しふれましたが、キャラクターモデル作成における初期ポーズは、両手を水平方向へ伸ばした「Tスタンス」と呼ばれる状態と、ハの字にした「Aスタンス」と呼ばれる状態が一般的なようです。

    MMDの場合は多くのモデルが「Aスタンス」を採用しているため、既存のポーズやモーションの互換性を考えた場合、「Aスタンス」を踏襲して作成することが望ましいと思われます。(初期ポーズが異なると正しいポーズやモーションとならないため)

    しかしながら、モデリングの作業に関してのみに言及すると「Tスタンス」の方が圧倒的に作り易いように思われます。
    これは両手を水平方向に伸ばした状態であれば、手や腕を作成したり調整したりする際に XYZの各座標軸に対し水平(または垂直)に編集を行うことができるためです。



    以上を踏まえて今回は「Tスタンス」で作りこみを行った後、「Aスタンス」へ変更する方式で作業を進めることにしました。


    ■スタンスの変更に関する考察
    スタンスを変更にするあたり、どのような方式が存在するか他のツールの用例なども参考にしつつ以下の2案を検討してみました。
    【方式1】ボーンを用いた変形
    いったん腕に対してボーンを適用し、ボーン変形モディファイアでスタンスの変更を行ったあと、変形をフリーズする。
    (某Blender関連の書籍で紹介されていた方式です)
    【方式2】ローカル座標ツールを使用した回転
    ローカル座標ツールを使用し、腕に関連するノードを回転する。
    今回は「方式2」で作業を行いました。
    というのも、うp主的にボーン・ウエイトの作業が未知の領域(笑)である点に加え、ローカル座標ツールを用いた方式の場合は後述するメリットを享受できそうに思えたためです。(実際メリットがあった)


    ■ノード情報
    まずは「Aスタンス」へ変更するための前準備とし、腕まわりのノード情報を下図のような感じで作成しました。



    「腕G」は空のメッシュノード(以降「親ノード」と呼称します)で、従属する子ノードの編集用に使用します。


    ■「Aスタンス」変更の作業手順について
    以下の手順で変更を行います。

    1.親ノードのローカル座標変更

    ノードツリーから親ノード(「腕G」)を選択します。



    この状態で「ローカル座標ツール」を選択し、



    ツールオプションにて「メッシュ変形」と「子を追従」のチェックを外します。(ココ重要



    この状態でローカル座標ツールを使用し、親ノードのローカル座標原点を回転の中心(腕の付け根辺り)へ移動します。
    (適宜、正面・側面等にカメラを切り替えて確認してください)




    2.親ノードの回転

    親ノードのローカル座標原点が決まったら、ツールオプションにて「メッシュ変形」と「子を追従」をチェックします。(ココ重要



    正面図からローカル座標の回転を行います。



    「Aスタンス」の角度は諸説(笑)ありますが、今回は「36度」としました。
    【注意】
    うp主の使用方法に問題がある可能性も考えられますが、スタンスの角度調節の際に「座標(ローカル座標)」から角度を直接入力した場合、編集中のデータが破損し undo も出来ない状態に陥る場合があります。(ただし保存済のデータは壊れません)
    上記の方法を試される場合は、事前にいったん保存を行うなどして万が一編集途中で破損しても元に戻せる状態にしておいてください。

    3.親ノードのローカル座標をコピー

    スタンスの角度設定が済んだら、[メニュー]-[ノード処理]-[ローカル座標をコピー]を実行します。



    再度、ツールオプションから「メッシュ変形」と「子を追従」のチェックを外します。(ココ重要



    各子ノードを選択し、[メニュー]-[ノード処理]-[ローカル座標をペースト]を実行し、親ノードのローカル座標情報を従属する子ノード全てへコピーします。(理由は後述)

    各子ノードへのコピーが済んだら、またまた「メッシュ変形」と「子を追従」をチェックしてください。





    4.肩と腕のマージ

    xismo の場合、同一のノードに限り頂点の結合が行えます。
    したがって腕と肩が別ノードのままだと頂点結合が行えないため、肩ノードを腕ノードへマージします。


    ノードをマージすることで、腕と肩の頂点を結合し自然な継ぎ目に編集できます。




    5.ローカル座標ツールを使用するメリットについて

    前述した通り、ローカル座標ツールを用いてスタンス変更を行った場合、後々の編集におけるメリットが存在します。(「3.」の手順でローカル座標のコピーを行ったのもこのためです。)

    はじめに記述した通り「Aスタンス」のように座標軸に対し水平(垂直)ではないオブジェクトに対する編集はめんどうな状態となります。
    これは「Aスタンス」変更後に微調整等が必要となった場合でも同様の問題が発生することを意味しますが、ローカル座標を用いることで解決することが可能です。

    xismo における頂点の編集には主にユニバーサルツールを使用しますが、ユニバーサルツールのオプションにて座標系の切り替えることで以下のような変更対象にあわせた編集が可能となります。

    肩を編集する場合はワールド座標を使用。




    腕から先を編集したい場合はローカル座標を使用。



    先ほど、親ノードからローカル座標をコピーしているため、ユニバーサルツールでローカル座標を指定した場合、腕が伸びる方向に向けて水平(垂直)に頂点編集が行える状態となります。



    以上、今回は主にスタンスの変更に関する内容をまとめてみました。
    次回はマッピングまわりの作業について投稿します。
    それではまた次回ノシ


  • 広告
  • xismo(キスモ)でキャラモデリングに挑戦してみる vol.3

    2017-09-10 21:551

    フリーの3Dモデリングソフトウェア「xismo(キスモ)」を利用し、MMDキャラモデリング作成の顛末を綴る日記です。

    自分用の「備忘録」をメインにキャラモデリングの初心者たるうp主が作業の進捗具合をゆるい感じに報告する趣旨のテキストです。

    3回目の今回は体のモデリング作業のなかで特に気になった点について、いくつかメモしてみます。

    今現在は↓のような感じで、ざっくりと全身パーツのモデリングが完了した状態(パンツ除くw)です。
    とりあえず細かい作りこみは後回しにし、全体のバランス把握を優先しました。




    ■ノードについて
    この連載の第1回目でも書きましたが、xismo の場合はメッシュ等のオブジェクトをノードと呼ばれるツリー状のまとまり単位に管理します。

    xismo の場合、現在アクティブになっているノードに対して編集を行うかたちになりますが、このとき他のノード内に存在するメッシュに対しては編集を行えません。

    つまりモデリングの作業を行うにあたり、ある程度共通的なパーツ単位にノードを作成することで、お互いが干渉せずに編集できるわけです。
    (「足」を作成中に「顔」の頂点も一緒に移動してしまった、、、等の事故が防げます)

    またノード単位で表示・非表示の指定も行えるため、邪魔なオブジェクトは一時的に画面から消して作業を行うことも可能です。

    一方で、以下のような制限も存在します。

    1.ノードを跨いだポリゴンの作成が行えない
    2.複数のノード選択し、まとめて移動したり拡縮できない

    「1.」については一体となるオブジェクトについてはひとつのノードにまとめるといった対策が必要となります。

    ノードの結合(CTRLキーを押しながら結合したいノードの上に移動)も行えるため、途中までは別ノードで作成し、最終的にひとつのノードにまとめたうえで頂点を結合するといった作り方も可能かと思います。

    今回は「手」を作成する際に、「手のひら」と「指」をそれぞれ別ノードで作業し、最終的にひとつのノードに結合する流れで作業を行いました。




    なお「スナップ」のオプションから「他ノードにもスナップ」を設定することで、頂点の結合は行えませんが他ノードの頂点と同じ位置に自ノードの頂点を移動することは可能です。




    「2.」については、ノードに親子関係をもたせローカル座標ツールを使用することで編集が可能となります。

    詳細な方法については「■バランスの調整(サイズ変更)」に後述します。
    とりあえず現時点でのノード情報は下図のような感じになっています。




    ■バランスの調整(サイズ変更)
    体の各パーツが出来上がってくると、どうしても全体のバランスを再調整しなければならないケースが発生します。

    今回も胴体がある程度かたちになった時点で顔がデカすぎることに気が付きまして、顔全体の大きさを変更しなければならなくなりましたw
    また顔の作成位置が上すぎて体全体を下に移動する必要もありました。

    前述した通り xismo では複数ノードをまとめて編集できないため、ノードを分割して作成している場合にそのままだと全体をまとめて移動したり拡縮できない状況になります。

    このあたりはモデルの制作前にある程度想定できた問題でしたので、とりあえず以下のような手順で実現できることを検証したうえで作業に着手しました。
    (今回もこの方法でバランスの調整を行っています)

    1.ノードに親子関係をもたせる
    親子関係となったノードの場合は親ノードのローカル座標を変更することで、子ノードに対する移動・拡縮も可能となります。
    この機能を利用するため、親ノードとして「メッシュを作成しないメッシュノード」(以降「ダミーノード」)を作成し、その下に実際のメッシュノードをぶら下げるかたちで作成しました。


    2.移動・拡縮
    移動・拡縮をまとめて行う場合は、ダミーノードを選択し「ローカル座標ツール」を使用します。

    このとき「ローカル座標ツール」のオプションで「メッシュ変形」「子を追従」がチェックされていることを確認します。




    ダミーノードのローカル座標を変更することで、従属する全ての子ノードも移動・拡縮されます。


    3.ローカル座標のリセット
    必須の手順かどうか微妙なところでもありますが、変更したローカル座標は毎回リセットしていました。(親・子共に)

    まず「ダミーノード」を選択し「ローカル座標ツール」のオプションで「メッシュ変形」「子を追従」のチェックを外した状態で、




    「座標(ローカル座標)」から位置・拡縮・回転を全て初期状態に変更し「適用」ボタンを押下します。




    [メニュー]-[ノード処理]-[ローカル座標をコピー]を実行したのち、従属する子ノードそれぞれに対し、[メニュー]-[ノード処理]-[ローカル座標をペースト]を実行することで、子ノードのローカル座標もリセットされます。




    以上の手順で全体のバランス調整が行えますが、ほかにもっとイイ方法がありそうな気もする件。

    まぁ当面はこの方式で作業を進めようと思います。


    ■TスタンスとAスタンス
    冒頭のキャプチャ画像を見ていただくとわかる通り、今現在は「Tスタンス」と呼ばれる状態(両手を水平に広げた状態)で作業を進めています。

    しかしMMDモデルの場合は、既存のポーズやモーションの互換性も考慮し「Aスタンス」と呼ばれる両手を「ハの字」に広げた状態で作成するのが望ましいと思われます。

    最終的に「Aスタンス」へ変更しますが、「Tスタンス」から「Aスタンス」への変更手順も含めて作業の報告がてら、次回にまとめる予定です。


    それではまた次回ノシ


  • xismo(キスモ)でキャラモデリングに挑戦してみる vol.2

    2017-09-03 21:1012

    フリーの3Dモデリングソフトウェア「xismo(キスモ)」を利用し、MMDキャラモデリング作成の顛末を綴る日記です。

    自分用の「備忘録」をメインにキャラモデリングの初心者たるうp主が作業の進捗具合をゆるい感じに報告する趣旨のテキストです。

    2回目の今回は実際に顔のモデリングをやってみたうえでいくつか気になった点をまとめてみようと思います。
    ツイッターの方にもたまに投稿していましたが、今現在は↓のような感じで顔のモデリングは大体完成したところです。



    ツインテールに関してはボディパーツが完成してから全体のバランスを見て追加する予定ですので、今現在は作成していません。


    ■下絵
    とりあえず正面と横顔の下絵を準備しました。



    どうも横顔が「なんか違う感」を漂わせているのですが、目・鼻・口の位置が正面図と一致していればOKくらいのざっくりしたラフ絵となっていますw


    ■輪郭のモデリング
    顔のモデリングについては、mqdlさんがつべで公開されている「xismo講座 実演編」の通り進めてみました。

    https://www.youtube.com/watch?v=lQDsUyof2Kc

    基本的な手順としては前出の動画の通りなのですが、「こめかみ」から「あご」にかけてのポリゴンの流れについて特に注意が必要であると痛感しました。

    というのも、はじめは下の画像のようにポリゴンを作成していましたが、この場合横からの視点で大丈夫そうでも異なる視点で確認すると顔全体が尖っているのがわかります。



    どうも自分の悪いクセのようで、ついつい横視点からこのようなポリ割をしてしまうのですが今回は試行錯誤の結果以下のようなポリ割に修正してみました。



    このあたり、これまでもキャラモデルを作ろうとして微妙に挫折していた部分だったりもするので、今回修正のポイントに気づけたのは個人的に収穫が大きかったです。

    いや、上手い人や慣れている人から見れば当然のことなのかもしれませんが、意外にこういった部分、気付かないモンなんですよ(笑)


    ■材質設定
    材質の設定に関しては「陰影タイプ」を「フラット」に設定しています。
    (作成するモデルにもよりますが、イラスト調やアニメ調のルックを目指したモデルの場合は「フラット」を設定し陰影のない状態とします)

    前回のモデリングでは「陰影タイプ」を「通常」のままで作成していたため、どうもイメージと異なる違和感を常に感じていました。

    「陰影タイプ」の設定により見た目が以下のように変わります。




    また xismo の場合、環境設定における照明の初期値が強すぎるようです。(「陰影タイプ」を「フラット」にした場合とくに顕著です)
    初期値のままだと、テクスチャを設定した際にディテールが飛んでしまうので照明のレベルも適宜変更します。




    ■テクスチャの作成
    前回の記事でマッピングのタイミングについてどうするか考えている旨の記述をしましたが、結果的に
    「ある程度かたちが出来た時点で仮のものでも適用した方がイイんじゃないか」
    という結論になりました。

    とにかく完成形のイメージが早めにつかめる点が大きいかと。
    さらに xismo の場合はUV展開に関するツールも非常に使い勝手が良いので、UV展開に対してそれほどナーバスにならなくても良いので助かります(笑)。

    顔のマッピングデータは今現在↓のような感じで、とりあえず仮のものとなります。(参考用にUV展開図も表示しています)




    ■髪の毛のモデリング
    前髪については当初、前出の「xismo講座 実演編」動画で紹介されている通り、面貼りをメインに前髪の形状を作成する方式で作業を進めていました。

    しかし、うp主のスキル不足もありどうも髪の毛のエッジがうまく表現できない問題に直面しました。




    そこで xismo に実装されている「ヘアーモディファイア」を前髪の作成にも使用することにしました。

    「ヘアーモディファイア」とは線ポリゴンに対し、パラメータの調整で髪の毛の房のような形状を作成する機能です。

    こちらを使用することでイイ感じにエッジも表現された前髪を作ることが出来ました。




    最終的にはモディファイアをフリーズして、ひとつのメッシュノードにまとめています。

    当初はメッシュノード化されたあとに、(無謀にも)各房の重なっている部分を削除したり面を貼り直したりといった調整を行っていましたが、ポリゴンがごちゃごちゃしてしまうのと、面の貼り直しでUVの設定も壊れてしまった(※)ので、いちどやり直してポリゴン化のあとの調整は必要最小限にとどめました。

    ※「ヘアーモディファイア」を使用した場合、UVの展開も自動的に行ってくれますが面を削除して貼り直したりすると折角のUV情報がリセットされてしまう

    このあたり試行錯誤や手戻りが頻発して非常に時間がかかりましたが、いろんな方法を試すことである程度のメリット/デメリットも把握できたので、結果的に良しとしますw

    前述の通り「ヘアーモディファイア」はUVの展開まで自動的に行ってくれる非常に便利な機能です。

    ただ当初は髪の毛のディテールを表現したくて割とシャープなラインを表現したマッピングデータを作成しましたが、どうしても歪みが発生してしまうので、




    最終的にラインをぼかしたデータへ変更しました。




    髪のディテールについては、適宜カッターツールで筋を入れています。
    (この方法だと、角度によっては輪郭線も表示される)




    前髪を「ヘアーモディファイア」で作成したため、後ろ髪とは別ノードとなっています。

    ポリゴンが一体化している状態では無いため、厳密にはUVの境界が出てしまっていますが今回は目をつむります(笑)




    当初は後ろ髪もテクスチャを描くつもりでしたが、スフィアとトゥーンを入れたら意外とイイ感じになったので、薄目にシャドウとハイライトを入れるにとどめました。



    つーわけで今現在の状態をいくつかの角度で・・・



    ちゃんと自分のイラストっぽいルックになっててテンション上がります(笑)


    とりあえず顔はできたという事で、次は体の作成を進めます。
    てなワケでまた次回ノシ