Strona 1 z 1

Optymalizacja gry

: 17 paź 2013, 19:57
autor: Fyex
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 :)

Re: Optymalizacja gry

: 18 paź 2013, 18:05
autor: toudji
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.

Re: Optymalizacja gry

: 18 paź 2013, 22:53
autor: Fyex
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ć?

Re: Optymalizacja gry

: 20 paź 2013, 16:14
autor: szymon5596
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???)

Re: Optymalizacja gry

: 21 paź 2013, 18:23
autor: Fyex
Słyszałem ze istnieje coś takiego jak Skrypt LOD. Ponoć jeszcze poprawia wydajność silnika. na czym On polega i jak nim działać?

Re: Optymalizacja gry

: 03 lut 2014, 0:18
autor: lukaszfito
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:

Re: Optymalizacja gry

: 31 sie 2015, 10:12
autor: nimanout
najmniejszą ilością wierzchołków.