Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

omitir decals en objetos dinamicos

Iniciado por Abramelin, Agosto 26, 2015, 08:35:37 PM

Tema anterior - Siguiente tema
¿que proceso hay que hacer para que un decal omita a los objetos que se mueven (por ej el player)? estoy usando unity5 y los deferred decals (rendering pipeline command buffers)estos: http://docs.unity3d.com/es/current/Manual/GraphicsCommandBuffers.html ¿tendria que crear un layer para omitirlo, o no va por ahi?

Que maravilla esto de los GraphicsCommandBuffers. Unity siempre me sorprende.Hay un zip en el link con código de ejemplo y le he pegado un ojo. Lo que hacen es crear tres shaders (Diffuse, Normals, o los dos) y estos se añaden a los decals. Luego tiene una hashtable que los referencia al añadirlos. Luego en la función OnWillRenderObject crea un CommandBuffer que las añade antes del deferred lighting pass (opción CameraEvent.BeforeLighting). Eso quiere decir que si añades los shaders solo a los objetos que quieres, luego no tendrías problema.Son la leche.Saludos

Agosto 26, 2015, 10:11:58 PM #2 Ultima modificación: Agosto 26, 2015, 10:13:09 PM por Abramelin
@http://unityspain.com/profile/27231-irobb/?do=hovercard&referrer=http%253A%252F%252Funityspain.com%252Ftopic%252F18799-omitir-decals-en-objetos-dinamicos%252F%253F_fromLogin%253D1" title="Go to iRobb's profile" href="<___base_url___>/profile/27231-irobb/">iRobbdices que hay que añadirle el shader a los objetos que quieras que se vean afectados por el decal? en este caso el decal afecta a todos los objetos sin añadir shader alguno, a excepción de los decals (que son los unicos que llevan shader)... tengo un plano bajo el terrain con las mismas proporciones (que es el que lleva el script de los decals). los decals estan distribuidos por las paredes y el suelo... el problema es que cuando pasa el player por mallas donde hay decals, estos decals tambien afectan al player y se ven sobre el modelo... lo que me gustaría es saber si puedo crear alguna condicion donde se excluya el player en dicha interaccion con los decals, que no le afecten y no se vean sobre el modelo del player al pasar por donde haya decals colocados.

Y cuando añades los shaders en la cola del GraphicsCommandBuffers?

pero el shader decal solo los llevan los decals... yo lo unico que quiero es que no afecte al jugador cuando cuando pase por encima de dichos decals. perdona si me lio pero ando muy verde.

Ya me imagino que lo llevan solo los decals claro, pero utilizas la cola del GraphicsCommandBuffers o no o solo los shaders y ya está?

Pues no me suena de nada, asi que si la he utilizado no he sido consciente de ello... he usado la configuracion que trae el proyecto de muestra: cambiar a la camara la opcion deferred, los materiales para los decals, los objetos decals con su script y su material, y el plano que te he comentado antes que contiene el script para que se vean los decals al colocarlos... lo de la cola del graphicscommandbuffers no se lo que es... ¿ahi especifica a que layers afecta o algo por el estilo? si hubiese tal opcion de sacar al player sería perfeco... pero no se como acceder.

Etiquetas: