ラベル アニメーション の投稿を表示しています。 すべての投稿を表示
ラベル アニメーション の投稿を表示しています。 すべての投稿を表示

2013年9月17日火曜日

[MEL]頂点ウェイトの軽量化ツール


リアルタイム系のウェイト調整作業でよく必要になる、
・ウェイト値の桁数設定
・インフルエンスオブジェクト数の上限設定

をひとつにまとめたツールを作ってみた。
ページ下部からダウンロードしたファイルを解凍、ファイルを
Mayaのスクリプトパスにコピー後、Mayaを起動すると使用できる。


【使い方】

1.任意の頂点を選択(複数モデル可)
2.Script Editorに SkinWeightReduction(); と入力。
  シェルフ等に登録しても良い。



・ウェイト値の桁数設定
 [Reduction Threshold]に任意の桁数を入力しEnter。
 (小数点以下1桁の場合は0.1、2桁の場合は0.01…、小数)
 [Round off the Weight Values]ボタンをクリック

・インフルエンスオブジェクト数の上限設定

 [Reduction Threshold]に任意の桁数を入力しEnter。
 (1つの場合は1、2つの場合は2…、自然数)
 [Limit the Number of Influences]ボタンをクリック


ウェイト値の桁数設定は基本的に四捨五入で値を決定しているが、
桁が0.1の場合、値の合計が0.9~1.1になる可能性があるため、
その場合には一番大きな値を増減して正規化している。

一方インフルエンスオブジェクト数の上限設定では、設定数が2の場合、
1頂点中ウェイト値の大きい2つを残し、残りを合計。
残り値を上位2つのウェイトの比率でそれぞれに分配することで正規化した。

どちらも簡単な機能なので1つのツールにまとめたが、値の入力場所を
1つにまとめたUIは少し使いづらいかなと感じている…。

「Skin Weight Reduction」をダウンロード


2013年4月25日木曜日

[試作]Tail Rig のジョイント数を増やす




前から作ってみたかった機能。
ジョイント数の少ないtail rigやsnake spineから、
アニメーションを保持したままジョイントの数を増やした
動作/形状ともに滑らかなチェーンを生成する。
説明しづらいのでとりあえず動画にしてみた。


実際はまだツールの形にもなっていない試作の状態。
使い道としては、
・低スペックハード向けのRIGをアップコンバート
・少ないノードで尻尾を動かすRIGとして使用
などを想定している。
ただ、私自身はRIG/アニメは専門外なので、
本当に使い道があるのかはやや不安・・・。

ご意見などありましたら是非お教えください。


2010年6月9日水曜日

オブジェクトのコンストレイン(追従)

Constrain_00

オブジェクトを他のオブジェクトの動きに追従させる方法。



・キャラクターセットアップのハンドル作成
・ウエイトスキンを使わないボーンを用いたアニメ(メカなど)
・オブジェクトにカメラを追従させ、一人称の画を作成する
・エクスポート出来ないデータにロケーターを追従させ、
 代わりにそのロケーターをエクスポートする

 
など使い方はいろいろ。


1.追従されるオブジェクト・追従するオブジェクトの順でモデルを選択する。

2.Animationメニューの[Constrain]→任意の対象を選ぶ。

Constrain_01

 ・Point …移動値
 ・Aim   …(モデルの向き。今回省略)
 ・Orient…回転値
 ・Scale …拡大値
 ・Parent…(相対的移動・回転値。今回省略)
 
 オプションメニューで以下の設定が可能。
 
Constrain_02

 [Maintain offset] …現在の相互差分の値をオフセット値に使用する
 [Offset]                …XYZのオフセット値。手動入力。
 [Constraint axes]…コンストレインする軸方向を選択
 [Weight]             …追従する割合を設定
 



2010年5月15日土曜日

色々なアニメーションをキーフレームアニメに変換する

パスアニメコンストレインダイナミクスなどキーフレーム以外の方法で
アニメーションさせたものを、キーフレームアニメに変換する方法。
アニメーションのベイク(焼付け)。
 



Bakesim_01
       【サンプルのパスアニメモデル】
 
1.変換する対象を選択する。
2.[Animation]→[Edit]→[Keys]→[Bake Simulation■]を選択。
3.オプションウインドウで各種設定を行い[Bake]ボタンで実行。
 
 

【Bake Simulation Options】
 Bakesim_02
 
[Hierarchy]
 ・Selected・・・選択オブジェクトのアニメのみベイク
 ・Below   ・・・選択オブジェクト以下の階層全てのアニメをベイク
[Channels]
 ・All keyable      ・・・選択オブジェクトのキー設定可能な全てのアトリビュートをベイクする
 ・From Channel Box・・・チャンネルボックスで選択されているアトリビュートのみベイクする
[Driven channels]・・・ドリブンキーをキーセットに含む
[Control points]・・・変形可能な制御点(バーテックス、CVなど)のアニメをキーセットに含む
[Shapes]・・・シェイプノードのアニメをキーセットに含む
[Time range]
 ・Time Slider・・・タイムレンジの制限なし
 ・Start/End・・・下枠のStart timeとEnd timeで指定した範囲をベイクする
[Sample by]・・・何フレーム毎にキーを生成するか。1で全てのフレームにキーが打たれる
[Keep unbaked keys]・・・ベイクしていないアニメーションを保持する
[Sparse curve bake]・・・最小限のキーのみでファンクションカーブを作成する
[Disable implicit control]・・・IKハンドルなどのコントロール効果を無効にする
 
 
Bakesim_03
 【ベイク前のファンクションカーブ(motionPath)】


Bakesim_04
【ベイク後のファンクションカーブ(Translate X,Y,Z)】



2010年2月16日火曜日

[MEL]アニメーション関係のMEL素材

アニメーション関係のMEL。



オブジェクトに使用されているアニメの先頭・最後のキーフレームを取得
 findKeyframe -w first; // 先頭フレームを取得
 findKeyframe -w last; // 最終フレームを取得
 
 
シーンのアニメーションの再生フレームを設定
 playbackOptions  -ast 0 -aet 60; // 0~60fを再生フレームに指定
 
 
(使用例)選択したモデルのキーフレームが打たれている範囲に再生フレームを合わせる
 $stFm =`findKeyframe -w first`;
 $edFm = `findKeyframe -w last`;
 playbackOptions -ast $stFm -aet $edFm;
 
 
シーンのアニメーション再生開始フレームを変数$iに代入
 $i= `floatField -q -v MayaWindow|mayaMainWindowForm|
 formLayout4|formLayout18|formLayout19|formLayout46|floatField5`;
 
シーンのアニメーション再生終了フレームを変数$iに代入
 $i= `floatField -q -v MayaWindow|mayaMainWindowForm|
 formLayout4|formLayout18|formLayout19|formLayout46|floatField2`;



2009年7月3日金曜日

[MEL]fカーブの接線の角度をコントロールする

Graph Editorでアニメーションのfカーブを編集する際に、
キーの接線を簡単に編集するMEL。実行すると小ウィンドウが開かれる。

プロシージャ名は  TangentController();

操作方法などを動画にしてみました。



【使用方法】
1.GraphEditorで接線の角度を変更したいキーを選択(複数選択可)
2.イン/アウトの接線を平行にしたい場合は[Both]そうでない場合は[In][Out]のいづれかにチェック
3.数値入力かスライダーを動かすと、選択したキーの接線の角度が変わる(-90°~90°)
4.アンドゥ可能

「TangentController.mel」をダウンロード