Últimas noticias
Guía para guardar vistas y capturar imágenes correctamente en Rhino 8Blender Grease Pencil Line Art: guía para crear líneas en escenas arquitectónicasCómo escribir un complemento de Python para Blender: crea tu primer operadorAnalizar videos de arquitectura con Gemini API: guía paso a pasoTripo P2.0 y Astra llevan la creación de activos 3D al flujo de trabajo de BlenderRender más limpio en Blender Cycles: muestreo y denoisingMSI XpertStation WS300 analizada: potencia GB300 en formato de escritorioConvocado un concurso para el diseño y la supervisión de obra del Limassol Arts CentreGuía de Blender EEVEE: trazado de rayos, Fast GI y materialesPremio Europeo de Vivienda Colectiva: dos proyectos de París ganan
TutorialesBlender

Cómo escribir un complemento de Python para Blender: crea tu primer operador

La guía oficial de Blender explica cómo quienes conocen Python pueden convertir un script en un operador y después en un complemento. Este tutorial muestra los pasos básicos con un ejemplo que mueve los objetos de la escena en el eje X.

Escena que evoca el desarrollo de un complemento de Python en un espacio de trabajo de visualización arquitectónicaImagen IA
Imagen ilustrativa generada con IA.Imagen: 3dsınıfı / FCA AI

En resumen

  1. Un complemento de Blender es un módulo de Python con información adicional para que la aplicación pueda reconocerlo y mostrarlo en una lista.
  2. El operador de ejemplo desplaza 1 unidad en el eje X todos los objetos de la escena activa.
  3. El complemento se puede probar en el Editor de texto de Blender y cargar como archivo .py.
  4. La guía recomienda conocer los fundamentos de Blender y Python, así como los conceptos de módulo y clase.

¿Qué aprenderás en esta guía?

En esta guía, convertirás un sencillo script de Python que funciona en Blender en un operador y, después, en un complemento que se puede cargar. La herramienta del ejemplo mueve todos los objetos de la escena activa 1 unidad en el eje X. El objetivo no es ofrecer una herramienta de producción lista para usar, sino explicar paso a paso cómo Blender define, registra y ejecuta los operadores.

Un complemento es un módulo de Python que contiene información adicional para que Blender pueda reconocerlo y mostrarlo en su lista. El diccionario bl_info indica datos como el nombre y la categoría del complemento, además de la versión mínima de Blender necesaria para ejecutarlo. Un operador, por su parte, permite invocar una acción desde Blender. En este ejemplo, ejecutaremos la acción desde la búsqueda de operadores.

Un detalle importante: el ejemplo afecta a todos los objetos de la escena activa, no solo a los seleccionados. Por eso, es más seguro hacer las primeras pruebas en una escena de prueba o en una copia del archivo, no en un proyecto importante.

Requisitos

Se espera que conozcas el uso básico de Blender y sepas ejecutar un script en el Editor de texto. También se recomienda tener familiaridad con tipos básicos de Python, como números, valores booleanos, cadenas de texto, listas, tuplas, diccionarios y conjuntos. La guía aconseja, además, tener conocimientos básicos sobre módulos y clases de Python.

En los datos del complemento del ejemplo de la guía, la versión de Blender se indica como (2, 80, 0). Este valor es la versión mínima especificada en los metadatos del ejemplo; no significa que se haya probado el código en versiones actuales de Blender. Es necesario verificar el comportamiento de la API en la versión que utilices. No se indican requisitos de cuenta de usuario, características de hardware ni licencias de pago.

Ejecutar Blender desde una terminal es una opción para depurar. La guía también señala que activar las Extensiones para desarrolladores en las preferencias puede facilitar el proceso de desarrollo de complementos.

Paso a paso: escribe tu primer operador

1. Añade el código al Editor de texto

En el siguiente ejemplo, la clase ObjectMoveX define el operador. Al ejecutar execute(), se recorren los objetos de la escena activa y se suma 1.0 a la coordenada X de cada uno. La opción UNDO de bl_options permite utilizar el operador con la función de deshacer.

python
bl_info = {
    "name": "Move X Axis",
    "blender": (2, 80, 0),
    "category": "Object",
}

import bpy

class ObjectMoveX(bpy.types.Operator):
    """My Object Moving Script"""
    bl_idname = "object.move_x"
    bl_label = "Move X by One"
    bl_options = {'REGISTER', 'UNDO'}

    def execute(self, context):
        scene = context.scene
        for obj in scene.objects:
            obj.location.x += 1.0
        return {'FINISHED'}

def register():
    bpy.utils.register_class(ObjectMoveX)

def unregister():
    bpy.utils.unregister_class(ObjectMoveX)

if __name__ == "__main__":
    register()

Este sencillo ejemplo registra la clase del operador, pero no añade un elemento de interfaz a un menú. unregister() elimina la clase registrada. bl_idname especifica el identificador único del operador, mientras que bl_label define el nombre que aparece en la interfaz y en las búsquedas de Blender. Cuando la operación termina correctamente, la función execute() devuelve el resultado FINISHED.

2. Ejecuta el script e invoca el operador

Pega el código en el Editor de texto de Blender y ejecútalo. El script registra el operador; en este momento, no mueve los objetos por sí solo. Después, abre la búsqueda de operadores, busca Move X by One y ejecuta el operador. La acción desplaza 1 unidad en la dirección X todos los objetos de la escena activa.

Es importante utilizar el parámetro context de execute(self, context). Blender puede ejecutar operadores en determinados casos con un contexto especial. Por eso, la guía recomienda utilizar el valor context que se pasa al operador, en lugar de acceder directamente al contexto global.

3. Guarda el archivo y cárgalo como complemento

Guarda el script que has probado en un archivo. Elige un nombre válido para un módulo de Python y añade la extensión .py. En las preferencias de Blender, abre la sección Complementos, elige la opción para instalar, selecciona el archivo y activa el complemento en la lista. Si quieres que siga activo después de reiniciar, puedes usar la opción Guardar como predeterminado que aparece en la guía.

Al activar el complemento, Blender ejecuta el módulo y realiza las operaciones de registro incluidas en register(). Al desactivarlo, Blender llama a la función unregister(); en este ejemplo, eso significa eliminar la clase del operador. Durante la instalación, las carpetas de origen y destino pueden aparecer en la consola. La guía también explica cómo consultar las rutas de los complementos en la Consola de Python mediante addon_utils.paths().

Uso en flujos de trabajo de arquitectura y visualización

Este ejemplo muestra los fundamentos para que artistas técnicos o desarrolladores conviertan tareas repetitivas en un operador dentro de Blender. En escenas arquitectónicas, un enfoque similar puede servir como punto de partida para diseñar herramientas personalizadas para operaciones que se puedan definir con claridad y repetir con frecuencia. Sin embargo, este código no es una herramienta de oficina lista para usar directamente en una escena de producción: cambia la posición de todos los objetos de la escena activa.

Para la primera prueba, utiliza una copia de la escena y comprueba a qué objetos afecta el operador. Antes de compartir el complemento con el equipo, verifica también la versión de Blender de destino y la compatibilidad de los elementos de la API utilizados. La fuente no especifica requisitos de hardware, por lo que no es posible extraer recomendaciones al respecto. También es necesario evaluar las condiciones de licencia y la compatibilidad de versiones antes de distribuirlo.

Errores frecuentes

  • Esperar que los objetos se muevan en cuanto se ejecuta el script: La primera ejecución registra el operador. Para modificar los objetos, hay que elegir Move X by One en la búsqueda de operadores.

  • Pasar por alto el alcance de la acción: El código no se limita a los objetos seleccionados; procesa todos los objetos de la escena activa.

  • Olvidar el formato del archivo: Guarda el archivo del complemento con la extensión .py y elige un nombre válido para un módulo de Python.

  • Confundir guardar con activar: Guardar el archivo no activa el complemento por sí solo. Hay que cargarlo desde las preferencias y activarlo en la lista.

Próximos pasos

Primero, ejecuta el ejemplo en una escena de prueba y observa el resultado del operador. Después, revisa por separado la función de bl_info, la clase del operador, execute() y las funciones de registro. En una siguiente etapa de desarrollo, puedes explorar cómo convertir valores fijos en propiedades del operador que el usuario pueda ajustar; la continuación de la guía de Blender aborda este tema y otro ejemplo que crea duplicados vinculados de objetos.

Si aparecen mensajes de error, revisar la salida de la consola de Blender puede ayudar a identificar en qué paso se produce el problema. La descripción general de la API de Blender y la documentación de bpy.context y bpy.types.Operator también se encuentran entre los recursos de referencia que señala la guía para profundizar en los conceptos utilizados.

Fuente y licencia

Esta guía se ha adaptado al turco a partir del documento oficial de Blender “Add-on Tutorial” y su ejemplo de complemento y operador. La fuente está bajo la licencia CC BY-SA 4.0.

Fuentes

1 fuente
D(
docs.blender.org (CC BY-SA 4.0)docs.blender.org/manual/en/latest/advanced/scripting/addon_tutorial.html
Resumen

No republicamos los textos de las fuentes; las citas breves van marcadas y el resto es resumen y comentario propios.

La opinión de 3dsınıfı
3dValoración del editor

Convertir las operaciones repetitivas de una escena en pequeñas herramientas de Blender es un buen punto de partida para equipos de oficinas de arquitectura y artistas técnicos que conocen Python. Sin embargo, este ejemplo tiene un alcance amplio: mueve todos los objetos de la escena. Por eso, conviene probarlo primero en una copia y definir cuidadosamente el alcance del operador al adaptarlo a un proyecto real.

La fuente no especifica requisitos de hardware ni de pago; los aspectos que requieren más atención son la versión de Blender a la que se dirige el complemento, la compatibilidad de la API y su distribución dentro del equipo. Para los estudiantes, el principal aprendizaje es entender cómo se registra y se invoca en Blender un script de Python como operador.

Preguntas frecuentes

¿Cómo se ejecuta un complemento de Python en Blender?

Ejecuta el código en el Editor de texto para registrar el operador. Después, busca la etiqueta del operador en la búsqueda de operadores y ejecútalo.

¿Cómo se instala un complemento de Python en Blender?

Guarda el archivo con la extensión `.py`, instálalo desde la sección Complementos de las preferencias de Blender y actívalo en la lista.

¿Qué objetos mueve el complemento de Blender del ejemplo?

El operador del ejemplo desplaza 1 unidad en el eje X todos los objetos de la escena activa; no se limita a los objetos seleccionados.

Los comentarios y el foro están en turco.Únete al debate
+

Noticias relacionadas