2015年10月

2015年10月30日

modo901の新機能を調べてみた その27 modo901

マニュアルの新機能を見ると、「アニメーション」の項目で「スペーシングチャート」が何らか強化されたと書いてあるんだけど、マニュアルを読み比べたり比較しながら使ってみた限りでは何が変更になったか確認出来なかった。

fig01

ところで「スペーシングチャート」の「ブレイクダウン」や「インビトウィーン」はドラッグする事で前後のキーポーズにポーズを寄せて行く事が出来る。その際、アイテムを選択しなければカレントアクター全体のポーズが調整され、アイテムを選択していればそのアイテム限定で調整されるようになっている。これは「インビトウィーン」ツールも同様だ。

例えば2つのキーフレーム間でこんなモーションが付いているとすると、

fig02

ちょうど2つのキーフレームの中間の位置にカレントタイムを持ってきて、「インビトウィーン」ツールをONにして右ドラッグするとこのようにカレントフレームのポーズを前後どっちかのキーフレームのポーズに近づけて行く事が出来る。下のGIFアニメはカレントフレームを固定したままカレントフレームのポーズだけ変更しているところだ。

fig03

さらにアイテムを選択した状態で行うと、選択アイテムだけに限定して調整が出来る。下のGIFアニメは向かって左側の腕のスケルトンだけ全て選択していて、この腕のモーションだけタイミングをずらすことが出来ている。

fig04

しかしACSのリグでこの機能を利用しようとすると、アイテムを選択していてもいなくてもリグ全体に影響が及んでしまい、部分的に調整する事は出来ないようだ。

下のGIFアニメは向かって左側の腕のスケルトンを選択してやってみたもの。調整しようとすると腕だけじゃなくて全身動いてしまうのがわかる。

fig05

アクターのグループがアイテムとチャンネルで別れちゃってるのが原因なのかな?せっかくの機能なのでそろそろ直して欲しいね。

それではまた来週。

modo901ブログ目次



take_z_ultima at 11:30|この記事のURLComments(0)TrackBack(0)modo | CG

2015年10月29日

3ds Max 2016の新機能を調べてみた その31 3dsmax 2016

今回は前回調べた「UpdatePositionsWithIntersections」を使ってワールド座標系のZ軸+10000方向から指定のサーフェスにメッシュポイントを投影するモディファイヤを作ってみたよ。

下のGIFアニメは平面にこのモディファイヤを適用してみたもの。平面の頂点のZ軸方向にサーフェスが無い時は変化せず、サーフェスが来た時はZ軸の上からサーフェスに投影した位置に頂点が移動するようになっている。

fig01

モディファイヤにはパラメータが2つあって、1つは投影先のサーフェスをピックアップするボタンと、そのサーフェスからどのくらいZ方向に浮き上がるかを指定する数値。

fig03

基本構造は結構シンプルで、それだけ抽出すると下のようなグラフになる。

fig04

まず「Modifier:TriMesh(Implicit parametersカテゴリ)」ノードでモディファイヤからスタック下の「TriMesh」データを受け取り、「MeshVertices」ノードで各頂点の座標値データを配列で取り出して「UpdatePositionsWithIntersections」ノードの「Vector3 Array」ソケットに入力する。「Surface」ソケットの方は「Parameter:INode」ノードでパラメータからフィットさせるサーフェスノードを提供してもらう。

fig05

これで「UpdatePositionsWithIntersections」ノードが頂点座標をサーフェス上に投影した座標に変換した配列が得られる。

これを「SetMeshVertices」ノードでオリジナルの「TriMesh」の頂点座標値を変換した座標値に置き換えて「Output:modifier」に出力してモディファイヤに戻してやる。

fig06

これで与えられたメッシュを指定のサーフェスノードに「UpdatePositionsWithIntersections」で投影して変形出来るわけだ。

これがこのモディファイヤを適用してみた結果。

fig07

まず一番目立つのは投影面が無い時にモディファイヤを適用しているメッシュの頂点が上の方に飛んでいってしまっている事。これは「UpdatePositionsWithIntersections」が投影できない時にZ=10000に設定する仕様になっているせいだ。

次に投影されて変形したメッシュが投影先のサーフェスから浮いてしまっている。これは投影で得られる座標値がワールド座標系なのに「UpdatePositionsWithIntersections」ノードで設定するのはローカル座標系のためだ。

モロモロの修正についてはまた次回。

maxまとめページ



take_z_ultima at 11:30|この記事のURLComments(0)TrackBack(0)3ds Max | CG

2015年10月28日

modo901の新機能を調べてみた その26 modo901

今回もアニメーションインターフェース関係の変更箇所について調べてみた。

タイムツールがビミョーに機能アップした。

fig03fig04

今まではタイムツールがアクティブの時に右ドラッグするとタイムラインがスクラブ出来て、中ボタンを押し続けるとカレントタイム周辺のアニメーションがリアルタイム再生されてたけど、この操作に加えて「CTRL」キーを押すとさらなる操作が出来るようになった。

CTRL+右ドラッグ:キーフレームにスナップ

fig01

CTRL+中ボタン:押してる間だけ直前のキーフレームに移動

fig02

チャンネルセットにリセットボタンが付いた。チャンネルの値が変更されるとパネルの右側にある丸が黄色くなる。これをクリックすると変更がキャンセルされて元に戻る。カレントタイムを変更すると変更が確定してリセット出来なくなる。

fig05

それではまた次回。

maxまとめページ



take_z_ultima at 11:30|この記事のURLComments(0)TrackBack(0)modo | CG

2015年10月27日

3ds Max 2016の新機能を調べてみた その30 3dsmax 2016

今回も「クリエーショングラフ」について「合成」ノードを参考にノードの使い方を調べてみたい。

今回は「UpdatePositionsWithIntersections」について調べてみたい。

fig01

これがその説明。機能の説明は全く無い。

fig02

自分が調べたところ、このノードの機能はメッシュサーフェスに二次元平面上の点をZ軸プラス方向から投影した点の座標を得るもののようだ。

fig04

これがその中身。

fig03

まず入り口の部分は「Vector3:Array」の配列を「Map」ノードで1つずつファンクションに与えて処理している。処理の内容は、XYZ座標からX、Yの値を取り出して、定数10000と組み合わせて(X,Y,10000)の座標値を生成するものだ。要するに「Vector3:Array」の入力値はXY座標のみ使われてZ座標値は捨てられるわけだ。ちなみにファンクションの「Pass-through:Vector3」ノードはファンクションのパラメータを1つにまとめるための措置だ。このノード自体は特に何の作用もしない。

fig05

こうして得られたZが10000で固定された座標値の配列が次に下のグラフの「Map」ノードの「xs」に入力され、要素ひとつずつがファンクションに与えられて処理される。

その処理は「ZAxis」ノードで(0,0,1)ベクトルを生成し、「Negate」ノードで反転して(0,0,-1)にする。これを「Ray」ノードの「direction」ソケットに入力し、「position」に入力された座標値とあわせて「positon」を始点とする方向(0,0,-1)のレイを生成するものだ。レイは起点と方向を持った値だ。

「position」には「Map」ノードから前述の処理で生成された(X,Y,10000)の座標値の配列が1つずつパラメータとして入力されるから、−Z方向で始点が(X,Y,10000)のレイの配列が生成される。

fig06

この配列が次の「Map」ノードの「xs」ソケットに入力されてファンクションで1つずつ処理される。

そのファンクションは下のようになっていて、「Surface」から入力されたノードを「CheckNodeValidity」で有効性を調べて、ダメならここで処理全体が終了する。接続されたノードが有効なら「NodeIntersectsRay」ノードで、「node」ソケットに与えられたノードと「ray」ソケットから与えられたレイが交差する点を起点として、その点の法線を方向とするレイと、交差があったかどうかを示すBoolean値をタプルとして出力する。そこから「PairItem1」で1番目の要素であるレイだけ取り出す。

だから「Map」ノードの出力は入力されたレイとノードの交点を起点としてその点の法線を方向とするレイの配列を出力する。

fig07

最後にこの配列のレイから「RayPosition」ノードで起点を取り出して配列化することでサーフェス上の交点の座標の配列が出力される。

fig08

それではまた次回。

maxまとめページ



take_z_ultima at 11:30|この記事のURLComments(0)TrackBack(0)3ds Max | CG

2015年10月26日

modo901の新機能を調べてみた その25 modo901

地味なところだけどチャンネルリストからチャンネルがそのままコピーペースト出来るようになった。

コピー出来るのは互換性があるチャンネルどうしだけだ。

例えばこのようにアニメーションが付いているBOXがあって、

fig01

このアイテムのチャンネルリストで「位置X」を右クリックして「コピー」を選ぶ。

fig02

次にこのシーンに追加しておいた「Sphere」を選んで、そのチャンネルリストの「位置X」を右クリックして「貼り付け」を選ぶ。

fig03

これがその結果。X方向のアニメーションがコピーされてその軸だけ同じ動きになった。

fig04

コピーしたのが1チャンネルなのでこれをY軸やZ軸にペーストする事も可能だ。

複数チャンネルを同時にコピペする事も出来る。「BOX」アイテムのXYZチャンネルを選択して「コピー」し、

fig05

「Sphere」アイテムのXYZチャンネルを選択して「ペースト」すると、

fig06

このように2つのアイテムの位置アニメーションは同じになった。

fig07

マニュアルを読むと「ロック」や「最小/最大」の設定などはコピーされないと書いてあったので、チャンネルの前後の動作なんかはどうなるのかなと思って、両端を「オフセット繰り返し(スムーズ)」にしてからコピペしてみたらこの特性はコピペ出来た。

fig08

またチャンネルはプロパティパネルからでもコピペ出来る。

fig09

それではまた次回。

modo901ブログ目次



take_z_ultima at 11:30|この記事のURLComments(0)TrackBack(0)modo | CG
Archives