Lo shader cambia il comportamento vicino al bordo della mesh

Aug 23 2020

C'è un modo per fare in modo che uno shader si comporti in modo diverso vicino a un bordo mesh?

Ad esempio, se uno shader genera un motivo a scacchi, è possibile rilevare il bordo e rendere trasparenti i quadrati che intersecano il bordo?

Alcuni chiarimenti:

  1. La soluzione può essere per una sola faccia. In altre parole, se il bordo può essere rilevato su una faccia singola.
  2. La soluzione dovrebbe funzionare anche se la faccia non è una forma semplice come un cerchio, un quadrato o un triangolo.

Risposte

MarcoVitale Aug 24 2020 at 02:00

Al momento non sono al mio PC, quindi non posso testarlo, ma posso indicarti la giusta direzione, userei un nodo colororramp e maschererei i quadrati scuri in modo che siano trasparenti, quindi userei il geometric-node (docs.blender.org/manual/en/latest/render/shader_nodes/input/…) per creare una maschera per la posizione, utilizzare un altro colororramp per impostare la soglia, quindi fondere tra la trama originale e quella trasparente usando un nodo misto e il fattore arriva dalla maschera. Spero che questo aiuti e mi dispiace di poter essere solo teorico al momento. I migliori auguri - Marco Vitale