Gracias Gracias:  11
Página 2 de 3 PrimerPrimer 123 ÚltimoÚltimo
Resultados 16 al 30 de 33

Tema: Bake de normal maps mediante script

  1. #16
    Usuario Legendario
    Fecha de ingreso
    May 2002
    Ubicación
    Barcelona
    Mensajes
    2,421

    Re: Bake de normal maps mediante script

    Gracias por vuestra ayuda e interés. La intención del script es generar un modelo 3d de un terreno de alta resolución, guardar el mapa de normales, generar un modelo 3d del terreno de baja resolución, aplicar una textura a este modelo y el mapa de normales. Primero instalaremos el addon BlenderGis para poder trabajar con imágenes en formato geotif.
    No porque discrepe de tu opinión intento ofenderte.

    Un saludo a todos y gracias por vuestro tiempo.

  2. #17
    Usuario Legendario
    Fecha de ingreso
    May 2002
    Ubicación
    Barcelona
    Mensajes
    2,421

    Re: Bake de normal maps mediante script

    En principio es para Blender internal.
    Si quieres hcerlo para Cycles, por mi bien.
    El resultado del script sera para poder trabajar en Unity 3D.
    Y se que con el material de Blender internal Unity3D trabaja bien.
    Gracias por vuestro interés y ayuda.
    No porque discrepe de tu opinión intento ofenderte.

    Un saludo a todos y gracias por vuestro tiempo.

  3. #18
    Usuario Legendario
    Fecha de ingreso
    May 2002
    Ubicación
    Barcelona
    Mensajes
    2,421

    Re: Bake de normal maps mediante script

    Cualquier duda en mí explicación Juani me comentas ya ves que mi código es muy feote.
    Gracias por tu ayuda
    Última edición por tonilogar; 04-01-2018 a las 12:10
    No porque discrepe de tu opinión intento ofenderte.

    Un saludo a todos y gracias por vuestro tiempo.

  4. #19
    Usuario Legendario
    Fecha de ingreso
    May 2002
    Ubicación
    Barcelona
    Mensajes
    2,421

    Re: Bake de normal maps mediante script

    He limpiado el código:
    Ahora queda crear un material para cada mesh y asignar la textura del diffuse/color y la textura al Geometry/normal
    import bpy, os
    .
    Bpy, context, scene, render, bake_type = 'NoRMALS'
    bpy, context, scene, render, use_bake_selected_to_active = True
    .
    Folder = "I:/catalunyaMetOrtoPru/demOrto/1/"
    for f in os, listdir(folder):
    pathFiles = folder + f
    basename, ext = os, path, splitext(f)
    if pathFiles, find('_Dem, tif') >= 1:
    bpy, ops, importgis, georaster(importMode = 'DEM_RAW', filepath = pathFiles, rastCRS = 'EPSG:3857')
    bpy, ops, tesselation, delaunay()
    bpy, ops, object, select_all(False)
    bpy, context, scene, objects, active = bpy, data, objects[basename]
    bpy, data, objects[basename].select = True
    bpy, ops, object, delete()
    bpy, context, scene, objects, active = bpy, data, objects['TIN']
    bpy, data, objects['TIN'].select = True
    bpy, data, objects['TIN'].name = basename + "High"
    bpy, ops, object, select_all(False)
    bpy, ops, importgis, georaster(importMode = 'PLANE', filepath = pathFiles, rastCRS = 'EPSG:3857')
    bpy, ops, object, select_all(False)
    bpy, context, scene, objects, active = bpy, data, objects[basename]
    bpy, data, objects[basename].select = True
    bpy, data, objects[basename].name = basename + "Low"
    bpy, ops, object, select_all(False)
    bpy, data, objects[basename + "High"].select = True
    bpy, context, scene, objects, active = bpy, data, objects[basename + "Low"]
    bpy, data, objects[basename + "Low"].select = True
    bpy, ops, object, bake_image()
    bpy, ops, object, select_all(False)
    #Borrar todos los materiales
    #objetos = bpy, data, objects
    #slots_material = objeto, material_slots
    #for slot in slots_material:
    #slot, material = None
    bpy, data, objects[basename + "High"].select = True
    bpy, ops, object, delete()
    bpy, data, objects[basename + "Low"].select = True
    bpy, ops, object, delete()
    bpy, ops, importgis, georaster(importMode = 'DEM', filepath = pathFiles, rastCRS = 'EPSG:3857', fillNodata=True)
    #bpy, context, object, modifiers["DEM"].levels = 4
    #bpy, context, object, modifiers["DEM"].render_levels = 4
    bpy, context, scene, objects, active = bpy, data, objects[basename]
    bpy, data, objects[basename].select = True
    bpy, ops, object, modifier_apply(apply_as='DATA', modifier='DEM')
    bpy, ops, object, modifier_apply(apply_as='DATA', modifier='DEM.001')
    No porque discrepe de tu opinión intento ofenderte.

    Un saludo a todos y gracias por vuestro tiempo.

  5. #20
    Usuario completo Avatar de Juani
    Fecha de ingreso
    Jul 2015
    Ubicación
    Montilla (Córdoba)
    Mensajes
    471

    Re: Bake de normal maps mediante script

    Buenas Toni Logar, ya entiendo porque daba algunos errores de nodos, por eso preguntaba si era en Cycles, y porque usabas métodos de Python que yo no encontraba en la api de Blender, seria por la forma de funcionar del addon. ¿Las imágenes que usas las puedes usar en vez de (*.jpg) en png? Si fuese así se pueden empacar en Blender internamente, se crearia una carpeta automáticamente en el mismo directorio de Blender y luego se cojerian de aquí, pero de esta forma solo admite el formato png. Si no puedes usar png, se tendría qué hacer de otra forma, pero con unpack es bastante fácil.

  6. #21
    Usuario Legendario
    Fecha de ingreso
    May 2002
    Ubicación
    Barcelona
    Mensajes
    2,421

    Re: Bake de normal maps mediante script

    Gracias por tu ayuda Juani.
    Las imágenes (*.jpg) si que puedo pasarlas a (*.png) sin problemas, pero las imágenes tif es necesario que sean en este formato para qué conserven la georeferenciacción.
    Pero esta prueba es con 4 ficheros.
    La cuestión es poder hacer una prueba grande de unos 4722 ficheros y en este caso supongo que, empaquetar las imágenes generara un fichero blend enorme.
    Pero mañana colgare las imágenes en formato (*.png) y lanzare una prueba.
    Ahora lo que no logro solucionar es borrar o darle un nombre descriptivo al material que se genera al bakear el normal.
    Y asignar el normal al material que le asigno al mesh final.
    Un saludo y gracias por tu ayuda.
    Aquí dejo el enlace con las imágenes tif (*.jpg) y png.
    https://mega.nz/#F.T9520AQC.SdiHFxm4yPTeRrQwxmWcw.
    La intención del sccrip, es que cualquiera pueda generar un modelo 3D de un terreno, con el formato geotif, una textura del mismo corte del geotif y que se genere con un mesh lowpoly con el normal map de alta resolución..
    El usuario podrá descargar estos formatos de diferentes paginas:
    MODELOS DIGITALES DE ELEVACIONES
    http://centrodedescargas, cnig.es/Ce...rgas/index.jsp.
    ORTOFOTOS
    http://centrodedescargas, cnig.es/CentroDescargas/index.jsp.
    http://www.icc.cat/vissir3/
    .
    Última edición por tonilogar; 08-01-2018 a las 10:55
    No porque discrepe de tu opinión intento ofenderte.

    Un saludo a todos y gracias por vuestro tiempo.

  7. #22
    Usuario Legendario
    Fecha de ingreso
    May 2002
    Ubicación
    Barcelona
    Mensajes
    2,421

    Re: Bake de normal maps mediante script

    Un saludo.
    ¿Cómo se puede borrar materiales no asignados a ningún objeto mediante script en Python?
    Dejo un blend con el que estoy probando.
    Gracias por vuestro tiempo
    Archivos adjuntados Archivos adjuntados
    No porque discrepe de tu opinión intento ofenderte.

    Un saludo a todos y gracias por vuestro tiempo.

  8. #23
    Usuario Legendario Avatar de Soliman
    Fecha de ingreso
    Aug 2004
    Ubicación
    Torrevieja-Alicante
    Mensajes
    12,191

    Re: Bake de normal maps mediante script

    Cita Iniciado por tonilogar Ver mensaje
    Un saludo.
    ¿Cómo se puede borrar materiales no asignados a ningún objeto mediante script en Python?
    Dejo un blend con el que estoy probando.
    Gracias por vuestro tiempo.
    Has puesto el texto vacío.
    Bake de normal maps mediante script-11.jpg
    http://soliman.jimdo.com/
    https://blender-28-soliman.jimdofree.com/
    VIDEOS
    VIMEO
    Beati Hispani quibus bibere vivere est
    BLENDERADICTO

  9. #24
    Usuario Legendario Avatar de Soliman
    Fecha de ingreso
    Aug 2004
    Ubicación
    Torrevieja-Alicante
    Mensajes
    12,191

    Re: Bake de normal maps mediante script

    En cuanto a borrar materiales Melendez hizo un script ya hace tiempo, que a lo mejor os puede servir.
    https://github.com/zebus3d/varios_Bl...ager_addon, py.
    Sale en el panel de la izquierda con la pestaña MISC.
    http://soliman.jimdo.com/
    https://blender-28-soliman.jimdofree.com/
    VIDEOS
    VIMEO
    Beati Hispani quibus bibere vivere est
    BLENDERADICTO

  10. #25
    Usuario Legendario
    Fecha de ingreso
    May 2002
    Ubicación
    Barcelona
    Mensajes
    2,421

    Re: Bake de normal maps mediante script

    Cita Iniciado por Soliman Ver mensaje
    Has puesto el texto vacío.
    Bake de normal maps mediante script-11.jpg
    Es el blend de ejemplo con los materiales, para probar.
    Sin código, no se hacerlo.
    Gracias Soliman
    No porque discrepe de tu opinión intento ofenderte.

    Un saludo a todos y gracias por vuestro tiempo.

  11. #26
    Usuario completo Avatar de Juani
    Fecha de ingreso
    Jul 2015
    Ubicación
    Montilla (Córdoba)
    Mensajes
    471

    Re: Bake de normal maps mediante script

    Buenas échale un vistazo al video a ver si te puede cuadrar, el pack con Python se hace en una carpeta de texturas que crea Blender en el mismo directorio desde dónde lo abrimos. Realmente no está en el archivo Blender, si enviamos el archivo a alguien no se verán las texturas porque no tendrá la carpeta qué hemos creado para nosotros.
    Lo que yo creo que pasaría es que le generaría al usuario 4.000, archivos que habría que eliminar, seguramente cuando terminemos de hacer las imágenes que queramos, no se échale un vistazo y me dices si te puede servir. Voy a ver cómo se podría hacer a buffer como ctrolC y ctroV, a lo mejor es más práctico.



    Edito:
    Se me olvidaba dejarte el blend con los scripts
    Archivos adjuntados Archivos adjuntados

  12. #27
    Usuario Legendario
    Fecha de ingreso
    May 2002
    Ubicación
    Barcelona
    Mensajes
    2,421

    Re: Bake de normal maps mediante script

    Gracias por tu tiempo y ayuda Juani, ma;ana me lo miro con calma.
    No porque discrepe de tu opinión intento ofenderte.

    Un saludo a todos y gracias por vuestro tiempo.

  13. #28
    Usuario completo Avatar de Juani
    Fecha de ingreso
    Jul 2015
    Ubicación
    Montilla (Córdoba)
    Mensajes
    471

    Re: Bake de normal maps mediante script

    Te pongo un blend para borrar los materiales con el método 'users', esto lo que hace es decirte cuantos usuarios usan ese tipo de datos, como lo tenemos en material nos dirá cuantos objetos(usuarios), usan ese material, la pega es que un material sin asignar tiene el valor 1 y un material asignado a un objeto también tiene el valor 1, como en el for decimos que elimine todos los materiales que tengan 1 usuario, tenemos que pulsar la letra F al lado del material para todos los materiales que estén siendo usados por un solo objeto para qué Blender le de el valor 2 y no nos lo borre. Si queremos crear con Python un material en un objeto y que luego no sea borrado si más adelante queremos borrar materiales, en el mismo script podemos definir que tenga el valor 2 como si pulsamos la F. Me explico fatal, échale un vistazo.
    Archivos adjuntados Archivos adjuntados

  14. #29
    Usuario Legendario
    Fecha de ingreso
    May 2002
    Ubicación
    Barcelona
    Mensajes
    2,421

    Re: Bake de normal maps mediante script

    Muchas gracias a todos por vuestra ayuda.
    Mil gracias Juani sin tu ayuda, no creo que estuviera acabado el script.
    Dejo un blend con el resultado final.
    Seguro que puedes optimizar y limpiar el código.
    La cuestión es que yo lo utilizo para después exportarlo como formato fbx a Unity 3D.
    Con el script obtengo un mesh de cada imagen de elevación del terreno, exporto a formato fbx.
    Después copio las texturas del mapa diffuse/color y las del NormalMap junto al fichero fbx en el directorio de Unity 3D.
    El fichero *.fbx detecta la textura y el mapa de desplazamiento del material.
    Ahora, estoy dándole al coco, y como tu comentabas Juani.
    Estaría bien poder empaquetar todo en el fichero blend para poder seguir trabajando en Blender.
    Por si alguien quiere utilizar el script y seguir trabajando en Blender, para él propósito que se le ocurra.
    Animación videojuegos vr etc.
    Te agradecería me dijeras la mejor opción, para poder empaquetar el fichero blend con sus texturas y que el usuario pueda trabajar más cómodamente.
    Creo que he logrado modificar el script y de esta manera empaquetar todas las texturas.
    Te agradecería me dijeras estoy en lo cierto Juanai. Gracias por tu ayuda y tiempo Juani.
    Archivos adjuntados Archivos adjuntados
    No porque discrepe de tu opinión intento ofenderte.

    Un saludo a todos y gracias por vuestro tiempo.

  15. #30
    Usuario Legendario
    Fecha de ingreso
    May 2002
    Ubicación
    Barcelona
    Mensajes
    2,421

    Re: Bake de normal maps mediante script

    Pensaba qué ya tendría suficiente con el script.
    Pero ahora me doy cuenta que con la nueva versión de Unity se puede trabajar directamente con ficheros *.blend y mientras trabajas en el fichero blend los resultados se actualizan en el proyecto de Unity 3D.
    La mala suerte es que Unity no asigna las texturas a los materiales y tienes que seleccionarlas manualmente.
    En un proyecto con pocos materiales es viable, pero en una prueba de la generación del modelo 3D de toda España no es muy practico.
    ¿Se os ocurre alguna solución?
    Un saludo y gracias por vuestro tiempo y ayuda.
    No porque discrepe de tu opinión intento ofenderte.

    Un saludo a todos y gracias por vuestro tiempo.

Página 2 de 3 PrimerPrimer 123 ÚltimoÚltimo

Temas similares

  1. Blender Sculpt bakear displace maps normal maps en blender es necesario
    Por ofuscado en el foro Discusiones generales
    Respuestas: 3
    : 25-06-2013, 10:14
  2. Respuestas: 0
    : 17-12-2012, 12:02
  3. Normal maps baking
    Por sebastianz en el foro Materiales y Texturizado
    Respuestas: 2
    : 19-09-2010, 22:59
  4. Normal maps zb3
    Por anarkis en el foro Problemas con Programas
    Respuestas: 7
    : 22-06-2007, 04:26
  5. Normal maps
    Por jose diez en el foro Materiales y Texturizado
    Respuestas: 2
    : 13-07-2006, 15:04

Actualmente estos son sus permisos de publicación en el foro.

  • -No puedes crear nuevos temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes responder temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes subir archivos adjuntos al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes editar tus mensajes al no estar registrado o no haber iniciado sesión en el foro.
  •