Enlazar objetos entre ficheros
En Blender puedes importar objetos, texturas y demás desde otro fichero Blender, a través de shift+f1. Hasta ahí perfecto.
En el momento de importar un objeto tienes dos opciones: añadir a la escena (append) o enlazar a la escena (link). Esta segunda opción me parece interesante, pues teniendo un sólo modelo puedo reutilizarlo en varias escenas, y si modifico el objeto original todas las escenas se actualizan.
Ok, pero el problema que tengo es que cuando importo un objeto enlazado, no puedo hacer absolutamente nada con el en mí escena. Se importa en una posición y no se puede ni mover, ni rotar, ni nada de nada. ¿alguien sabe qué sentido tiene esto de enlazar objetos si no puedes recolocarlos como quieras?
Enlazar objetos entre ficheros
Creo que eso se utiliza para decorados, para que trabajes solo con los elementos que interactúan en la escena original. Saludos.
Enlazar objetos entre ficheros
Pues es una pena que no puedan usar para nada más. Quizás es usable para hacerse una librería de materiales compartida entre ficheros blend.
Enlazar objetos entre ficheros
¿Porque no lo propones por Blender, org?
Enlazar objetos entre ficheros
Ya he conseguido lo que andaba buscando. Mi objetivo:
- tener un fichero.blend con una silla texturizada. (fichero origen).
- tener un fichero.blend con enlaces a dicha silla, de manera que, si modifico el objeto en el fichero origen, las escenas se actualizan. La geometría y el material de la silla quiero que dependa del fichero origen, pero su posición, rotación y escala sea independiente, que la escena defina estos parámetros.
Pasos:
- creamos un fichero.blend con una silla texturizada.
- ponemos unos nombres descriptivos a materiales y malla.
- guardamos como siempre.
- creamos otro fichero, ponemos cuatro paredes.
- enlazamos con la silla: shift+f1. Navegamos hasta el fichero con la silla, entramos en el fichero.
- importante: nos vamos a Mesh (malla) y no a object (objeto) y seleccionamos la silla.
- pulsamos sobre el botón enlace (enlazar). Seleccionamos la/s malla/s que queramos con el botón derecho y pulsamos enter.
- edito: con esto tenemos la malla, pero no podemos verla hasta que se la asignemos a un objeto.
- edito: creamos un cubo, y en el cuadro de enlaces and materiales, deplegamos la lista y elegimos la malla importada.
- edito: cuando guardemos el fichero, la malla del cubo (que ya no estará asociada a ningún objeto) no se guardara.
- ahora tenemos la silla, con sus materiales, en nuestra escena.
- si intentamos entrar en modo edición de malla dará error.
- a nivel de objeto, podemos moverlo, rotarlo, escalarlo.
- guardamos y abrimos el fichero con la silla. La modificamos y guardamos los cambios.
- abrimos nuestra escena, la silla estará actualizada.
A disfrutarlo.
Enlazar objetos entre ficheros
Muy interesante. Gracias viriathus. Un saludo.
Enlazar objetos entre ficheros
Gracias varia, viriathus.
Enlazar objetos entre ficheros
A ver si cuando llegue a casa hago algún screenshot, para que se vea más claro. Y Leander.
Enlazar objetos entre ficheros
Y, además, el método que describes, viriathus, te permite deformar las referencias enlazadas con lattices, que es otra cosa muy interesante a tener en cuenta. Un saludo.
5 Archivos adjunto(s)
Enlazar objetos entre ficheros
Para terminar, paso algunas imágenes con explicaciones: Foto 1: He modelado una silla, con dos materiales. En el diagrama se ve como el objeto silla1 (con el icono de las 3 flechas) tiene asociada la malla silla1 y esta a su vez tiene asociados dos materiales (silla y silla001). En el panel inferior (links and materiales) ponemos el nombre al objeto (ob:) y a la malla (me:).
https://www.foro3d.com/images/upload...chmentid=16329
Foto 2:
Después de guardar el fichero, creamos uno nuevo e importamos la silla (shift+f1). El truco está en importar la malla (Mesh) y no el objeto. Marcamos el botón enlace porque queremos enlazar la malla, no copiarla.
https://www.foro3d.com/images/upload...chmentid=16330
Foto 3:
Tras importar la malla, vemos que nos hemos traído los dos materiales automáticamente, eso es porque la malla esta jerarquicamente por encima del material. Si los materiales tuvieran texturas, también los habría enlazado. Con la malla no podemos hacer mucho, salvo que la asociemos a un objeto. Para ello creamos un plano, por ejemplo, ¿cómo se ve en la imagen. Vemos que el objeto plane tiene una malla plane asociada.
https://www.foro3d.com/images/upload...chmentid=16331
Foto 4:
Ahora viene el segundo paso importante. Seleccionamos el objeto plane y cambiamos la malla que tiene asociada. Eso lo hacemos desde el panel enlaces and materiales. En el desplegable me: seleccionamos la silla. En esta fotografía se ven dos cosas más: tras asociar el plano con su nueva malla, Blender no repinta. Además, he añadido un modificador lattice que como vemos se aplica a nivel de objeto, por lo que no modifica la malla. Los objetos tienen sus propios datos de escala, posición y rotación, que no interfieren con la malla. También vemos en la jerarquía que tanto la malla silla como sus materiales asociados tienen cuadrados de colores: esto nos indica que esos bloques están enlazados con una librería. Se puede ver además que la malla plane sigue ahí, pero sin enlazar con nada.
https://www.foro3d.com/images/upload...chmentid=16332
Foto 5:
Tras guardar la escena y abrir de nuevo, esa malla plane desaparece. Vemos como ya aparece nuestra silla. En la imagen se ven dos por que cloné (Alt+d) el objeto. De hecho, en el diagrama se ve perfectamente como hay dos objetos silla asociados a la misma malla y con el mismo lattice. Puedo escalar las sillas, moverlas y rotarlas siempre que lo haga a nivel de objeto. Si intentáis editar la malla o el material os dará error.
Tras todo esto, si modificais el fichero con la silla, la escena anterior se verá modificada. Realmente no se modifica porque no guarda dentro la malla, sino que cada vez que abrimos la escena le de la librería asociada la malla y los materiales de la silla.
Si queremos que el objeto esté incrustado y no enlazado, podemos pulsar sobre el icono coloreado que se ve en la fotografía 5, rodeada por un círculo rojo. Esto mismo tendremos que repetirlo con sus dos materiales asociados.
https://www.foro3d.com/images/upload...chmentid=16333
-- IMÁGENES ADJUNTAS --
https://foro3d.com/attachment.php?attachmentid=16329
https://foro3d.com/attachment.php?attachmentid=16330
https://foro3d.com/attachment.php?attachmentid=16331
https://foro3d.com/attachment.php?attachmentid=16332
https://foro3d.com/attachment.php?attachmentid=16333
Enlazar objetos entre ficheros
Justo lo que andaba buscando. Gracias viriathus.
Enlazar objetos entre ficheros
Habría que probar que pasa si se enlazan grupos de objetos (sólo en la rama orange). Luego si tengo un rato lo pruebo, por curiosidad.
Enlazar objetos entre ficheros
Excelente viriathus, gracias por tu explicación. Saludos.
Enlazar objetos entre ficheros
¿No funcionaba simplemente el emparentarla a un empty?
Enlazar objetos entre ficheros
Muy interesante, me ha recordado la propiedad de a:m que permite importar modelos poligonales como props para utilizarlos como atrezo. Saludos.
Enlazar objetos entre ficheros
Cita:
¿No funcionaba simplemente el emparentarla a un empty?
Yo no he conseguido asociar un Mesh con un Empty (en el panel enlaces and materiales sólo puedo cambiar el nombre del empty).
Enlazar objetos entre ficheros
Un objeto ya tiene su clase asociada, no se puede cambiar, y un Empty es siempre un empty. Edito: en Python existe el método (*.obj), gettype (), pero no (*.obj), sertype ().
Enlazar objetos entre ficheros
Klopes, te refieres a (*.obj), settype (), no (*.obj), sertype ().
Enlazar objetos entre ficheros
Bueno, yo no he enlazado ningún objeto, pero he importado objetos entre ficheros y a veces he de decir que me daba por culo con lo que cuentas en alguna versión de desarrollo. Lo que hacía era abrir con la última versión estable, importaba, guardaba y listo.
Enlazar objetos entre ficheros
Me refiero a emparentar la cosa importada, el objeto, a un Empty y trabajar sobre el empty. ¿no se puede?
Enlazar objetos entre ficheros
Hola a todos. Soy novato en Blender y el mensaje me resulto muy interesante, tanto que me asocie a la comunidad solo para hacer una pregunta referida al tema.
La pregunta que yo hago es ¿se puede hacer esto mismo que hicieron con la silla, pero de tal modo que también se pueda editar el objeto enlazado y estos cambios afecten al objeto y su archivo original? Saludos. Doménico.
Enlazar objetos entre ficheros
Muchas gracias por la explicación. Tan clara que hasta yo he creído entenderla.