blog

2013/04/19

にわかスクリプト~しょ、ショートカットってイイよね(;゚∀゚)=3ハァハァ


以前、junkiさんがブログで書いてたコレ。

同じ名前の子をイッキに選択するの。

SelectObj( "*." + Selection(0).name );

コレをショートカットに登録てやつ。

素敵だったのでまるっと真似してたんですが、他にも
ショートカット登録したら便利かな~っていうのを登録して試して見てたわけですはい。

それで使用頻度が高かったものをいくつかね。

・Fカーブまるっとコピー
CopyAllAnimation2( Selection(0), siFCurveSource, siAnimatedParam, false, null,null );
Expressionとかは除外して、Fカーブだけアニメーションコピーしてるはず。


・まるっとペースト
var oSel = GetValue("SelectionList")
PasteAnimation( oSel, null );
Logmessage(oSel);
なんかペーストはデフォルトでありそうだけども(´・ω・`)


・リファレンスモード(?)の軸をアクティブなビューに合わせる
var oCam = GetViewCamera(-1);
SetTransientReferencePlane(oCam);
あれです、移動モードとかでLocalボタンの下のRefボタンのアレです。
カメラ合わせで弄くり回すときに便利でした。個人的には。


あとまぁモーキャプデータとか扱って尚且つアニメーションレイヤー使う人向けですが こんなのも
・アニメーションレイヤーマージ+α
var oStartF = GetValue("Project.Data.PlayControl.In")
var oLastF = GetValue("Project.Data.PlayControl.Out")

SetValue("PlayControl.In", oStartF -50, null);
SetValue("PlayControl.Out", oLastF +50, null);

CollapseLayers(Selection(0), null);

SetValue("PlayControl.GlobalIn", oStartF, null);
SetValue("PlayControl.GlobalOut", oLastF, null);

SetValue("PlayControl.In", oStartF, null);
SetValue("PlayControl.Out", oLastF, null);
すっごい無理やりだけども。
アニメーションレイヤってタイムライン分しかマージしてくれなくてイラッとするんです。
だから一回前後50フレーム伸ばして、マージして、戻す。などという頭悪い感じの事してます。
なにかいい方法あるかな。
Fカーブの最初と最後のキーがあるフレーム取得できればいけそうなそうでもないような。

ちなみに前後50フレームなのは特に意味無いです。
アニメーションレイヤの切り替えもショートカットにしてもいいかも。
アニメーションレイヤ開くの面倒くさいものね。

アニメーションに関してメインになってますが取り敢えずこんなところ。
他にも色々便利になるようなの探して行きましょ。

ただ、デフォルトのショートカットにはなるべく被らないようにしないとね。
デフォルトと違うとたまに不便なこともあるんでね(´・ω・`)

-------------追記ワッショイ------------

選択しているオブジェクトのvisibilityをサクッと表示してくれる
.visibilityを.kineにしてKinematicsバージョンも作ってこの2つ登録
シーンがゴチャついてる時にエクスプローラ潜るの嫌だったのでね。

var oCollParam = XSIFactory.CreateObject( "XSI.Collection" );
oObj = GetValue( "SelectionList" )
for(i=0; i<Selection.count; i++){
 oText = Selection(i) + ".visibility";
 oCollParam.AddItems(oText);
 }
Selectobj(oCollParam);
Inspectobj(oCollParam);

0 件のコメント:

コメントを投稿