Căutăm un programator senior de grafică cu o pasiune autentică pentru tehnologie pentru a sprijini o echipă de colaborare pentru a construi experiențe digitale pentru milioane de copii.
Despre proiect:
Proiectul constă dintr-o serie de pachete concepute pentru a fi utilizate în diverse alte produse și oferă funcționalități de bază pentru:
- accesarea datelor de conținut și a activelor,
- randare fotorealistă potrivită pentru o gamă largă de dispozitive mobile (inclusiv multe modele vechi și/sau low-end, care au resurse și putere de calcul reduse),
- experiență coerentă în prezentarea pașilor instrucțiunilor de construcție.
În plus, există o mulțime de alte funcții avansate în diferite stadii de dezvoltare, concepute pentru a îmbogăți experiența utilizatorului, cum ar fi redarea de clipuri video în momente cheie și alte elemente de gamification menite să stimuleze imaginația și creativitatea copiilor și să îmbine realul și digitalul. lume.
Despre rol:
- Dezvoltarea și întreținerea unui pipeline de randare capabil să ruleze pe orice dispozitiv mobil lansat în ultimii 8 ani cu o performanță decentă, oferind în același timp o calitate cât mai aproape de fotorealistă.
- Proiectați, implementați și întrețineți mașini de stare pentru sisteme complexe, care de obicei se conectează și se sincronizează cu alte sisteme/mașini de stare.
- Implementați și mențineți elemente de prezentare a UI care pot avea tranziții și animații, pe baza specificațiilor primite de la echipa de proiectare.
- Găsiți soluții pentru probleme complexe, fie ele matematice (mai ales geometrie și trigonometrie, cum ar fi gestionarea operațiunilor complexe ale camerei) sau algoritmice (de exemplu, găsirea celei mai bune soluții pentru a aranja elementele de conținut dinamic în cel mai mic container, în timp util).
Necesită abilități:
- Bună manipulare a algoritmilor complecși legați de grafica 2D și 3D, de la layout la randare.
- Cunoaștere bună a matematicii (algebră vectorială, geometrie 2D și 3D, trigonometrie).
- Limbi de stăpânire sau de umbrire (mai ales CG, dar și HLSL pentru suport URP).
- O bună înțelegere a fluxurilor și proceselor care rulează pe un GPU.
- Familiaritate cu tehnici avansate de randare, cum ar fi iluminarea complexă (de exemplu, armonici sferice) sau transparența independentă a ordinii (de exemplu, peeling în adâncime).
- Capacitatea de a identifica locurile în care o simplificare/aproximare poate oferi cel mai mare câștig de performanță cu cel mai mic impact asupra calității.
- Capacitatea de a observa detalii și comportamente specifice ale unui material fizic și apoi de a-l reproduce într-un shader/material.
- Cunoaștere puternică cu cadrul Unity 3D.