オブジェクトのコピーを多数作成したので、共有させた方がよいと思いました。同じデータ(同じ元のオブジェクトのインスタンスである)、私はそれを1つずつ行う方法を知っています、それらすべてに対して一度にそれを行う方法はありますか?属性のコピーアドオンを試しましたが見つかりませんでしたどのオプションでそれを実行できるか、またはそもそもこれが可能である場合でも。
回答
Blenderを使用するとこれが非常に簡単になります。
同じデータにしたいすべてのオブジェクトを選択してから、データのコピー元のオブジェクトを選択します。最後に、アクティブにします。オブジェクト。
Ctrl L を押して、オブジェクトデータを選択します。または、3Dビューヘッダーからオブジェクト リンクを作成 オブジェクトデータ。
これを行うと、と同じ結果が得られます。最初にリンクされた複製( Alt D )を使用した場合。
回答
これは、選択したすべてのメッシュオブジェクトがactive_object(最後に選択したもの)と同じメッシュを共有することを前提とした単純なスクリプトです。
import bpy context = bpy.context # use the mesh of the active object obj = context.active_object mesh = obj.data if obj and obj.type == "MESH": mesh_obs = [o for o in context.selected_objects if o is not obj and o.type == "MESH"] for mo in mesh_obs: mo.data = mesh
回答
すべてのコピーを選択してから、元のオブジェクトを選択してください Ctrl L -オブジェクトデータを押します。その後、元のオブジェクトのデータを変更すると、コピーが変更されます。
コメント
- すごい、ありがとうございます。保存しただけで面倒です。動作します!