Rigid Bodyのphysicsの設定をコピーする方法を教えて下さい

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています

投稿ツリー



前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2011/4/15 14:09
パルック  新米 居住地: 日本  投稿数: 8
Blender2.56aを使用してRigidBodyを使ったアニメーションを作ろうとしているのですが、
一つのオブジェクトに設定したRigidBodyのphysicsの設定をコピーして、他のオブジェクトへペーストすることは可能でしょうか?

Add-OnsでCopy Attributes Menuを拡張しても、Copy physicsのような項目が見当たりません
(そもそも昔から無かったのかもしれませんが…)

初心者の上、初めての投稿ですので、不明瞭な点があるとは思いますが
ご回答宜しくお願いします
投票数:5 平均点:8.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2011/4/16 7:32
yamyam  管理人 居住地: そうや、うちはおおさかやー  投稿数: 4405
Blender Gameでのゲームエンジンの機能ですね。
ちょっと見た限りでは見当たらないようですので、この方法を試してみてください。
[wiki]
+コピー元を[Shift]+[D]でDuplicateする(オブジェクトAとする)
+オブジェクトAを選択し、プロパティエディタ(Properties)のObject Dataタブで、コピー先のオブジェクトのMeshデータ(Cubeなど)を選択する
+コピー先オブジェクトを削除する。もしLogicBrickをコピー先オブジェクトに設定している場合は、あらかじめこのオブジェクトAにコピー先オブジェクトの LogicBrick を Objectメニュー→Game→Copy LogicBricks でコピーしておく。プロパティに関しても同様。
[/wiki]
投票数:8 平均点:3.75
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2011/4/20 11:23
パルック  新米 居住地: 日本  投稿数: 8
yamyam様

せっかく教えて頂いたのに返信が遅れてしまい申し訳ございません

メッシュデータとメッシュオブジェクトデータの違いをよく分かっていなかったので、
ご提示して頂いた方法を思いつきませんでした…確かにできました!
ありがとうございました!

また続けてのご質問で大変恐縮なのですが、添付したファイルを見て頂ければお解り頂けると思いますが
デフォルトのCubeオブジェクトをFracture Objectで3つに分割し、setup Fracture shardsを3つに適用。
その後Cube.009をLogicEditer設定し、Copy Logic Bricks to SelectedでCube.011と012にも適用。
その三つのオブジェクトをIcosphereで割るアニメーションの実験をしております(2.56a使用)

疑問1 setup Fracture shardsをかけるとCube.009〜012のPhysics設定が勝手に決まってしまいます(Massの設定など)
    これはどうしてでしょうか?

疑問2 Cube.009のPhysics設定を他の二つ(011と012)へ一度にコピーすることは可能でしょうか?
(今回はCubeを三つに分割しましたが、もっと複雑に分解したときを考えています)
そもそもPhysicsの設定を統一することに意味があるのかも微妙ですが…

返信が遅れた上、重ねて質問させて頂き大変申し訳ございませんが宜しくお願いします!
ちなみに2.57だとFracture ObjectでExecuteしても分割ができません…バグでしょうかね…

また大変申し訳ございませんが、どうしても拡張子がつくとファイルをアップロード出来ないため、.blend拡張子を外しております
開く際は.blendを付けなおして頂いても宜しいでしょうか?
お手数をお掛けして申し訳ございません

:download:TEST001

投票数:4 平均点:5.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011/4/26 13:11
yamyam  管理人 居住地: そうや、うちはおおさかやー  投稿数: 4405
引用:
疑問1 setup Fracture shardsをかけるとCube.009〜012のPhysics設定が勝手に決まってしまいます(Massの設定など)
    これはどうしてでしょうか?
fracture_setup.py 内で設定を決め打ちしてるからです。
設定を変更するにはこのコードをいじるしか方法はありません。

設定は下のあたりで行っています。残りの設定はデフォルトだと思われます。
ちなみに重さはgetsizefrommesh()で取得したサイズを元に計算されているようですね。
        g = ob.game

        g.physics_type = 'RIGID_BODY'
        g.use_collision_bounds = 1
        g.collision_bounds_type = 'CONVEX_HULL'
        g.rotation_damping = 0.9

        sizex, sizey, sizez = getsizefrommesh(ob)
        approxvolume = sizex * sizey * sizez
        g.mass = approxvolume

引用:
疑問2 Cube.009のPhysics設定を他の二つ(011と012)へ一度にコピーすることは可能でしょうか?
以前の手順を繰り返す必要があります。
もし上の範囲にある、もしくはAPIがあればスクリプトを書き換えてしまった方が早いと思われます。
投票数:5 平均点:2.00

  条件検索へ


ログイン

ユーザ名:

パスワード:



パスワード紛失

クイックリンク

2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org

●Blender Q&A
- Blender Stack Exchange

●テストビルド
Buildbot(自動生成)


●開発関連
公式開発サイト
Blender開発blog
Blender Wiki