-
Materialbyobject por materialbyelement
Puse el tema en modelado, pero lo repito aquí por si la hipotética solución fuese mediante scripts. Necesito saber si existe la posibilidad (quizás con un script, no lo sé) de que el modificador materialbyelement funcione byobject.
Me explico, tengo una serie apartamentos y quiero jugar con colores aleatoriamente.
Si uso el materialbyelement, me combina los colores, pero en un apartamento hace combinaciones que diferencian muros, diferentes muros, la pieza del forjado.
En realidad, yo lo que querría es atachar todos los elementos de un apartamento (forjado, sus muros, piezas), seleccionar los apartamentos (pongamos 50 apartamentos), aplicarles a todos esos apartamentos (que ahora cada uno de ellos es un objeto) el materialbyelement, y que cada apartamento recoja un sólo color cuando juego con el modificador.
En realidad, lo que busco es que el materialbyelemente se comporte como si fuese materialbyobject.
Materialbyobject por materialbyelement.
-
2 Archivos adjunto(s)
Materialbyobject por materialbyelement
Si tengo 80 apartamentos como los de la imagen 01. Atachados y convertidos cada uno en un objeto y les asigno un material multisubobjet de 5 materiales (porque voy a jugar con 5 colores o materiales).
Si selecciono todos los apartamentos y les aplico el materialbyelement.
Resulta que asigna materiales aleatoriamente a cada elemento.
Como se ve en la imagen 02.
Yo lo que quisiera es que, asignase aleatorialmente materiales, pero por objetos, no mor elementos.
De esa forma puedo combinar colores de apartamentos aleatoriamente.
Es decir en vez de repartir aleatoriamente materiales a elementos.
Hacerlo a objetos.
Yo creo que de poder hacerse sería mediante un script.
Creo, no sé.
-- IMÁGENES ADJUNTAS --
https://foro3d.com/attachment.php?attachmentid=73640
https://foro3d.com/attachment.php?attachmentid=73641
-
Materialbyobject por materialbyelement
Igual es muy cutre, pero si atachas todos los elementos del objeto que tienen que ser del mismo color en un sólo elemento no te valdría?
-
Materialbyobject por materialbyelement
Eso es lo que he hecho. Cada apartamento ha de ser de un mismo color y esta todo atachado. Selecciono todos los apartamentos.
Pero el modificador reparte aleatoriamente los materiales a los elementos.
No a los objetos, que es lo que yo necesitaría.
-
Materialbyobject por materialbyelement
Y si conviertes cada apartamento en un elemento, o sea en una misma malla? Has probado con grupos?
-
Materialbyobject por materialbyelement
Cita:
Y si conviertes cada apartamento en un elemento?
¿Y cómo puede hacerse eso?
-
Materialbyobject por materialbyelement
-
Materialbyobject por materialbyelement
Es que llevar una serie de objetos/polígonos a un solo elemento. No sé, algo así. Y una carcasa, podríamos probar.
-
Materialbyobject por materialbyelement
Una vez un profesor de informática me vio trabajar en una de sus clases y me dijo que yo era bueno con los ordenadores. Le pregunté porqué decía eso y me dijo que porque había preferido apretar 10 veces Control + z antes de coger el ratón, seleccionar el objeto y borrarlo directamente. Lo tuyo Pit suena a algo parecido. Probablemente pierdas más tiempo buscando el método que te ahorre el trabajo, que haciendo el trabajo en sí. Vamos, lo que hacemos todos.
En cuanto a tu duda, siento no poder ayudarte, más que nada porque no he acabado de entenderlo con tanto vaivén de byobject byelement.
-
Materialbyobject por materialbyelement
No hombre materialbyelement es para eso, es la forma más rápida de solucionar esas cosas lo que pasa es que en el caso que me ocupa quiero que ha un apartamento entero se le asigne un color por eso necesitaría que si se puede, fuera materialbyobjetcy, en lugar de materialbyelement.
El que use a menudo el modificador sabe lo que busco.
-
Materialbyobject por materialbyelement
Cita:
No hombre. Materialbyelement es para eso, es la forma más rápida de solucionar esas cosas. Lo que pasa es que en el caso que me ocupa quiero que ha un apartamento entero se le asigne un color.
Por eso necesitaría que si se puede, fuera materialbyobjetcy, en lugar de materialbyelement.
El que use a menudo el modificador sabe lo que busco.
Ya estoy en ello Pit. :q).
-
Materialbyobject por materialbyelement
Estoy topándome con tus mismos problemas.
-
Materialbyobject por materialbyelement
Pregunto por preguntar. ¿habéis mirado en scriptspotí. search | scriptspot.
-
Materialbyobject por materialbyelement
La cuestión es, porque te toma como element un polígono cuadrado, y no un objeto o un triángulo? Mesh he estado buscando, la cuestión es ¿Qué busco?
-
Materialbyobject por materialbyelement
A ver, no he mirado pero estoy destruido si sabes si esta dímelo y no me hagas sufrir.
-
Materialbyobject por materialbyelement
Randomize material id es lo que yo he buscado y solo por el nombre hay un par que suenan bien.
-
Materialbyobject por materialbyelement
Sí. Suenan bien. Acabo los apartamentos y los pruebo. Mesh, cuando te vea te daré un beso en el trasero. Recuerdamelo.
-
1 Archivos adjunto(s)
Materialbyobject por materialbyelement
Es esto lo que deseas verdad. Mañana te digo cómo se hace, con el material by element.
-- IMÁGENES ADJUNTAS --
https://foro3d.com/attachment.php?attachmentid=160943
-
Materialbyobject por materialbyelement
Pues parece que sí, pero se ve la imagen muy pequeña. A ver.
-
1 Archivos adjunto(s)
Materialbyobject por materialbyelement
Espera te publico la escena, pillala y lo ves por ti mismo. Me ha salido tras media hora de probar cosas.
-- IMÁGENES ADJUNTAS --
https://foro3d.com/attachment.php?attachmentid=73676
-
Materialbyobject por materialbyelement
Como lo has hecho Fidelmg(perdón)? Que me va a estallar la cabeza.
-
Materialbyobject por materialbyelement
Yo mañana mismo a las 07:00 destripo el archivo a ver cómo lo hizo.
-
Materialbyobject por materialbyelement
-
Materialbyobject por materialbyelement
Ostias, pues sí, Fidel, eso es. Te llamo y me cuentas cómo lo has hecho y hacemos un mini-tutorial.
-
Materialbyobject por materialbyelement
Fidel. Dónde estas. ¿Cómo diablos lo has hecho?
-
Materialbyobject por materialbyelement
Y si cada apartamento es un objeto suelto, y tienes un multimaterial. ¿No puedes asignar un material del multisub a cada objeto por separado?
¿Por qué tiene que ser un modificador como el materialbyelement?
Es que se me ocurre un script muy chorra que asigna materiales aleatoriamente a los objetos que tengas seleccionados.
Algo así (y no funciona, es solo un esbozo):
Código:
Mismateriales = meditmaterials as array for obj in $selection do (*.obj), material = mismateriales[random 1 mismateriales, count]
-
Materialbyobject por materialbyelement
La razón es que, lo utilizo para buscar combinaciones de materiales aleatorias. Selecciono todos los apartamentos y les aplico un material multisubobjeto de 5 materiales que son 5 cerámicas distintas.
Luego le aplico un materialbyelement para buscar combinaciones aleatorias, en las que, por ejemplo, una cerámica oscura tenga un porcentaje de presencia del 50%, otra un 10%.
Para elegir las combinaciones, la que me guste, necesito que todo el apartamento tenga el mismo material, por la forma en que ha sido modelado.
Pero al aplicar el materialbyelement, en un mismo apartamento asigna una cerámica a un muro, otra a otro, y otra, por ejemplo, al forjado.
Para elegir los materiales del edificio y poder jugar aleatoriamente con las combinaciones de materiales y elegir.
Necesito que el modificador asigne una sola cerámica a cada apartamento.
Y que las combinaciones sean 5 cerámicas distribuidas aleatoriamente entre 85 apartamentos.
Es decir, en lugar de un materialbyelement, necesito un materialbyobjet, puesto que cada apartamento es un objeto que resulta de atachar muros y forjado.
-
1 Archivos adjunto(s)
Materialbyobject por materialbyelement
Probando con el archivo de Fidel, se consigue lo mismo clonando el módulo y después asociándolos todos en un mismo objeto.
Al aplicar el modf (*.mat) by element se consigue igual la aleatoriedad, ya que, cada apartamento a nivel subobjeto sólo tiene un elemento.
Si ya está modelado, asociando no consigues que tenga un sólo elemento, quizás utilizando el ProBoolean consigas que sea un sólo elemento.
-- IMÁGENES ADJUNTAS --
https://foro3d.com/attachment.php?attachmentid=73770
-
Materialbyobject por materialbyelement
Yo me he perdido a mitad de camino y, es más puede que incluso no me entere ni de la pregunta, pero yo suelto mi tontería a ver qué tal.
Tenemos 20 apartamentos con sus tejados sus ventanas sus puertas etc y queremos cierta aleatoriedad entre ellos, yo atacharia todas las puertas en un objeto todas las ventanas en otro todos los muros en otro, y aplicaría materialbyelement a esos objetos, pero creo que no es esto, en fin, muchas horas de curre. Saludos.
-
1 Archivos adjunto(s)
Materialbyobject por materialbyelement
Bueno, aquí está. Esperaré que Fidel lo explique.
-- IMÁGENES ADJUNTAS --
https://foro3d.com/attachment.php?attachmentid=73783
-
Materialbyobject por materialbyelement
Cabronazos. Maxton. Dímelo. Bueno, me pongo, a ver si doy con ello.
-
1 Archivos adjunto(s)
Materialbyobject por materialbyelement
Lo que ha hecho Fidel. Pero yo no entiendo qué ventajas tiene. Yo haría lo que dice Fiz, partiendo de lo ya modelado, disociaría en un objeto las partes que deben tener aleatoriedad.
O se disocia primero el elemento que debe tener aleatoriedad y después se hacen los clones y se asocian.
-- IMÁGENES ADJUNTAS --
https://foro3d.com/attachment.php?attachmentid=73799
-
Materialbyobject por materialbyelement
Pues las tiene. Con matbyelement. La aleatoriedad es para cada elemento, un muro, otro, un forjado. Yo lo que quiero es que la aleatoriedad abarque un apartamento entero, es decir, que para el modificador, un elemento sea un apartamento entero.
Lo que busco es jugar combinando 5 cerámicas en 85 viviendas.
De forma que a una vivienda entera le corresponda en cada combinación una sola cerámica.
No que ha un apartamento ñe pueda corresponder una cerámica a un muro, otra a otro, otra a un forjado.
-
Materialbyobject por materialbyelement
Me refería a las ventajas del método de Fidel. Esta claro lo que buscas y creo que ya tienes posibles soluciones.
-
Materialbyobject por materialbyelement
Estoy stresado. Menos mal que ya es viernes.
-
Materialbyobject por materialbyelement
Siempre lo he dicho, lo vuestro no tiene ningún mérito mérito, lo que se dice mérito, es lo mío haber llegado donde he llegado con apenas 5 puntos de coeficiente por encima del retraso Mental severo.
-
Materialbyobject por materialbyelement
Venga hombre, que hoy es san viernes.
-
Materialbyobject por materialbyelement
Aquí tiene usted, es bastante sencillo for i in selection do.
(
I, material = meditmaterials[1].materiallist[random 1 5]
) i es el array de la selección, el 1 en meditmaterials es el banco del editor de materiales donde se encuentra el multimaterial y el random es que te elija aleatoriamente desde 1 hasta el número de materiales de que dispones. Simplon, pero funciona.
Posdata: no estoy completamente seguro que sea esto lo que busques.
-
Materialbyobject por materialbyelement
Sr Radimov. Y con eso que se supone que pasa? No lo entiendo muy bien, ni tampoco como y cuando hay que usarlo, podría explicarlo un poco mejoré saludos.
-
Materialbyobject por materialbyelement
Pues con ese script lo que haces es asignar un material id, previamente definido en un material subobjeto de forma aleatoria a los objetos seleccionados. No es tan complicado de entender creo yo.
Create un script nuevo con ese código y en el banco 1 del editor de materiales un material multisubobjeto con 5 materiales dentro. Y ejecuta el script verás cómo van asignándose materiales de forma aleatoria a lo que tengas seleccionado.
-
Materialbyobject por materialbyelement
Pues sí, señor Radimov esto funciona estupendamente. Era eso lo que se estaba buscando, pero lo habíamos hecho de otra forma, sin ayuda de script, a lo bestia.
Muy bueno el script, gracias.
Si queréis también podemos poner la versión a lo bestia ya que Fidel no responde, fidell.
-
Materialbyobject por materialbyelement
-
Materialbyobject por materialbyelement
Pit, atacha los tabiques y luego clonas el piso, selecciónalo todo, pero si agrupar ni nada, y entonces corres el script con el multimaterial seleccionado.
Así me ha funcionado a mí.
-
Materialbyobject por materialbyelement
Que conste que tenéis que cambiar el 5 que está dentro del random por el número de materiales dentro del multimaterial que tengáis.
-
Materialbyobject por materialbyelement
Ok Radimov, yo he creado 5 materiales directamente. Para ver cómo funcionaba con 5. Gracias de nuevo.