Ocena wątku:
  • 0 głosów - średnia: 0
Sunset Harbor Cities Skylines: Sunset Harbor - Pamiętnik Dev #2 Trolejbusy!
#1
Witajcie ponownie budowniczowie! Zapraszamy na kolejny dziennik developerski Sunset Harbor!

Od kiedy tylko Cities Skylines zostało wydane, otrzymywaliśmy setki pytań o jedną konkretną funkcję: Trolejbusy! Aby sprostać każdej z tych próśb, w naszej społeczności odbyły się żywe debaty na temat tego, czy trolejbusy nie są zbyt trudne do wprowadzenia, czy nie jest to zbyt „niszowa” funkcja oraz czy nawet „oni” faktycznie czytają te wszystkie sugestie zamieszczone na forach.

Zapewniamy was, że naprawdę cały czas was słuchamy i każdy pojedynczy pomysł jest rozważany gdy podejmujemy decyzję, co dalej! Ponadto, jesteśmy równie entuzjastycznie nastawieni do transportu publicznego co wy, i musielibyście być bardzo kreatywni by zasugerować coś, co my byśmy uznali za „zbyt niszowe”.

Powodem, dla którego trolejbusy nigdy nie zostały dodane jest ich złożoność techniczna. Trolejbusy są tak w zasadzie „bezszynowymi tramwajami”: elektryczne busy, które czerpią energię z zasilanej sieci ponad nimi. W przeciwieństwie do tramwajów, wykorzystują one dwa przewody i dwa odbieraki by zamknąć obwód elektryczny. I tak samo jak zwykłe autobusy, trolejbusy są w stanie zmieniać pasy ruchu i zatrzymywać się na poboczu drogi w zatoczkach. Podczas poruszania się trolejbusy, jego odbieraki obracają się i przechylają, by pozostać przymocowanymi do sieci. W grze, tak samo jak w rzeczywistości, to właśnie odbieraki w trolejbusach są najbardziej skomplikowanym elementem całego systemu.

Z przyjemnością informujemy was, że udało nam się przejść przez wszystkie techniczne przeciwności i Trolejbusy nareszcie będą dostępne w Cities: Skylines – Sunset Harbor!

[Obrazek: D9MkPKc.jpg]
W końcu tutaj są!
 
System trolejbusów w Cities: Skylines – Sunset Harbor opiera się na czterech elementach:
  • Zajezdni trolejbusowej
  • Drogach trolejbusowych
  • Przystankach trolejbusowych
  • Oraz trolejbusach samych w sobie
Aby rozpocząć przygodę z trolejbusami, najpierw musisz wybudować ich zajezdnię. Następnie, możesz postawić „Drogi Trolejbusowe” i stworzyć linie z przystankami w zatoczkach. Wtedy twoja zajezdnia wyśle trolejbusy by obsługiwać tą trasę. Ważne jest, by pamiętać o tym, że odbieraki muszą być cały czas przyłączone do sieci, więc twoja Zajezdnia Trolejbusowa i Linie Trolejbusowe muszą być połączone odpowiednią drogą!

[Obrazek: fdpQTGY.jpg]
Zajezdnia wysyła nowe trolejbusy na miasto.

[Obrazek: szbdKJR.jpg]
Przewozi pasażerów ponad rzeką.

To był najprostsza rzecz całej układanki! W drugiej części tego Dziennika Dev. chcielibyśmy rzucić światło na to, co zrobiliśmy by trolejbusy, a w szczególności ich odbieraki zachowywały się bardzo realistycznie. W przeciwieństwie do innych Dzienników Developerskich, ta część będzie nieco bardziej techniczna. Nawet, jeżeli nie jesteś mistrzem matematyki i geometrii, wciąż mamy nadzieję, że spodoba ci się ta techniczna strona dodatku!

[Obrazek: 5GUncSK.png]

Przewód

Przyjrzyjmy się nieco bardziej nowym drogom! Na każdym segmencie znajdziesz trzy maszty trakcyjne: Jeden na początku, jeden w środku i jeden na końcu drogi. Przewody sieci trakcyjnej łączą wspomniane maszty i wraz z pomocą kilku matematycznych obliczeń możemy znaleźć początkowe i końcowe koordynaty każdej sekcji przewodów. Nazwijmy je [Obrazek: aBA6DAM.png] i [Obrazek: IVoFw3s.png] (używając małej strzałki by oznaczyć je wektorami 3D)

Wzór matematyczny określający linię przewodu wyglądał by następująco: [Obrazek: hDafe3f.png] , z [Obrazek: udwqUBM.png] [Obrazek: VgkUmzg.png].

Gdy trolejbus znajduje się na segmencie drogi, chcielibyśmy by odbieraki były połączone z przewodami powyżej zdefiniowanymi przez wzór matematyczny powyżej. [Obrazek: Uyyuj7G.png] jest współrzędną miejsca, gdzie odbieraki są przyłączone do sieci.

Trolejbus
Gra wie jak umiejscowiony i obrócony jest trolejbus i dzięki temu możliwe jest obliczenie współrzędnej, gdzie odbierak połączony jest do pojazdu. Nazwijmy ją [Obrazek: 13dB3U5.png]
Odbierak jest wykonany z mocnego metalu, więc nie może się rozciągać. To oznacza, że dystans pomiędzy współrzędną określającą, gdzie jest on przymocowany do trolejbusu ([Obrazek: 13dB3U5.png]) oraz koordynatami miejsca, w którym jest przymocowany do sieci ([Obrazek: Uyyuj7G.png]) musi być równy długości odbieraka. Nazwijmy go (ten dystans) [Obrazek: swMuBZD.png] i zdefiniujmy jego wzór w ten sposób: [Obrazek: DXL4rWm.png]

Układ równań
Wstawiając pierwszy wzór do tego drugiego, otrzymujemy jedno równanie z jedną niewiadomą [Obrazek: 9gC4vyM.png]:
[Obrazek: 94uidyh.png]

Z pomocą kilku matematycznych sztuczek możemy przekształcić je w równanie kwadratowe:

Krok 1: [Obrazek: G3nsW9r.png]
Krok 2: [Obrazek: db8PlAJ.png]
Krok 3: [Obrazek: 6oBOEtV.png]
Krok 4: [Obrazek: NcckUfR.png]
Krok 5: [Obrazek: 4Oh9TWs.png]

Możemy użyć równania kwadratowego by rozwiązać równanie.
Otrzymamy zero, jedno, lub dwa rozwiązania dla [Obrazek: 9gC4vyM.png]:
[Obrazek: Wpy8IWF.png]
 
Zauważ, że rozwiązanie nie będzie istnieć, jeżeli część pod pierwiastkiem kwadratowym będzie ujemna (co będzie miało miejsce, gdy przewód będzie zbyt daleko od trolejbusu). Zauważ również, że rozwiązanie dla [Obrazek: 9gC4vyM.png] wyliczone za pomocą tego równania może być również poza skalą [Obrazek: VgkUmzg.png], więc to również musimy wziąć pod uwagę.

Wybór odpowiedniej pozycji

Poprzez wstawienie [Obrazek: UGxGQqE.png] oraz [Obrazek: VtZgOTy.png] do naszego wzoru [Obrazek: hDafe3f.png], możemy obliczyć dwa teoretyczne punkty połączenia odbieraka z przewodem: [Obrazek: C3MDLsT.png]  [Obrazek: bbhD129.png]. Jeden będzie nad przednią, a drugi nad tylną częścią pojazdu:

[Obrazek: YHXzLFL.png]

Jako, że odbierak w trolejbusie zazwyczaj zwrócony jest do tyłu, musimy sprawdzić który z tych dwóch koordynatów jest właściwy.
Nie macie już dość wektorów? Zdefiniujmy ich jeszcze trochę ?
  • [Obrazek: JiUoXKL.png] – wektor kierunku pojazdu (wskazuje kierunek jazdy)
  • [Obrazek: raN6EHK.png] – kierunek skierowania odbieraka, jeżeli byłby podłączony w punkcie [Obrazek: C3MDLsT.png] (punkty od [Obrazek: 13dB3U5.png] do [Obrazek: C3MDLsT.png])
  • [Obrazek: 4vjCfor.png] – kierunek skierowania odbieraki, jeżeli byłby podłączony w punkcie [Obrazek: bbhD129.png] (punkty od [Obrazek: 13dB3U5.png] do [Obrazek: bbhD129.png])
Używając iloczynu skalarnego, możemy łatwo sprawdzić, czy [Obrazek: JiUoXKL.png] i jeden z wektorów odbieraka są zwrócone w tą samą stronę (> 0) czy w przeciwną (< 0).

My w szczególności szukamy tego wektora odbieraka, który zwrócony jest w przeciwną stronę od [Obrazek: JiUoXKL.png] więc nasze warunki wyglądały by następująco:
  • [Obrazek: EFfUyyI.png] – jeżeli ten warunek jest prawdziwy, [Obrazek: C3MDLsT.png] jest poprawną współrzędną styku odbieraka z przewodem.
  • [Obrazek: 7tNMdCl.png] – jeżeli ten warunek jest prawdziwy, [Obrazek: bbhD129.png] jest poprawną współrzędną styku odbieraka z przewodem.
Renderowanie odbieraków

Uh, to było sporo matematyki! Teraz, kiedy wiemy gdzie odbierak jest przymocowany do trolejbusu [Obrazek: 13dB3U5.png] oraz gdzie jest przymocowany do sieci trakcyjnej (albo [Obrazek: C3MDLsT.png] albo [Obrazek: bbhD129.png]), możliwe jest wyrenderowanie odbieraka w odpowiedniej pozycji i w odpowiednim kierunku.

Jak już się dowiedzieliśmy, trolejbusy mają dwa odbieraki (w innym wypadku obwód nie był by kompletny), więc wystarczy że powtórzymy powyższe kroki dla drugiego z nich.

Tak więc teraz wiesz już, co dzieje się „za kulisami” by odbieraki były poprawnie wyrenderowane! Oczywiście,  aby uczynić trolejbusy realistycznymi, była to zaledwie jedna mała porcja całej pracy jak była do tego wymagana!

[Obrazek: NyfKX9D.jpg]
Ostatnia zmiana tego wieczora.
 
Po raz kolejny dotarliśmy do końca naszego Dziennika Developerskiego. Mamy nadzieję, że polubiliście tą techniczną stronę produkcji Cities: Skylines i że nie wystraszyliśmy was tymi wszystkimi wzorami! Co jak co, ale trzeba powiedzieć, że efekt końcowy jest naprawdę oszałamiający. Moglibyśmy oglądać krążące trolejbusy godzinami! A co wy o nich myślicie?

Do zobaczenia następnym razem, budowniczowie!

Wasz team Colossal Order

Tłumaczenie dla Cities Skylines Polska:
SZyMeX
 Podziękowali: marcin.jaw
  Odpowiedz

Witaj na Cities Skylines PL!
Aby dodać odpowiedź zaloguj się, lub zarejestruj nowe konto

Jedynie zalogowani użytkownicy mogą odpowiadać w wątkach

Szybka rejestracja

Możesz także skorzystać z opcji szybkiej rejestracji za pomocą facebooka.



Wiadomości w tym wątku
Cities Skylines: Sunset Harbor - Pamiętnik Dev #2 Trolejbusy! - przez SZyMeX - 21-03-2020, 17:02

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości