スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スクリプトを利用して楽しよう!

リグの必要な部分だけボーンとして活用する方法は以前紹介しました。
このとき一個づつボーンにコンストレインを3つ追加してしかもターゲットと名前を設定・・・
あほらしいと思っていたらスクリプト書けるようになってるんだし書いてみよう!と挑戦。

でもわざわざスクリプトをpyファイルとして用意してフォルダにいれるようなものでも無い。
そんなときはBlender内にあるテキストエディタにさーっと書き込みAlt+P(テキストエディタの上で)
すると外部スクリプトを実行したかのように振舞ってくれる。
これはありがたい。
Pythonお勉強(たった一日だけど)して少し報われた瞬間でした。しめしめ。

上記を実現するためのスクリプトは以下。
インデントを無視するFc2の仕様に従順に従ったため、男らしくただのコピペ。
インデントの位置は想像してください。


import Blender

objects = Blender.Object.GetSelected ()
pose = objects[0].getPose()
pbones = pose.bones.values()

rigObjct = Blender.Object.Get('Armature.001')

for pbone in pbones:
pbone.constraints.append(8)
const = pbone.constraints[len(pbone.constraints)-1]
const[Blender.Constraint.Settings.TARGET] = rigObjct
const[Blender.Constraint.Settings.BONE] = pbone.name

pbone.constraints.append(9)
const = pbone.constraints[len(pbone.constraints)-1]
const[Blender.Constraint.Settings.TARGET] = rigObjct
const[Blender.Constraint.Settings.BONE] = pbone.name

pbone.constraints.append(10)
const = pbone.constraints[len(pbone.constraints)-1]
const[Blender.Constraint.Settings.TARGET] = rigObjct
const[Blender.Constraint.Settings.BONE] = pbone.name


わくわくしながら実行したら問題なく動く。
これって実装したいと思った面倒な作業は機能が無くてもその場でスクリプト書いたらなんでもできちゃうのですな・・・・
やっと少しBlender使いに近づいた気がする。

ねよっと。

コメントの投稿

非公開コメント

プロフィール

あしゅ

Author:あしゅ
ぷぃぷぃ日常。
いつのまにか雑記ブログに。

カテゴリ
最新記事
検索フォーム
最新コメント
リンク
このブログをリンクに追加する
ブロとも申請フォーム

この人とブロともになる

カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。