シンプルなボタンや GUI ソリューションはあまり好まれませんでしたが、Blender で独自の Python コードをハッキングするのは、思っているよりも簡単であることがわかりました。
私が扱っている立方体はドミノの石のようなものです。その後、ドミノのように見えるすべてのオブジェクトには、「ドミノ」で始まる名前が付けられます。名前に基づいてシーン内のすべてのオブジェクトを変更するのは非常に簡単です。
for o in bpy.data.objects:
if not "Domino" in o.name:
continue
o.rigid_body.mass = 500
o.rigid_body.friction = 0.4
o.rigid_body.restitution = 0.95
o.rigid_body.angular_damping = 0.2
o.rigid_body.linear_damping = 0.05
このコードを使用するには、単純に新しいウィンドウを開き (既存の Blender ウィンドウの右上にある小さな三角形のアイコンをドラッグ)、ウィンドウの種類を「Python コンソール」に変更し (左下のウィンドウの種類を選択するアイコン)、上記のコードを次の場所に貼り付けます。それ。
コードは、外部のテキスト エディターで編集できます。別の方法として、Blender 内でテキスト エディター ウィンドウを開くこともできます。シーンを保存すると、Python コンソールと内部テキスト エディターの両方が 3D モデルに沿って保存され、非常に優れたワークフローになります。
などの正しいオブジェクト名を見つけるのbpy.data.objects["Domino.033"].rigid_body.mass
は非常に簡単です。これは、Blender がフォーム入力フィールドにマウス ポインターを合わせるとこれらを表示するためです。オブジェクトを特定した場合は、Python のdir()
関数を使用して、オブジェクトのすべての既知のメソッドと属性のリストを取得します。GUI が変更または使用できる以上のものがあるかもしれません。
これは思ったよりずっと簡単でした。これはおそらく、GUI 要素のない複雑な操作を考えることができる理由を説明しています。単純に、コードで処理する方がはるかに簡単です。Blender 独自の配列属性を使用する代わりに、おそらくこれを使用して、線、円、らせんに沿ってオブジェクトを複製および配置します。これにより、後で簡単に位置を調整できます。