Resultados 1 al 2 de 2

Replacemesh python BGE

  1. #1
    Fecha de ingreso
    Jul 2015
    Mensajes
    465

    Blender Replacemesh python BGE

    Buenas, este atributo forma parte de todos los objetos de la escena, nos sirve para reemplazar la Maya del objeto por la de otro objeto, dando igual que esté en la misma capa o en una capa inactiva.

    API:
    ReplaceMesh(mesh, useDisplayMesh = True, usePhysicsMesh = False).

    Mesh: el nombre de la Maya qué va a sustituir a la del objeto. (Ojo, el nombre de la Maya no del objeto)
    useDisplayMesh: cambiar la apariencia de la Maya (True) o no la cambia(False). Esto es opcional, si no ponemos nada es True.
    usePhysicsMesh: Se supone que debería de sustituir las físicas del objeto al que vamos a reemplazar, por las físicas del objeto que lo remplaza, pero no funciona.

    Lo he probado en la versión 2.75 y 2.76, ni siquiera en el actuador Edit Object funciona.

    Entonces si tengo un cubo y lo quiero reemplazar por una esfera y el nombre de la malla de la esfera es Paquito, tendría que poner:
    cubo, replaceMesh(Paquito).

    -- IMÁGENES ADJUNTAS --
    Archivos adjuntados Archivos adjuntados

  2. #2
    Fecha de ingreso
    Dec 2025
    Mensajes
    0
    El método ReplaceMesh en Blender Game Engine (BGE) está obsoleto y ya no funciona en versiones modernas de Blender. BGE fue descontinuado después de Blender 2.79. Para proyectos actuales que requieren lógica en tiempo real, debes migrar a herramientas más modernas.

    La solución actual es utilizar Blender con el motor de renderizado Eevee y el sistema de lógica visual de nodos llamado Geometry Nodes para manipular mallas en tiempo de ejecución, o bien usar la API de Python de Blender en modo de edición. Sin embargo, para un reemplazo de malla dinámico similar a un motor de juego, se recomienda usar un motor de juego actual.

    Para proyectos interactivos o de juego, debes exportar tus activos a un motor como Godot, Unity o Unreal Engine. En estos motores, el reemplazo de una malla en tiempo de ejecución es una funcionalidad estándar y sencilla de programar.

    Si necesitas realizar esta acción dentro de Blender con fines de automatización o scripting (no en tiempo de ejecución como en un juego), puedes usar el siguiente enfoque con la API de Python de Blender. Este script asigna los datos de malla de un objeto a otro.

    Primero, asegúrate de que ambos objetos existan en el archivo de Blender. El siguiente código toma el nombre de un objeto fuente y un objeto destino, y reemplaza la malla del destino por la del fuente.

    import bpy

    def replace_mesh_data(target_obj_name, source_obj_name):
    # Obtener los objetos por nombre
    target_obj = bpy.data.objects.get(target_obj_name)
    source_obj = bpy.data.objects.get(source_obj_name)

    if not target_obj or not source_obj:
    print("Error: Uno o ambos objetos no encontrados.")
    return

    if target_obj.type != 'MESH' or source_obj.type != 'MESH':
    print("Error: Ambos objetos deben ser de tipo malla.")
    return

    # Reemplazar los datos de malla
    target_obj.data = source_obj.data

    Ejemplo de uso: reemplazar la malla del objeto llamado 'Cubo' por la del objeto llamado 'Esfera'
    replace_mesh_data('Cubo', 'Esfera')

    Para ejecutarlo, ábrelo en el Editor de Textos de Blender y ejecuta el script. Esto cambiará la geometría del objeto destino. Ten en cuenta que esto afecta a todos los objetos que compartan esa misma data de malla.

    Si tu objetivo es desarrollar un juego, aprender Godot con GDScript o C# es la opción más recomendable y con mejor futuro. En Godot, podrías cambiar la malla de un nodo MeshInstance3D en código de manera trivial con una línea como $MeshInstance3D.mesh = new_mesh_resource.

Temas similares

  1. Raycastto Python BGE
    Por Juani en el foro Plugins y Scripts
    Respuestas: 1
    : 04-01-2026, 13:30
  2. Playaction python BGE
    Por Juani en el foro Plugins y Scripts
    Respuestas: 1
    : 04-01-2026, 13:24
  3. Blender ¿Dónde encontrar la lista completa de funciones de Python para Blender?
    Por adrifre7 en el foro Plugins y Scripts
    Respuestas: 2
    : 30-01-2009, 10:01
  4. 3ds Max Python en 3ds Max
    Por taidan en el foro Plugins y Scripts
    Respuestas: 1
    : 03-06-2008, 11:39
  5. Respuestas: 2
    : 24-03-2006, 10:46