Décidément les shaders me font des misères.
Je voudrai dans quad appliquer une simple texture, mais faire un trou dans lequel je peux voir ce qu'il y a derrière.
Je sais que je peux créer un mesh avec un trou, mais la taille du trou n'est pas défini, elle peut être différente selon le cas, et la position du trou aussi.
J'ai regardé dans les shaders, et j'ai trouvé le DephtMask qui me fait bien un trou dans ma texture, mais je n'arrive pas à trouver la solution pour voir les objets à travers ce trou
Voici le DephtMask, qui est très simple en fait :
Code : Tout sélectionner
Shader "DepthMask"
{
SubShader
{
Tags {"Queue" = "Geometry-1" }
Lighting Off
Pass
{
ZWrite On
ZTest LEqual
ColorMask 0
}
}
}
Code : Tout sélectionner
using UnityEngine;
[AddComponentMenu("Rendering/SetRenderQueue")]
public class SetRenderQueue : MonoBehaviour
{
[SerializeField]
protected int[] m_queues = new int[] { 3000 };
protected void Awake()
{
Material[] materials = GetComponent<Renderer>().materials;
for (int i = 0; i < materials.Length && i < m_queues.Length; ++i)
{
materials[i].renderQueue = m_queues[i];
}
}
}
Voilà l'image en mode Edit
Voilà le résultat que j'obtiens et mode Play, on voit bien l'arrière plan mais pas le coin du cube
Au secours