Cinema4Dメモ

Cinema4Dという3DCGソフトに関するメモ書きです。

XPressoを使って眉毛のバリエーションをUVのオフセットで実装する

2020-04-19 01:07:52 | Cinema4D
そんなわけで、フェリスたんの開発作業は少しづつ進んでいます。
ここ数日は肩とか服とか作ってました。
(男です)

というわけで、眉毛のバリエーションを何種類か描いてXPressoで快適に切り替えられるようにしました。
↓フツーバージョン


↓普通バージョンその2


↓顔面蒼白ってか困り顔


マテリアルタグでUVのオフセットのUオフセットの値をいじると横方向に、Vオフセットの値をいじると縦方向に動くんだけど、VがVertical(垂直の、縦のとか言う意味)のVとおぼえておけばOK。それをXpressoで縦横同時にコントロールします。

まず何のオブジェクトでもいいけどここではヌルを作って作業します。
作ったヌルにXPressoを付けます。オブジェクトを右クリックして「プログラミングタグ」→「XPresso」です。XPressoタグをダブルクリックしてXPresso編集ウインドウを開きます。
そしてユーザデータを作ります。

名前は区別が付けば何でもいいんで、ここでは「mayuge」にしました。
そして「データタイプ」を「整数」、「インターフェイス」を「ボックスとスライダ」、値の最小と最大を「最小」0、「最大」1にしました。これから作るスライダーは0、1、2の値を持てるっつーことになります。OKを押してウインドウを閉じます。


次に「ヌル」のオブジェクトをXPressoウインドウにドラッグ&ドロップします。
ノードが作られます。


次にノードの右上の赤い部分をクリックして出力ポートを作ります。情報の出口になります。左上の青い部分をクリックすると情報の入口であるところの入力ポートを作ることが出来ます。
話を戻すと、赤い部分(赤耳)をクリックするとメニューが開き、その中の「ユーザデータ」を選んで、さらに「mayuge」をクリックします。


次にXPressoウインドウ内の何もない場所を右クリック→「新規ノード」→「XPresso」→「計算」→「マップ変換」でマップ変換ノードを作ります。

そしたら情報を最終的に受け取るマテリアルタグをドラッグ&ドロップします。
目的のマテリアルタグがどれなのか間違えないようにしましょうね。


マテリアルタグの入力ポートを開きます。「オフセットU」と「オフセットV」を作ります。混乱を避けるためにマテリアルタグをもう一個作ってUとVで分けて作業してもOKです。


「マップ変換」ノードをもう一個用意します。同じように作ってもいいし、既存の「マップ変換」ノードをCtrlキーを押し乍ドラッグ&ドロップすると同じものが作られます。
現在の値を確認するための「結果」ノードもあると便利なんで用意しましょう。
XPressoウインドウ内の何もない場所を右クリック→「新規ノード」→「XPresso」→「一般」→「結果」death


「結果」ノードは3個あるといいので増やしてね。
そして各ノードのポート同士をワイヤでつなぎます。○から○にドラッグ&ドロップすればいいんじゃよ。

長げーな。もうすぐ終わります。
まずオフセットVから
「オフセットV」につないでいる方のマップ変換ノードを選択して中身をいじっていきます。下の画像の画像ビューアーの赤い数字がユーザデータのスライダの値なので、1のときだけオフセットVは変化するってこと。2になると元の値に戻ります。
出力の上限の値がなんでマイナスなんだろう?ってことなんですが、UV座標系に対して画像の方を動かしているんです。
イメージできますでしょうか?私は毎回老いた頭をフル回転させて考えてます。

次はオフセットのUです。1の時は変化なく2のときだけ動くんだよね。
1の時は縦に動くだけで横方向には動かないからね。縦(V)と横(U)で分けて考えます。

動くようなったら、位置の微調整をしましょう。「出力の上限」の値をいじって調整してください。
ユーザデータのスライダはヌル(ユーザデータを設定したオブジェクト)を選択すると属性マネージャに表示されます。HUD化すると便利です。
HUD化したらHUDを右クリックして、開いたメニューの「表示」→「常に」にしておくと良いでしょう。

ーおわりー


コメントを投稿