« 郷に入っては郷に従ったもん勝ち | トップページ | 開国シテクダサヨー »

2015年2月 6日 (金)スタンダード機能とカスタマイズ機能

おはようございます。本日の当番、モーションデザイナーのR.Iです。

最近、誕生日を迎えて29歳になりました。
今年が20代最後の年となるので、悔いのないように過ごしたいと思います。

さて本日は久しぶりにSoftimageのスクリプトの話をしたいと思います。

アニメーション作業でリグを組むことはよくあるのですが、
少し日が経ってからシーンファイルを開いた際、
どのコントローラで制御していたのかを忘れているときがよくあります。
特に自分以外の人が作業したシーンファイルだったら尚更です。

そこでコントローラがコンストレイントで設定されていることが多いので、
コンストレイントの情報を辿って、一番有効になっているノードを
特定するためのスクリプトを作成してみました。

赤い丸のノードを選択して実行すると
20150205_01_2


コンストレイントの情報を辿って
最終的なコントローラを選択する挙動を想定しています。

20150205_02_2

コンストレイントの都合上、同じ種類のコンストレイントが
二つ以上設定されていた場合、一番最後に設定されたコンストレイントの
情報が有効になるので、2つ以上あった場合はそれを辿っていくように
作成しました。
言語はPythonです。

App = Application
oSel = App.Selection


def fSelection_CnsObj(Node):


if Node.Count > 0: #何か選択されていれば、以下を実行
if Node[0].Kinematics.Constraints.Count > 0: #選択したオブジェクトがコンストレイントしてたら以下を実行
while Node[0].Kinematics.Constraints.Count > 0:#コンストレイントしているオブジェクトが選択されるまでループ
oCns_Node = Node[0].Kinematics.Constraints
Node.SetAsText(oCns_Node[oCns_Node.Count - 1].Constraining[0]) #コンストレイント先のオブジェクトを選択
else: #選択したオブジェクトがコンストレイントしてなかったら、ログを表示
App.LogMessage(u"コンストレイントの属性がありません")

else: #何も選択されてなければ、ログ表示
App.LogMessage(u"何も選択されていません")


if __name__ == "__ax_main__":
fSelection_CnsObj(oSel)

と偉そうに作った後に...
似ている機能がSoftimageにあったことに気付きました。

「Select Constraining Object」機能
少し違うのですが、こいつの場合は選択しているコンストレイント情報を
全て辿って選択するというもの。

20150205_03_2


ただ一つのコントローラを特定するなら自分の方がイケているはず...たぶん
作成した当時は「なんだよ、元からある機能じゃん」と
ガッカリしていましたが、自分の作ったものにしかない強みがあったりして、
こっちの方が使いやすいという場面もありました。

DCCツールにはカスタマイズせずにある程度使える機能が
豊富に揃っていますが、仕事をしていると「痒いところに手がとどかない」と
いうのはよくあります。
そういう時に似た機能があるのに作成してしまったとしても、
失敗にならないこともよくあるのです。

スクリプトが組める人には探すより作った方が早いときもあるので、
そこは臨機応変にカスタマイズを楽しみましょう。

follow us in feedly
result = encodeURIComponent( "http://www.accessgames-blog.com/blog/2015/02/post-1b17.html" );document.write( "result = " , result );&media=https%3A%2F%2Ffarm8.staticflickr.com%2F7027%2F6851755809_df5b2051c9_z.jpg&description=Next%20stop%3A%20Pinterest">

| | コメント (0) | トラックバック (0)

« 郷に入っては郷に従ったもん勝ち | トップページ | 開国シテクダサヨー »

モーションデザイナー」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: スタンダード機能とカスタマイズ機能:

« 郷に入っては郷に従ったもん勝ち | トップページ | 開国シテクダサヨー »