FC2ブログ
*admin*entry*file*plugin| 文字サイズ  

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




先日の問題解決でようやくスムーズにセットアップ
できるようになったのですが、次に浮上したのが・・・

「パラメータ設定」

剛体は結構数が多いので一つ一つ設定して検証する
のは相当面倒くさいです。しかも単調な設定を何度も
繰り返す必要があります。そこで、先日のプログラム
を弄って剛体のパラメータを変更させることにしました。

import bpy

def rigid_body():

mset = bpy.ops.object.mode_set

if (bpy.context.active_object.type != "MESH"):return

if (mset.poll()):
mset(mode='OBJECT')

if (bpy.context.selected_objects == [] ):return

objects=[]
j = 0
for i in bpy.context.selected_objects:
objects.append(i.name)
j = j+1

for i in range(0,j):
RigidBody = bpy.data.objects[objects[i]].rigid_body
if (bpy.context.selected_objects[i].type != "MESH"):continue
if (RigidBody == None ):continue
if (RigidBody.type == "ACTIVE"):
RigidBody.mass = 1.0 #Customize
RigidBody.friction = 0.5 #Customize
RigidBody.restitution = 0 #Customize
if (RigidBody.collision_shape != "MESH"):
if (RigidBody.use_margin == True):
RigidBody.collision_margin = 0.01 #Customize
else:RigidBody.collision_margin = 0.01 #Customize

rigid_body()


詳しい解説は前(この記事)に書いてるので、肝だけ
説明しておきます。前回はターゲットがボーンだけで
しかも単体(アクテイブなボーンのみ)でした。
しかし今回はオブジェクトモードで複数のメッシュを
選択することが前提になっています。
そこで、最後のfor文のあたりで取捨選択しています。

使い方としてはアクテイブオブジェクトがメッシュで
あることと、選択メッシュに剛体が設定されていること。
この2つが動作の条件になります。
該当しない場合は何もせず終了します。つまり、

①適当にメッシュを選択
(剛体が設定されていないメッシュでも良い)
②「B」の矩形選択等で設定したい剛体を選択
(ボーンとかが含まれていても問題なし)
③「Run Script」で実行

これで剛体のパラメータを一括変更できます
ちなみにスカートの剛体設定はこんな感じに

剛体設定


剛体が36個プラス3個(腰と両脚)あります。
この時点でもう一個ずつ設定するのが面倒になりまして。
各種パラメータはマウスオーバーで確認できます

画像の数値を適当に代入していただければどのパラメータ
でも自由に変更できたりします。うむ、なかなか便利(๑╹ڡ╹๑)
(同じ番号同士がそれぞれの変更箇所になります)

剛体一括編集スクリプト
ダウンロード(直リンク)


スカートの剛体設定はとりあえずできたので、パラメータを
いじっているのですがどうも一時的な貫通が防げない様子。

貫通しちょる(´・ω・`)


それ以外はそれなりに上手く動いているんですけどねぇ
最悪その貫通するキーだけ削除すればいいだけの話ですが、
それは面倒なのでもう少し調べてみようかと。


この記事へコメントする















Mithril

Author:Mithril


趣味は主に雑学です。
どうでもいいこと書いてます。

Blenderやプログラムに
ついても書いたりするかも。
私のPC環境はこちら

メールはこちらから↓
mithrilp★yahoo.co.jp
(★を@に変えて下さい)

09 | 2018/10 | 11
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -

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