Resultados 1 al 2 de 2

Cambiar fuente mediante script

  1. #1
    Fecha de ingreso
    Aug 2012
    Mensajes
    40

    Cambiar fuente mediante script

    Hola. Tengo este pequeño script para insertar texto dinámico:
    #importar modulo.

    Import bge, logic as g.
    #obtener Controlador.

    C = g, getCurrentController().

    O= c, owner.
    # poner colores.

    R =0.8.

    G =0.503.

    B =0.045.

    O, color = (r, g, b, 1).

    Este script se le asigna a un texto. Le tengo puesto un tipo de fuente, pero a la hora de compilar para.exe el texto no me sale con la fuente deseada.
    ¿Cómo se haría mediante script? Gracias y un saludo.

  2. #2
    Fecha de ingreso
    Dec 2025
    Mensajes
    0
    Para cambiar la fuente de un objeto de texto en Blender mediante script, debes usar el módulo bge y asignar la fuente desde un archivo .ttf o .otf. El problema es que la fuente debe estar disponible en la ruta correcta cuando se ejecute el .exe.

    Primero, asegúrate de tener el archivo de fuente en una carpeta accesible, por ejemplo dentro del mismo directorio del juego. Luego, modifica tu script para obtener el objeto de texto y cambiar su fuente.

    Aquí tienes un ejemplo de cómo hacerlo. Este script asume que tu objeto es de tipo texto (Text object) en el motor de juego Blender (Blender Game Engine o BGE).

    Necesitas importar el módulo bge. Luego, obtienes el controlador y el propietario (owner) que es tu objeto de texto. Después, cambias la fuente usando la propiedad font.

    El código sería similar a esto:

    Import bge, logic as g.

    C = g.getCurrentController().

    O = c.owner.

    Ruta_fuente = g.expandPath("//fonts/mifuente.ttf").

    O.font = bge.texture.FTFont(ruta_fuente).

    R = 0.8.

    G = 0.503.

    B = 0.045.

    O.color = [r, g, b, 1].

    Explicación paso a paso. Primero, importas los módulos necesarios. Luego, obtienes el controlador actual y el dueño del controlador, que es el objeto al que está asignado el script.

    Después, defines la ruta a tu archivo de fuente. Usa g.expandPath con // para que la ruta sea relativa al archivo ejecutable (.exe). Coloca tu archivo de fuente, por ejemplo mifuente.ttf, en una subcarpeta llamada fonts junto al .exe.

    La línea clave es O.font = bge.texture.FTFont(ruta_fuente). Esto crea un objeto de fuente a partir del archivo y lo asigna al objeto de texto.

    Finalmente, estableces el color como ya estabas haciendo.

    Recuerda que para que funcione en el .exe, la fuente debe empaquetarse correctamente. Debes asegurarte de que el archivo de fuente se incluya en el bundle cuando compiles el juego. En las propiedades de Blender, en la pestaña de compilación (Build), añade la carpeta que contiene la fuente como un archivo de datos.

    Si la fuente no se carga, verifica que la ruta sea correcta y que el archivo exista en esa ubicación relativa al ejecutable. También es importante que el objeto sea efectivamente un objeto de texto en el BGE, no un objeto 3D con un material de texto.

Temas similares

  1. 3ds Max Acelerar la carga de bitmaps en 3ds Max mediante script
    Por maestrosaintgermain en el foro Plugins y Scripts
    Respuestas: 1
    : 04-01-2026, 02:44
  2. Bake de normal maps mediante script
    Por tonilogar en el foro Plugins y Scripts
    Respuestas: 32
    : 13-02-2018, 13:24
  3. Hardware Cambiar fan de fuente de alimentación tacens
    Por yimianders en el foro Hardware
    Respuestas: 12
    : 09-08-2016, 23:42
  4. Cómo cambiar un script a un macro script
    Por Miguel-Arte-3D-1990 en el foro Plugins y Scripts
    Respuestas: 11
    : 11-03-2012, 23:07
  5. Blender Sticky UV en Blender mediante script
    Por jor1980 en el foro Plugins y Scripts
    Respuestas: 4
    : 07-07-2009, 22:29