Mi pregunta es: ¿hay alguna forma de que GameObjects comparta piezas del mismo material, no un clon, sino una extensión de uno? Por ejemplo, en este caso, nueve objetos del juego comparten el mismo material ampliado para cumplir el tamaño de nueve:
Y en el caso, elimino por ejemplo uno en el medio, mantendrá el mismo material ampliado con el espacio en blanco adentro:
Para este propósito, usé un material por objeto, pero mi intención es usarlo solo una textura para múltiples objetos, o por ejemplo, más de una textura en diferentes partes del mismo. (Al igual que el botón de pintura que tenemos en los terrenos personalizados de Unity3D).
unity
3d-meshes
gameobject
JamesB
fuente
fuente
Respuestas:
¿Has pensado en usar el Shadergraph de Unity para hacer tu propio sombreador para el material? Es posible que pueda lograr lo que desea utilizando la posición del espacio mundial para texturas / uvs. No soy bueno para explicarlo y no soy bueno con los sombreadores, pero me burlé de un ejemplo rápido para ti como sombreador de agua porque estaba aburrido y ya estaba jugando en mi proyecto dedicado a los experimentos.
Esta imagen muestra que los planos superpuestos parecen compartir el mismo material
Este es el ejemplo hecho en shadergraph
Resumen rápido de los nodos de sombreador de mi ejemplo tal como los entiendo
Si alguien piensa que algo que he dicho o hecho es incorrecto o podría mejorarse, no dude en corregirme. Todavía estoy aprendiendo y un empujón en la dirección correcta siempre es bienvenido. He subido la escena de ejemplo a Google Drive para que juegues. no estoy seguro de si se requiere atribución pero el activo de agua utilizado es gratuito y de gametextures.com
fuente
Puede crear un atlas de sprites a partir de una textura, crear un objeto secundario para su plano o cualquier forma que esté utilizando, arrastrar los recortes de sprites creados, rotar y colocar el elemento secundario dentro del objeto plano del juego como desee, y listo, mire la foto a continuación para ver lo que quiero decir,
Puede ser un trabajo tedioso, pero parece que esta solución se ajusta a lo que desea.
fuente
Otra opción es usar el objeto Proyector en la carpeta de activos estándar de la unidad. No es muy eficiente, pero es realmente fácil de configurar. Entonces, para casos simples, puede ser exactamente lo que está buscando. Pero, como dije, tiene un impacto en el rendimiento bastante significativo, especialmente si proyecta texturas más grandes.
fuente