2010.02_Programowanie wizualne_[Programowanie Gier].pdf
(
610 KB
)
Pobierz
441728235 UNPDF
Programowanie gier
Programowanie
wizualne
Co to takiego?
Niniejszy tekst to informacje, przykłady i tutorial przybliżające
technologię Quest3D. Artykułem tym chcę pokazać, że można tworzyć
aplikacje 3D i gry szybko oraz bez znajomości języka programowania,
bibliotek DirectX czy OpenGL. Jeszcze raz – można. Jest do tego gotowe
narzędzie. Resztę znajdziecie poniżej.
Dowiesz się:
• Co to jest programowanie wizualne;
• Czym Jest Quest3D;
• Czym nie jest :);
• Jak szybko tworzyć aplikacje 3D bez znajo-
mości języka programowania.
Powinieneś wiedzieć:
• Co to jest aplikacja 3D.
Kiedy prezentuję obraz znajomym firmom czy
też na targach, bardzo często słyszę
...acha, czyli
nie mogę programować tradycyjnie?
I poprawiam
ich
Nie w tym rzecz, że nie możesz, ale że nie musisz,
bo nie ma takiej potrzeby.
Mamy do dyspozycji channnele, które może-
my wypełnić za pomocą LUA Script i tam stwo-
rzyć swój mały kawałek kodu. Ponadto kiedy
ktoś się bardzo uprze, zawsze ma do dyspozycji
darmowe biblioteki SDK i może pisać w C++
swoje własne autorskie channele, a następnie
używać ich w środowisku Quest3D na takich sa-
mych zasadach jak wszystkie inne.
Dzięki temu możliwości nigdy się nie koń-
czą, a program rozwija się zarówno w pracowni
producenta, jak i w domach i firmach jego użyt-
kowników.
Poziom
trudności
łączyć ze sobą, po prostu przeciągając linię od
jednego do drugiego. Na liniach łączących widać
czarną strzałkę informującą, w którym kierun-
ku danego połączenia przekazywane są informa-
cje. Większe fragmenty grafu możesz zwinąć do
postaci folderu (patrz Rysunek 1), aby struktura
twojego programu była przejrzysta i czytelna dla
innych pracujących nad tym samym projektem.
W ten sposób programujesz wizualnie.
Metoda tworzenia w pełni funkcjonalnych
aplikacji Quest3D sprawia, że jest on narzę-
dziem dla wszystkich. Pracują w nim graficy-
3D, projektanci, inżynierowie i ludzie ze świata
rozrywki, bo każdy może po prostu usiąść i za-
cząć prace – bez wielomiesięcznych kursów na-
uki języka. To jest właśnie serce Quest3D.
Z
apewne wiele razy spotkałeś się z listin-
gami programów pisanych w takich ję-
zykach jak C++, Java, C# czy innych.
Pojedyncze linie tworzą funkcje lub procedury,
z których składa się program. Jeżeli poznałeś je-
den z takich języków, na pewno wiesz, że dużo
pracy kosztuje poznanie nazw funkcji, składni ,
a potem pilnowanie, aby podczas pisania progra-
mu nie pojawiła się literówka czy też czeski błąd
albo parametry funkcji podane w odwrotnej ko-
lejności, co może spowodować, że programu nie
uda sie skompilować.
Z drugiej strony może niekoniecznie chcesz
być programistą. Ja np. nigdy nie chciałem nim
być. Chciałem po prostu móc wprowadzić inte-
rakcję do wykonywanych przez siebie scen i mo-
deli 3D. Z pomocą przyszło właśnie programo-
wanie wizualne.
Charakteryzuje się ono tym, że twój program
w wersji źródłowej nie jest już wieloma liniami
kodu. W programowaniu wizualnym źródło
twojego programu stanowią bloki (
channels
) i
połączenia między nimi, wizualizowane jako
graf. Głównym narzędziem nie jest klawiatura,
tylko myszka. Poszczególne
klocki
grafu możesz
Programowanie wizualne
3D na przykładzie Quest3D
Wydajność wewnętrznego silnika 3D nie ugina
się pod sceną zawierającą wiele milionów trójką-
tów (face'ów). Najwiekszą jednak zaletą progra-
mowania wizualnego w Quest3D jest szybkość
budowania aplikacji. Ja nazywam to wydajnością
programowania, która zestawiona z mocnym sil-
nikiem renderującym pozwala na naprawdę wie-
Aplikacje 3D
programowane wizualnie
Quest3D jest jednocześnie wizualnym środo-
wiskiem programistycznym oraz wydajnym sil-
nikiem renderującym 3D. Służy do tworzenia
aplikacji 3D. Zarówno tych małych wirtual-
nych spacerów, prostych gier 3D, jak i większych
i sieciowych produkcji widzianych z różnych ka-
mer. Jednocześnie tworzymy w nim duże sy-
mulatory obliczane przez kilkanaście maszyn.
Jest zatem środowiskiem bardzo skalowalnym.
Wszystkie wymienione rodzaje aplikacji stwo-
rzysz bez wpisania choćby jednej linii kodu.
Wyobrażam sobie, że wielu
rdzennych
progra-
mistów może poczytać to jako minus aplikacji.
Tutorial na płycie
Aby ułatwić początkującym i tym po prostu
ciekawym zaznajomienie się z podstawa-
mi Quest3D, przygotowałem videotutorial,
który przekazuję wraz z niniejszym nume-
rem SDJ. Jest to krótka lekcja ukazująca krok
po kroku stworzenie nieskomplikowanej
gry dla jednego gracza. Gatunek: western.
Każdy jest w stanie wykonać taką aplikację
, postępując za tutorialem w przeciągu kilku
godzin. Później pozostaje kwestia wymiany
obiektów na swoje. Zapraszam serdecznie
do zapoznania się z tutorialem.
68
02/2010
Programowanie wizualne
le. Dla przykładu dość statyczna scena ukazana
na pierwszych dwóch obrazkach powstała po-
przez jedno przeciągnięcie zbioru Quest'owych
klocków zapisanych na liście
Templates
. Są to go-
towe do użycia większe i mniejsze grafy fragmen-
tów aplikacji. Wystarczy je przeciągnąć do grafu i
po prostu połączyć z resztą naszych klocków. To
jest ogromnie przyspieszenie i uproszczenie dla
programistów. Aby dodać do naszej sceny kame-
rę orbitującą wokół obiektu, wystarczy usunąć z
grafu nasze Basic Camera i zamiast tego przecią-
Rysunek 2.
Efekt grafu powyżej – scena 3D w
czasie rzeczywistym
Rysunek 1.
Przykład grafu - prosta aplikacja 3D
Rysunek 3.
Fragment zbioru szablonów
gotowych do użycia – Templates
R E K L A M A
Programowanie gier
gnąć z listy Templates nowy zestaw klocków zapi-
sany pod nazwą Object Inspection Camera.
W Quest3D w bardzo prosty sposób możesz
oprogramować urządzenia do sterowania takie
jak klawiatura, mysz, joystick i inne, włączając w
to wirtualne rękawice czy chełmy. Co więcej, to
środowisko integruje w sobie elementy niezbęd-
ne w wielu grach (silnik fizyczny, generowanie
tłumu, szukanie drogi). Pisząc grę metodą tra-
dycyjną, sam musiałbyś je zintegrować. Modele
używane w tym środowisku można wykonać za
pomoćą dowolnego pakietu graficznego 3D, jak
chociażby 3ds max, maya, blender, cinema, a na-
stępnie zaimportować do Quest3D poprzez je-
den z uniwersalnych formatów: COLLADA, X,
a wkrótce również FBX.
Na Rysunku 1 widać graf przedstawiający pro-
stą scenę 3D. Każdy, kto spotkał się już z grafiką
3D i zasadami tworzenia takich obrazów, wie,
ze każda taka scena składa się z 3 grup elemen-
tów: obiekty 3D – w tym przypadku napis trój-
wymiarowy oraz podłoże, światło, które owe
obiekty oświetla abyśmy mogli je zobaczyć – w
tym przypadku zamknięte w folderze o nazwie
Directional Light, oraz kamera, która ową scenę
obserwuje z zadanego punktu widzenia – u nas
Basic Camera. Wszystko to podłączamy do kloc-
ka Render odpowiedzialnego za wyświetlenie na-
szego grafu jako obraz 3D w aplikacji. Na Rysun-
ku 2 widać efekt tej najprostszej aplikacji 3D.
rów gry. Do najważniejszych należy zaliczyć Sil-
niki fizyczne: ODE, Newton, jest też płatny do-
datek: PhysX. Możemy wybrać ten, który będzie
spełniał nasze oczekiwania. Są zintegrowane i go-
towe do użycia. Czeka na nas także mechanizm
oświetlenia słonecznego ustawianego za pomo-
cą godziny, pory roku i położenia geograficznego.
Mamy do dyspozycji również takie parametry jak
wiatr, deszcz czy zamglenie - słowem, kompletny
system pogodowy (Weather System).
W Quest3D można również tworzyć aplika-
cje sieciowe, i to na dwa sposoby. Pierwszy to ne-
tworking budowany na bibliotekach DirectPlay
wchodzących w skład DirectX. Drugi to tzw.
soc-
kety
. Z kolei do optymalizacji większych map te-
renów służy moduł Nature Painting, który po-
trafi doskonale zoptymalizować tereny miejskie
oraz wielkie zalesione połacie. Producent w ko-
lejnej wersji Quest3D zapowiada także rewolu-
cyjny edytor terenu. Wewnątrz programu Qu-
est3D mamy możliwość tworzenia własnych
shaderów w jęz. HLSL lub wczytywania plików
.fx. Dostępny jest również global shader.
Z działki animacji warto wspomnieć o ani-
macji szkieletowej, mikserze sekwencji aminacji
(tzw.
motion blending
), potrzebny może okazać
się wbudowany system tkanin (
cloth rendering
).
Jeżeli postaci będzie więcej, z łatwością będziesz
mógł skorzystać z generowania tłumu za pomo-
cą
crowd rendering
.
Do wyliczonego zbioru należy doliczyć jeszcze
gotową realistyczną wodę, zaawansowany system
cząsteczek, płynną zmianę ruchu (np. ze space-
ru w bieg), ekspozycję światła HDR, obsługę baz
danych (mySQL i ODBC), obsługę wielu forma-
tów dźwiękowych, oczywiście z dźwiękiem 3D,
renderowanie na wielu komputerach tej samej
sceny. Na koniec to wszystko możemy wyren-
derować jako aplikację 3D (stereorendering lub
anaglif). Pełne porównanie z opisem modułów
znaleźć można na stronie
www.quest3D.pl
.
Jak widzisz, jest w czym wybierać. To wszyst-
ko jest już w środku i nie wymaga dogrywania ja-
kichkolwiek pluginów czy innego rodzaju roz-
szerzeń. Zainstaluj i używaj.
Przykłady aplikacji
wykonanych w Quest3D
Jak pisałem wcześniej , środowisko to jest bardzo
skalowalne. Na kilku przykladach postaram się
przybliżyć najbardziej znanych albo zasługują-
cych na uznanie aplikacje wykonane przez róż-
ne firmy z bardzo rozbieżnych branż. Wiele firm
używa tego środowiska do celów promocyjno-re-
klamowych. Przykładowo, w branży dewelope-
rów mieszkań, domów i innych nieruchomości
jest to idealne rozwiązanie. Firma nie musi na-
wet zatrudniać programisty.
Możliwości silnika Quest3D
Środowisko Quest3D jest silnikiem komplet-
nym. Znaczy to, że zawarte w nim moduły i pod-
silniki wystarczają do zrobienia sporych rozmia-
Rysunek 4.
Agencje PR tworzą za pomoca Quest3D małe i sympatyczne gry reklamowe oraz prezentacje,
które całkowicie mieszczą się w jednym pliku EXE i można je łatwo przesyłać Internetem, a uruchomienie
aplikacji nie wiąże się z instalacją czegokolwiek. Po prostu jeden plik exe działający na zasadzie Click&Run
Rysunek 5.
Pełnowymiarowe gry 3D tworzą zarówno duże studia, jak i małe grupy. W tych drugich
często nawet nie ma programisty, tylko kilku graików 3D i animatorów
W Sieci
•
quest3d.pl
– strona główna i podstawowe
informacje o technologii i zastosowaniu;
•
forum.quest3d.pl
– podstawowe źró-
dło pomocy, jeżeli zaczniesz używać
Quest3D, również linki do tutoriali;
•
support.quest3d.com
– aktualna doku-
mentacja online w j. Angielskim.
Rysunek 6.
Ponadto jednymi z najczęściej wykonywanych aplikacji w Quest3D są koniguratory,
aplikacje szkoleniowe 3D (tzw. trenażery), symulatory i różnej maści aplikacje do wirtualnej
rzeczywistości (m.in. projekcja na 4 ściany, obsługa rękawic i hełmów wirtualnych)
ARKADIUSZ BRZEGOWY
Ekspert i certyikowany trener Quest3D. Partner
holenderskiej irmy Act3D, producenta technolo-
gii. Właściciel irmy oferującej oprogramowanie
Quest3D oraz wsparcie techniczne dla twórców.
Założyciel i opiekun Quest3d.pl.
Kontakt z autorem: arek.brzegowy@quest3d.pl
70
02/2010
Plik z chomika:
djbreak
Inne pliki z tego folderu:
2010.04_Tworzenie gry Flash w pigułce_[Programowanie Gier].pdf
(806 KB)
2010.02_Producent _[Programowanie Gier].pdf
(219 KB)
2010.02_Programowanie wizualne_[Programowanie Gier].pdf
(610 KB)
2010.02_Cyfrowa kreacja Artystyczne projektowania gier_[Programowanie Gier].pdf
(916 KB)
2010.02_Xcode _[Programowanie Gier].pdf
(809 KB)
Inne foldery tego chomika:
c++
fizyka
Informatyka
Informatyka Książki,kursy
Informatyka(1)
Zgłoś jeśli
naruszono regulamin