« ああ栄冠よ。俺にも輝いて下さい。 | トップページ | ギブ・ミー・ひんやり »

2011年8月22日 (月)小さな事から効率化

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

前回のブログは梅雨時でしたが、最近は暑さがハンパないですね。
皆さん、熱中症にはご注意ください。


さて、今回はスクリプトの話をしたいと思います。

普段、自分はXSIを主に使用してます。
モーションを作成する際、リグとは別の制御でモーションを作成したい場合が
多々あります。

そんな時、ヌルを作成⇒コンストレイント⇒ヌルを動かす というような感じで
制御するのですが、ヌルを作成・・・ヌルを作・・・を繰り返していると
シーン上には大量のヌルが作成されます。
制御するヌルが増えてくると画面の中をマウスでカチカチと走りまわらないと
いけないなんて事が多くなってきます。

このままだと見にくいので、自分はよく関連するヌルを
1つのモデルにまとめることをよくやります

視認性もあがり、名前の管理も少し楽になります。
2011_0819_01

勉強ついでに以下のスクリプトを作ってみました。

#選択したオブジェクトの親に入力した名前のモデルを作成する
#シーンに同一モデルが存在した場合、選択したオブジェクトをモデルの子にする
oRoot = Application.ActiveSceneRoot
oSel = Application.Selection
oComent = u"作成するモデル名を入力してください"
if oSel.Count > 0:#何も選択されてなければ実行しない
oInput = Application.XSIInputBox(oComent ,"InputModelName","Model")
	if oInput != "":#空白の入力、もしくはキャンセルされたら実行しない
oModel = oRoot.FindChildren(oInput,"#model")
if oModel.GetAsText() == oInput:#入力された名前が既存モデル名なら以下を実行
oModel[0].AddChild(oSel)
LogMessage(u"既存モデル名を発見")
		else:#既存モデル名じゃなければ、モデルを作成し、親子関係を結ぶ
oRoot.AddModel(oSel,oInput)
LogMessage(u"新規モデルを作成")
else:#選択されたいない場合の警告
LogMessage("CreateModel_Custom : Not Select Obj!!")

オブジェクトを選択した状態で実行すると、テキスト入力画面が表示され、
入力した名前のモデルを作成するものです。

2011_0819_02_3

2011_0819_03

2011_0819_04

もし、シーン上に同じモデル名が存在した場合は、モデルを作成せずに
シーン上に存在するモデルと親子関係を結びます。

2011_0819_05
2011_0819_06

これによってメニューからモデルを作成するコマンドを選ばなくても
モデルを作成するとこができ、同じ名前のモデルを
二つ以上作成してしまうことがなくなります。
小さい事ですが、自分がよく使う機能はスクリプト化して
作業を効率よくこなせるフローを考えるのも大事なことだと思っています。



ですが、このスクリプト、新しいモデルを作成するつもりで実行して
既にモデルが存在する時は「気が利くなぁ~」なんですが、
既に存在するモデルと親子関係を結ぶ事を前提に実行した場合、
文字入力を1字でもミスすると、新しいモデルが作成されてしまうという問題が
あるので次回はUIなどをつけて、より見やすく使いやすいものにできたらなぁ~
と思います。

続くのか?
続きます。続けます!

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

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

« ああ栄冠よ。俺にも輝いて下さい。 | トップページ | ギブ・ミー・ひんやり »

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

コメント

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

トラックバック


この記事へのトラックバック一覧です: 小さな事から効率化:

« ああ栄冠よ。俺にも輝いて下さい。 | トップページ | ギブ・ミー・ひんやり »