Meta na mobilność? Też bądź mobilny! Sprawdź mobilne How2Win

/dev: Przywoływanie smoka na Mistrzostwach

Każdego roku chcieliśmy wzbogacić Mistrzostwa Świata o ciekawe i emocjonujące wydarzenia, ale w 2017 pragnęliśmy przekonać się, czy naprawdę stać nas na podniesienie poprzeczki. Gdy zaczęliśmy więc kłaść fundamenty pod tegoroczną ceremonię otwarcia finałów, zebraliśmy zespół, który miał spełnić nasze najbardziej nerdowskie marzenie: Przyzwać smoka.

Przywołanie League do życia

Podczas planowania globalnych wydarzeń jedną z najważniejszych kwestii jest dla nas hołd wobec państwa, które jest gospodarzem. Ponieważ w tym roku Mistrzostwa odbywały się w Chinach, uznaliśmy uwzględnienie tamtejszej kultury za bardzo ważne. Poczynając od lutego 2017, zaczęliśmy powoli planować tegoroczną ceremonię otwarcia z udziałem chińskiego muzyka grającego na erhu, maskami z opery pekińskiej stylizowanymi na bohaterów LoL, występem słynnego Jaya Chou i utworem „Legends Never Die” wykonanym na żywo przez zespół Against the Current. Wciąż jednak mieliśmy wrażenie, że brakuje tu czegoś ważnego, czegoś, co oddałoby rozmiar i skalę słynnego Stadionu Narodowego w Pekinie (zwanego również Ptasim Gniazdem).

Przeprowadziliśmy burzę mózgów i w końcu postanowiliśmy skorzystać z tzw. rozszerzonej rzeczywistości — czyli techniki wzbogacenia prawdziwego miejsca o wirtualną grafikę. Rozszerzoną rzeczywistość (zwaną AR) tworzy się przy użyciu prawdziwej kamery kontrolującej tę wirtualną w ramach systemu renderowania, łącząc ze sobą oba obrazy i sprawiając, że niemożliwe staje się realne.  To żadna nowość w transmisjach sportowych — tego typu zabiegi wykorzystywano przy okazji zawodów lub innych konkursów związanych z e-sportem, np. Dota’s International (a nawet naszych wydarzeń takich jak NA LCS, MSI czy Mistrzostwa). Chcieliśmy jednak stworzyć coś na niespotykaną dotąd skalę.

Według wstępnych planów wykorzystania tego zabiegu, czary Ryze’a miały otoczyć cały stadion, a Ashe wypuszczałaby strzały z ekranu projektora. Jest jednak pewien żart, który krąży wśród nas od lat: „Stwórzmy smoka, który wylądowałby na scenie”. Nie mieliśmy jeszcze portalu do Runeterry, aby sprowadzić prawdziwego smoka, a gdy ten żart powstał, technologia potrzebna do stworzenia wrażenia potwora wlatującego na prawdziwy stadion w odpowiedniej jakości jeszcze nie istniała (lub była zbyt droga). Do 2017 technologia rozszerzonej rzeczywistości rozwinęła się jednak do tego stopnia, że uznaliśmy to za możliwe. Stworzyliśmy zespół naszych najbardziej szalonych technologicznych innowatorów, aby odpowiedzieć sobie na pytanie „Czy stać nas na stworzenie smoka?”.

Choć technologia rozszerzonej rzeczywistości podczas transmisji posunęła się ostatnio do przodu, obawialiśmy się, że nie poradzi sobie z rozmiarami smoka i nie nada mu realistycznego, przekonującego wyglądu. Wiedzieliśmy, jak wyglądały nasze główne wyzwania:

  • Jak możemy sprawić, że smok wleci na stadion i wyląduje na granicy gniazda?
  • W jaki sposób smok mógłby rzucać prawdziwy cień nie tylko na ziemię, ale też na ściany samego stadionu?
  • Czy będziemy w stanie dostosować oświetlenie wydarzenia do pogody na zewnątrz? W jaki sposób?
  • Jak możemy zgrać pojawienie się smoka z występem na żywo?

Marzenia o smokach

Chcieliśmy stworzyć na pekińskim niebie coś potężnego i zapierającego dech w piersiach, a w całej League nie ma bardziej przerażającej i majestatycznej istoty niż Starszy Smok.

Połączyliśmy siły z naszymi partnerami, aby stworzyć nową grafikę koncepcyjną, która mogłaby posłużyć jako podstawa do modelowania i animacji tego wcielenia Starszego Smoka. Rozważaliśmy wiele różnych kierunków, ale gdy obejrzeliśmy grafikę, najbardziej podobały nam się pomysły, które podkreślały to, co jest najbardziej epickie w najstraszniej bestii z Summoner’s Rift. Jedną z najważniejszych kwestii było upewnienie się, że niezależnie od tego, co zrobimy, gracze błyskawicznie rozpoznają ogromnego potwora na stadionie jako znanego im Starszego Smoka.

Aby jak najlepiej odwzorować wygląd Starszego Smoka w prawdziwym świecie, przyjrzeliśmy się każdej części jego ciała od głowy przez nogi aż po skrzydła.

Po szczegółowej pracy nad każdym aspektem udało się stworzyć ostateczną formę grafiki koncepcyjnej.

Gdy była już gotowa, nadszedł czas na proces modelowania. W przeciwieństwie do tradycyjnego modelowania wyrenderowanych wcześniej animacji, musieliśmy wziąć pod uwagę, jak bardzo szczegółowo może wyglądać smok, jeśli chcemy go renderować w czasie rzeczywistym.

Na czym polega renderowanie w czasie rzeczywistym?

Renderowanie w czasie rzeczywistym polega na stworzeniu animacji w taki sposób, że wygląda ona jakby była tworzona na żywo. Taka animacja różni się od tych generowanych wcześniej, w przypadku których proces renderowania 10-sekundowej sceny może trwać godzinami (np. Toy Story 3, gdzie tworzenie każdej klatki trwało średnio 7 godzin). Nawet jeśli nigdy nie słyszeliście o renderowaniu w czasie rzeczywistym, ta technika jest wam dobrze znana — w taki sposób karty graficzne generują warstwę wizualną gry.

W naszym przypadku potrzebowaliśmy wyrenderować smoka latającego po stadionie w czasie rzeczywistym, aby swobodnie poruszać kamerami i objąć nimi całą ceremonię otwarcia. To oznaczało, że musieliśmy pilnować liczby wielokątów oraz wierzchołków wykorzystanych do stworzenia smoka, aby na żywo nie doszło do żadnych opóźnień czy zakłóceń. Nie różni się to specjalnie od pilnowania liczby wielokątów przy tworzeniu gry. Zawsze polega to na delikatnej równowadze między jakością a płynnością działania.

Oto jak postępował proces modelowania:



W międzyczasie osobny zespół zajmował się animacją smoka wlatującego na stadion. Przyjrzeliśmy się kilku najciekawszym smokom z Gry o Tron, DragonHeart i innych światów, aby zrozumieć, jak smok zachowywałby się w takim miejscu jak Ptasie Gniazdo. W jaki sposób by latał? Jak by lądował? Jak zareagowałby na ludzi u jego stóp?

W pierwszej wersji animacji Starszy Smok miał ze sobą Puchar Przywoływacza, który ostatecznie stawiał na scenie. Ostatecznie ten pomysł został porzucony, ponieważ postawiliśmy na 16-metrowe dmuchane trofeum, które pojawiło się, gdy smok latał wokół stadionu. Ponadto nawet smok nie udźwignąłby prawdziwego Pucharu Przywoływacza.

 

Wypróbowaliśmy warianty, w których Starszy Smok lądował na różnych częściach sceny i wchodził w interakcję z występującymi, przerażając tancerzy i zmuszając ich do ucieczki w panice. Ostatecznie doszliśmy do wniosku, że gdyby prawdziwy smok wleciał do swej jamy i zobaczył tysiące ludzi, pewnie chciałby, aby wszyscy poczuli, że to on tu rządzi. W końcu to Starszy Smok, więc ustawienie go na samym środku wydawało się jedynym słusznym rozwiązaniem.

Gdy animacja zaczęła nabierać rumieńców, trafiliśmy na inny problem: Smok był nieco za duży. Jego skrzydła wyświetlały się z zakłóceniami podczas opadania, co zupełnie psuło całe wrażenie. Nie widzieliśmy również jego cienia, który musieliśmy odpowiednio rzucić na widownię, aby spotęgować wrażenie realizmu (dzięki temu publika miałaby wrażenie, że leci nad nią prawdziwa bestia). Myśleliśmy nad zmniejszeniem smoka, ale później spróbowaliśmy uczynić to, co zrobiłaby prawdziwa ogromna bestia: Zmienić tor lotu. Dostosowaliśmy trajektorię opadania w taki sposób, że cienie wyglądały odpowiednio, a sylwetka ogromnego gada nie wymieszała się ze ścianami stadionu.

Hextech w rzeczywistości

Następnie wymieniliśmy rzeczy, których potrzebowaliśmy do płynnego działania animacji i dokładnego odwzorowania tego, co stworzyliśmy w fazie projektowania. Musieliśmy:

  • Zagwarantować, że animacja działa w czasie rzeczywistym z tą samą liczbą klatek na sekundę co nasza transmisja, czyli 59,94.
  • Upewnić się, że smok rzuca „miękki” cień na obiekt o geometrii i rozmiarach Ptasiego Gniazda.
  • Stworzyć maskowanie 3d, aby smok mógł pojawić się za stadionem przed i po lądowaniu na nim oraz za graczami.
  • W każdej chwili być w stanie odpowiednio dostosować oświetlenie sceny w czasie rzeczywistym, aby zareagować na jakiekolwiek warunki pogodowe.
  • Uwzględnić możliwość korekcji kolorów smoka w czasie rzeczywistym, aby odwzorować ekspozycję i kontrast prawdziwych kamer.
  • Użyć dwóch kamer z możliwością śledzenia, które wysyłałyby obraz do dwóch odrębnych systemów renderowania w czasie rzeczywistym.
  • Być w stanie uruchomić animację w obydwu systemach jednocześnie, aby móc płynnie przenosić się między kamerami.
  • Włączyć animację w odpowiednim momencie, aby idealnie dostosować ją do muzyki podczas ceremonii otwarcia.
  • Zaplanować i przećwiczyć akcję w taki sposób, by operatorzy kamer uzyskali idealne ujęcia w sytuacji, gdy dzieje się tak wiele.

Aby sprawdzić, czy stać nas na to wszystko, zebraliśmy cały nasz sprzęt i przywołaliśmy Starszego Smoka do życia na naszym parkingu. Tak wyglądał test (wybaczcie brud na obiektywie kamery), który był dla nas bardzo emocjonujący:

 

Gdy już dotarliśmy na Stadion, mieliśmy tylko tydzień, aby ustawić cały sprzęt, upewnić się, że połączenia sieciowe były dość bezpieczne i stabilne, aby śledzenie odbyło się płynnie, upewnić się, że odgłosy smoka trafiły w dobre miejsce, sprawdzić, czy animacja smoka działała odpowiednio i przede wszystkim sprawdzić, czy smok odpowiednio wpasuje się w stadion. To wszystko odbywało się w nerwowej atmosferze, która zwykle towarzyszy wszystkim wydarzeniom League na żywo.

Wykonaliśmy też sześć lub siedem prób ze smokiem i tancerzami, podczas których odkryliśmy, że jeśli ruch kamery nie był idealnie zgrany z choreografią, smok zmiażdżyłby występujących na scenie (dla niego to żaden problem, ale nie wyglądałoby to najlepiej). Tancerze ćwiczyli odpowiednie zgranie już od kilku tygodni, więc jakiekolwiek zmiany z naszej strony mogły sprawić, że doszłoby do desynchronizacji innych elementów przedstawienia.

Postanowiliśmy uniknąć zmiażdżenia tancerzy przy użyciu skoordynowanych zbliżeń kamer:

 

Wszystkie ujęcia, które widzicie, zostały wykonane na żywo przez prawdziwych operatorów. Przećwiczyliśmy sekwencję ze smokiem niezliczoną liczbę razy z naszymi operatorami, aby wiedzieli, w którym miejscu rozpocząć ujęcie, jakie ruchy powinni wykonać i gdzie dokonać zbliżenia. Chcieliśmy, aby ujęcia nie wyglądały na idealne, aby stworzyć wrażenie, że smok zaskoczył operatorów.

Zobaczcie, jak jeden z operatorów filmował ujęcie smoka lecącego nad widownią:

 

Dziesięć minut przed transmisją zauważyliśmy, że pozycja maskowania smoka była niewłaściwa (wyglądało to, jakby lądował wewnątrz ściany, a nie na jej krawędzi). Mogło to wynikać z wielu różnych rzeczy, nawet z czegoś tak błahego, jak przesunięcie podstawy kamery o kilka centymetrów w wyniku wibracji. Kilka minut przed rozpoczęciem transmisji musieliśmy uruchomić aplikację do edycji grafiki w czasie rzeczywistym i przesunąć smoka nieco wyżej. Przy okazji dostosowaliśmy jego kolor do warunków pogodowych, aby nie wydawał się zbyt jasny lub ciemny. Wtedy nadszedł czas, aby wysłać Starszego Smoka na ceremonię finałową.

W momencie, gdy smok zeskoczył z dachu stadionu, dało się usłyszeć westchnienie publiki, a my poczuliśmy dreszcze. Robimy to właśnie po to, aby usłyszeć bądź przeczytać o reakcjach naszych graczy. Naszą nadzieją i celem jest stworzenie dla naszych fanów godnych zapamiętania doświadczeń, które mogą zabrać ze sobą do domu i podzielić się nimi ze znajomymi. Dopóki tak wygląda nasza misja, będziemy wciąż się rozwijać i pracować nad kolejnym wielkim projektem. Póki nasze eksperymenty nad wężami Drymarchon couperi nie pozwolą nam stworzyć młodego Barona, wciąż będziemy stawiać sobie poprzeczkę coraz wyżej i pracować nad efektem godnym pasji, z którą każdego dnia współtworzycie naszą społeczność.

Jeśli zauważyłeś literówkę/błąd we wpisie - prosimy o zgłoszenie tego poprzez specjalny formularz kontaktowy - dzięki automatycznemu systemowi powiadomień będziemy mogli błyskawicznie usunąć błąd.