Optymalizacja gry

Ogólne dyskusje na temat Blender Game Engine.
Awatar użytkownika
Fyex
Posty: 68
Rejestracja: 23 sie 2012, 0:16
Lokalizacja: Kraków
Kontaktowanie:

Optymalizacja gry

Postautor: Fyex » 17 paź 2013, 19:57

Cześć :).
Chciał bym się zapytać co robić by gra chodziła jak najpłynniej :).
Znam tylko 2 sposoby:
1) Minimalne obiekty, czyli obiekty z nałożonym "normal mapingiem" i tym podobne, z jak najmniejszą ilością wierzchołków.
2) Wstawianie obiektów do fizyki " No Collision"

Jeżeli znacie więcej, a jestem pewien że znacie to proszę o rady (robię grę na zaliczenie semestru na ocenę celującą (poruszanie się po budynku szkoły) i zupełnie nie mam pomysłu jak zrobić by gra dobrze wyglądała, a nie było widać stop klatek :) )

Proszę o pomoc :)

toudji
Posty: 28
Rejestracja: 18 lip 2012, 23:06

Re: Optymalizacja gry

Postautor: toudji » 18 paź 2013, 18:05

Jeżeli szkoła jest duża, i ma parę pięter, to mozesz każde piętro, albo nawet sale podzielić na inny plik. Tyle tylko że, będzie musiał się plik przełączyć. Ten sposób jeszcze zwieksza prędkosc uruchamiana, bo łatwiej wczytać kilka małych plików, niż 1 duży. Lepszej chyba optymalizacji nie ma, bo taki podział uciągnie najsłabszy sprzęt.
A co do "No Collision" to lepiej ustawić na "occlude", a jeżeli zależy ci na kolizji, to musisz podstawić niewidzialne boksy albo co tam juz potrzebujesz.

Awatar użytkownika
Fyex
Posty: 68
Rejestracja: 23 sie 2012, 0:16
Lokalizacja: Kraków
Kontaktowanie:

Re: Optymalizacja gry

Postautor: Fyex » 18 paź 2013, 22:53

I teraz pytanie, bo kiedyś radzono mi bym "occlude" wstawiał tylko do obiektów które zasłaniają dużo powierzchni (np do puszek nie).

I 2 pytanie, jak np mam "q" by z pierwszego pietra wyjść na ostatnie (ostatnie to 3 plik) wziąć coś i wrócić oddać to na 1 piętro to co mam zrobić?

Awatar użytkownika
szymon5596
Posty: 140
Rejestracja: 19 lip 2012, 19:23

Re: Optymalizacja gry

Postautor: szymon5596 » 20 paź 2013, 16:14

Jak najmniejsza ilość obiektów też jest dobra. Warto robić np. korytarz jako jedną bryłę itd. Nie warto dawać dużych tekstur i nie warto dawać dużo źródeł światła (jedno - dwa powinny starczyć). Myślę, że zrobienie ładnego budynku szkoły nie jest problemem pod względem optymalizacyjnym i nawet średnio zoptymalizowany budynek BGE uciągnie, bo ostatnio pod względem wydajności nie jest już taki najgorszy... (a będzie lepiej... tylko kiedy - za rok - dwa???)

Awatar użytkownika
Fyex
Posty: 68
Rejestracja: 23 sie 2012, 0:16
Lokalizacja: Kraków
Kontaktowanie:

Re: Optymalizacja gry

Postautor: Fyex » 21 paź 2013, 18:23

Słyszałem ze istnieje coś takiego jak Skrypt LOD. Ponoć jeszcze poprawia wydajność silnika. na czym On polega i jak nim działać?

Awatar użytkownika
lukaszfito
Posty: 140
Rejestracja: 28 gru 2013, 1:37
Lokalizacja: Gdańsk
Kontaktowanie:

Re: Optymalizacja gry

Postautor: lukaszfito » 03 lut 2014, 0:18

Wiem, że pytanie może być nieaktualne, ale co tam :D Żeby rozpocząć questa na jednym piętrze i zakończyć go na drugim, wystarczy użyć:

Kod: Zaznacz cały

bge.logic.globalDict
Jeśli przykładowo uznamy, że zmienna "Misja" przyjmuje wartości 0, 1, 2 lub 3, gdzie:
    0 - misja nie została rozpoczęta
    1 - misje rozpoczęto
    2 - misje wykonano (ale nie oddano)
    3 - misje oddano
To na początku gry wystarczy ustawić:

Kod: Zaznacz cały

bge.logic.globalDict["Misja"]=0
a przy odpowiednich zdarzeniach przestawiać zmienną na kolejną wartość.

Zmienna zapisana w dzienniku globalnym (globalDict) nie zmienia się przy przechodzeniu między scenami w jednej grze :lol:

Jeśli chcesz sprawdzić zmienną, która nie istnieje jeszcze w dzienniku, to wyskoczy błąd, dlatego najlepiej najpierw sprawdzić czy taka zmienna istnieje:

Kod: Zaznacz cały

if "Misja" in bge.logic.globalDict:
    if bge.logic.globalDict["Misja"]==1:
        ... coś tam co chcesz żeby się stało, jeśli Misja jest równa 1

No to tyle by było w temacie.
Jeśli masz pytania co do innych rzeczy: LibLoad(), LibFree(), addScene() lub jak stworzyć ten cały box fizyki - no to pytaj :lol:

nimanout
Posty: 1
Rejestracja: 30 sie 2015, 13:14

Re: Optymalizacja gry

Postautor: nimanout » 31 sie 2015, 10:12

najmniejszą ilością wierzchołków.


Wróć do „Ogólnie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość