- マグネットを使ったバランス調整
- ボーン+スキンの割り当て
- ポージング
- モーション指定
- レンダリング
前回はセミのマテリアル割り当てまで進みました。
胴体のバランス調整
少し胴体のバランスが気になったため、形状編集モードでの頂点移動やマグネットを使用して微調整しました。
透視図でマグネット変形させる場合は、作業平面をスクリーンにして操作すると直感的に変形できます。
以下のようになりました。
顔部分をZ軸方向に狭めて、胸部も少し狭めました。
横(右面図)から見たときに胴体に厚みがあったため頭部にいくほど薄くなるようにして、胴体の輪郭のバランスを調整しました。
ボーンの割り当て
ポージングを行うためボーンを入れていきます。
胴体と脚、翅にボーンを入れました。
ボーン+スキンについては「昆虫(蟻)- ボーンとスキン」もご参照くださいませ。
以下のようにボーンを配置しました。
赤丸部分がボーンのルートになります。
ブラウザでは以下のようになりました。
スキンの割り当て
ポリゴンメッシュを1つにまとめる
スキンを割り当てる場合は、ポリゴンメッシュまたは線形状が1つのポリゴンメッシュにまとまっている方が効率がいいです。
そのため、胴体部(頭部/胸部/腹部)、脚、口、眼(複眼/単眼)、触角を1つのポリゴンメッシュにまとめました。
翅以外を1つのポリゴンメッシュにしてしまいます。
「オブジェクトの結合」で複数のポリゴンメッシュを1つに結合します。
結合後のポリゴンメッシュを「セミ本体」としました。
このとき、各ポリゴンメッシュはサブディビジョンサーフェスが割り当てられています。
そのため、最終的には1つのポリゴンメッシュはサブディビジョンサーフェスが割り当てられた状態となるようにしました。
また、オブジェクトの結合は同一のマテリアルが割り当てられているものをまずまとめて、フェイスグループを整理するようにしています。
最終的な「セミ本体」の1つのポリゴンメッシュでは以下のようなフェイスグループ割り当てとなりました。
翅は「セミの翅」として1つのポリゴンメッシュにまとめました。
これはサブディビジョンサーフェスは割り当てていません。
また、1つの「翅」のマスターマテリアルを割り当てています。
以上の2つのポリゴンメッシュに対してスキンを割り当てていきます。
「セミ本体」にスキンを割り当て
「セミ本体」を選択し、形状編集モード+頂点選択モードですべての頂点を選択します。
スキンウィンドウを表示し、「頂点ブレンド」を選択。
スキンウィンドウで「バインド」ボタンを押して自動バインドします。
ジョイントモードでボーンを回転させてスキンによる変形を確認していきます。
胴体部はそのままでも問題なさそうでした。
ジョイント値を元に戻すにはブラウザでルートとなるボーンを選択し、マウス右クリックのポップアップメニューより「全てのジョイントをリセット」を選択します。
脚のボーンをジョイントモードで回転させた場合は、胴体も変形してしまいます。
この部分のスキンを調整します。
この場合、左の一番前の脚が対象です。
このボーンは「bone_legs_1_left_1」としていました。
対応する「セミ本体」の頂点を選択します。
「セミ本体」は1つのポリゴンメッシュになっているため、以下の手順で対応する頂点を選択しました。
形状編集モード+面選択モードで左の一番前の脚の面を選択後、
ツールボックスの「編集」-「メッシュ」-「選択」-「連続面選択」を行います。
これで陸続きの面が選択されます。頂点選択モードに切り替えると、対象の頂点だけが選択された状態となります。
スキンウィンドウで「行表示」-「選択のみ」にします。
この選択された頂点は「bone_legs_1_left_1」のボーンの影響を100%受けるようにしたいため、「bone_legs_1_left_1」の列を探してこの列を選択します。
入力フィールドに1.0を指定することで、選択された頂点は「bone_legs_1_left_1」の影響を100%受けるようになります。
ジョイントモードに切り替え「bone_legs_1_left_1」を回転させました。
胴体部の頂点がまだ「bone_legs_1_left_1」の回転についてきています。
スキンでついてきてしまった胴体部の頂点を選択してスキンウィンドウで見てみると、この部分は「bone_legs_1_left_1」や「bone_legs_1_left_2」の影響を100%受けてしまっている、というのが原因のようです。
これを解決するために胴体部の頂点を選択して、胴体部であるのに脚や翅のボーンのウエイト値を持つ頂点を探してみました。
いくつかあります。
ここで胴体部の頂点で脚/翅に対応するボーンのウエイト値を0.0としても、そもそも胴体のボーンのウエイト値が0.0である場合はウエイト値は移動せず、この問題は解決しません。
そのため、以下の手順を行うようにしました。
スキンウィンドウでの操作になります。
- ボーンのルート(ここでは「bone_root」)に極小のウエイト値を入れる
- 胴体部の頂点で、脚や翅のウエイト値が入っている場合は0.0にする
「bone_root」のウエイト値を0.001と変更しました。
脚や翅に対応するボーンのウエイト値を0.0に変更します。
これで、もしこの作業の前に胴体部の頂点で脚や翅にウエイト値が100%入っていた場合、この作業後に「bone_root」が1.0になります。
ジョイントモードで脚のボーンを回転させると、胴体部はついてこなくなるのを確認できました。
これは「bone_legs_1_left_1」のボーンだけでなく、脚/翅のすべてでこの問題は解決できました。
ジョイントモードで胴体や脚のボーンを回転させてスキンの動作をチェックします。
「セミ翅」にスキンを割り当て
翅のボーンは以下のように構成していました。
「bone_wings_left_1_1」「bone_wings_left_2_1」「bone_wings_right_1_1」「bone_wings_right_2_1」がそれぞれの翅の付け根になります。
このボーンに対してそれぞれの頂点をウエイト1.0で割り当てていきます。
「セミの翅」のポリゴンメッシュを選択し、形状編集モード+頂点選択モードですべての頂点を選択します。
スキンウィンドウで「頂点ブレンド」を選択し「バインド」ボタンを押して自動バインドしました。
翅1枚の頂点を選択し、スキンウィンドウの列で「bone_wings_left_1_1」を選択。
選択された頂点に対して、列の入力フィールドに1.0を入れて埋めます。
これで左前の翅は「bone_wings_left_1_1」の動きでのみついてくるようになりました。
他の翅も同様にウエイト値を調整します。
ジョイントモードで「bone_wings_left_1_1」「bone_wings_left_2_1」「bone_wings_right_1_1」「bone_wings_right_2_1」のボーンを選択して回転させると、
それぞれの翅が回転することを確認します。
これでボーン+スキンの割り当てが完了しました。
ポージング
「全てのジョイントをリセット」で元のボーンに戻しておきます。
モーションウィンドウを表示し「シーケンス」チェックボックスをオンにします。
0フレーム目にはじめのポーズのキーフレームを割り当てます。
翅を閉じたポーズを与えました。
ジョイントモードでポージング後、ルートとなる「bone_root」を選択してキーフレームを割り当てています。
翅は正面図で見て、「八」の字型になるようにボーンを回転させています。
テクスチャ表示にして以下のようになりました。
もし翅が胴体に潜り込んでしまう場合は、形状編集モードでマグネット機能を使い胴体の頂点を押し込めて形を再調整するのがよさそうです。
モーション指定
簡単なモーションとして翅を開いて再び閉じる、という動きを与えることにしました。
0フレーム目は閉じた姿勢、50フレーム目は開いた姿勢、100フレーム目は0フレーム目を複製し閉じた姿勢、としています。
ジョイントモードでポージング後、ルートとなる「bone_root」を選択してキーフレームを割り当てています。
翅が開くときは、「八」の字型にしている翅を少し上から見えるように角度を変えています。
モーションウィンドウで再生すると以下のようになりました。
腹部も少し動かしました。
レンダリング
リニアワークフローでレンダリングするため、Shade3D Ver.22.1を使用しています。
背景のHDRIを指定
ShadeExplorerより、背景のHDRIを指定しました。
無限遠光源の環境光を0.0にする
無限遠光源の「環境光」が0.0になっているのを確認します。
色補正の指定
色補正ウィンドウで「ガンマ」が1.0となっているのを確認します。
イメージのsRGB指定
イメージの「カラースペース」は「sRGB(自動ガンマ)」であることを確認します。
レンダリング設定のカラースペース指定
レンダリング設定の「イメージ」タブで「カラーマネジメント」の「ワーキングカラースペース」が「リニアsRGB(ガンマ1.0)」、
「出力カラースペース」が「sRGB」となっているのを確認します。
レンダリング設定の手法「パストレーシング」
手法「パストレーシング」、大域照明「パストレーシング」、イラディアンスキャッシュをオフにします。
その他は初期値のままです。
レンダリング設定の「AIノイズ除去」をオン
レンダリング設定の「基本設定」タブで「AIノイズ除去」をオンにします。
これでレンダリングの準備が整いました。
レンダリング
レンダリングすると以下のようになりました。
0フレーム目と50フレーム目です。
アニメーションレンダリング
モーション設定で100フレーム分の指定を行い、アニメーションレンダリングしました。
セミのチュートリアルはここまでになります。
前回のトンボとセミの作例で、翅について表現がつかめました。
次回は別のテーマを解説予定です。