Python: el objeto copiado no se muestra en el esquema
Cuando copio un objeto usando bpy.context.active_object.copy()el nuevo objeto no aparece en el Esquema aunque aparece cuando list()objeto en el shell de Python.
Preguntas:
- ¿Hay un segundo paso para que el objeto se muestre en el Esquema ?
- ¿O tal vez solo está copiando los datos del objeto? (Si es así, ¿con qué propósito?)
- ¿No hay funciones complementarias, es decir, pegar () y/o cortar ()? (La finalización de la línea de comando no arroja nada).
Nota: bpy.ops.object.duplicate()hace una copia que sí aparece en el Esquema , por lo que estas preguntas no son sobre cómo hacer una copia/duplicado de trabajo. Quiero entender el propósito de copy().
Respuestas
Vincularlo a una colección.
Antes de 2.8, un objeto copiado requería vincularse a la colección de objetos de la escena. Para 2.8+ vincularlo a una colección.
Se mostrará en el delineador cuando la colección esté vinculada a una escena o sea la colección de escenas base.
El operador duplicado vincula el duplicado con la colección de contexto.
import bpy
from bpy import context
ob = context.object.copy()
context.collection.objects.link(ob)
vincular nuevo objeto a escena con python en 2.8