Unity3d, intorno ai bordi di una scatola, cubo?
-
02-01-2020 - |
Domanda
Qual è il solito modo per arrotondare i bordi su un cubo, un oggetto rettangolare come negli esempi?
Il risultato ideale sembrerebbe esattamente come queste immagini.
(Naturalmente, potresti letteralmente usare una rete che ha accuratamente arrotondato bordi e angoli, ma ci vogliono molti tris per raggiungerlo.)
.
Nota, ovviamente per un Non -Shader Approccio ...
Aggiungi due piccole scatole piatte e semplicemente renderlo nuovo normale a metà strada, cioè 45 gradi, tra le due lati:
Questo sarebbe disegnato perfettamente rotondo ...
GDG di seguito ha fornito un articolo in cui qualcuno asserisce che questo è davvero il modo migliore, se non utilizza un approccio shader.
Mi sto davvero chiedendo come fare questo
.
Nota: tutorial incredibilmente dettagliata sull'approccio non shader
Soluzione
Utilizzando ombreggiatura differita È possibile accedere a G-Buffer a localizzare e round bordi come quello fatto in Questo documento .Sebbene sia una tecnica post-elaborazione, quindi è in grado di emulare una rotondità in un limite di alcuni pixel.
Normali medie semplici (larghezza 1 pixel):
Normali medie semplici (larghezza 2 pixel):
Normali medie semplici (larghezza di 3 pixel):
Altri suggerimenti
Dividerei sicuramente a una risposta orientata allo shader, ma soprattutto se gli shader necessari non sono disponibili su una determinata piattaforma, lo realizzerei con alcuni modelli "Livello di dettaglio" AKA Lod. .
Dare il gameobject uno script di comportamento che controlla ogni fotogramma per la distanza dalla fotocamera.
Attivare la rete appropriata in base alla distanza e disattivare gli altri, questo dovrebbe essere fatto a distanza in cui il cambiamento non è rilevabile nella massima risoluzione disponibile per il lettore.
Questa tecnica è abbastanza ampiamente utilizzata nei giochi 3D, un buon modo per rappresentare sciami lontani di cose che possono diventare molto più dettagliate una volta che la fotocamera si avvicina.
Siamo stati in grado di realizzare cubetti smussati per il nostro gioco WorldTobuild.La chiave è davvero che puoi andare avanti e fare il modello smussato, quindi spostare i vertici in gruppi.
Così in breve, tutto ciò che dovevo fare per raggiungere l'effetto era:
- .
- Crea un cubo smussato (ho usato il frullatore).
- Trova quali vertici si sposterete in ogni direzione dalla loro posizione dal centro.
- Calcola i bordi smussati e impostare le dimensioni esatte.
Ho scritto un articolo su questo qui.Scorri fino alla fine dell'articolo se vuoi solo conoscere il processo:
https://www.linkedin.com/ Pulse / Codifica-Resiseble-Beveled-Cubes-Unity-Richard-Christley