Python:コピーされたオブジェクトがアウトライナーに表示されない
Aug 22 2020
bpy.context.active_object.copy()
新しいオブジェクトを使用してオブジェクトをコピーすると、Pythonシェルでオブジェクトを作成したときに表示されても、アウトライナーに表示されませんlist()
。
質問:
- オブジェクトをアウトライナーに表示するための2番目のステップはありますか?
- それとも、オブジェクトのデータをコピーするだけですか?(もしそうなら、どのような目的で?)
- コンパニオン関数、つまり、paste()やcut()はありませんか?(コマンドライン補完では何も生成されません。)
注:bpy.ops.object.duplicate()
コピーせんに表示アウトライナを、ので、これらの質問は、重複/作業コピーを作成する方法についてではありません。の目的を理解したいcopy()
。
回答
5 batFINGER Aug 22 2020 at 20:57
コレクションにリンクする
2.8より前では、コピーされたオブジェクトはシーンのオブジェクトコレクションにリンクする必要がありました。2.8以降の場合は、コレクションにリンクします。
コレクションがシーンにリンクされている場合、またはベースシーンコレクションである場合は、アウトライナーに表示されます。
複製演算子は、複製をコンテキストコレクションにリンクします。
import bpy
from bpy import context
ob = context.object.copy()
context.collection.objects.link(ob)
2.8でPythonを使用して新しいオブジェクトをシーンにリンクする