wtorek, września 19, 2006

Nowe możliwości Blink3D

Od wersji 118 do obecnej czyli wersji 124 przybyło wiele nowych rozwiazań.
Wystarczy zainstalować paczkę z nowymi testami API i przykładami.

Największe zmiany dotyczą:
- obsługi zjawisk fizycznych w przestrzeni trójwymiarowej, dzięki bibliotekom API Ageia
- nawigacji użytkownika w różnych trybach (nawigacja orbitalna, typu "walk", bez aktora, taka jaka jest w grach)
- obsługa cząsteczek (paricles) daje to możliwośc robienia efektów świetlnych
- obsługa bilbordów (elementów 2D w przestrzeni 3D zawsze widocznych)
- animacja może być klatkowa i jak wg ścieżki w przestrzeni 3D
- można zaznaczać obiekty 3D w przestrzeni myszką
- w przestrzeni może występować tekst (do sprawdzenia czy da się kodować w UTF-8)
- ciekawym efektem jest zastosowanie mgły
- wykorzystanie technik i przejśc w materiałach pozwala na wykorzystanie możliwości teksturowania
- obsługa standardu XML i jak gniazd XML
- istnieje mozliwośc obsługi czatów pomiędzy awatarami.
- istnieje możeliwość komunikacji ze stroną internetową na której dany świat jest osadzony (wywoływanie metod które są w kodzie JS na stronie i jak skrypty na stronie mogą wpływać na to co sie dzieje (aż prosi się o wykorzystanie AJAX).
- można tworzyć modele 3D i ładować je do określonego miejsca w trakcie uruchamiania świata w czasie jego działania
- tworzenie wielu punktów startowych w jednym świecie.
- GUI umożliwia obsługę formularzy w świecie 3D ( a nnastępnie wysyłanie tego przez skrypty JS albo przez sockety XML
- korzystanie z GUI wymaga znajomości biblioteki CEGUI
- można wykorzystywać obługę dzwięków i tworzyć efekty dzwiękowe (obsugiwane formaty to Ogg, Wav, Mod, XM, S3M, AIFF, SPX)
- Dzwięk może być rozproszony i jak pozycyjny

Obsługa fizyki w Blink 3D jest tematem na kolejną obszerna notkę.

Instalacja nowych wersji Blink 3D

Od pewnego czasu instaluję nowe wersje Blink 3D na Windowsie XP. Muszę mieć zainstakowany .NET2.0. oraz DirectX 9 Zanim zainstaluję odinstaluję za pomocą apletu "Dodaj usuń programy" z Panelu sterowania. Potem pakuję folder C:\Program Files\Pelican Crossing (robiąc kopię zapasową tak na wszelki wypadek). Następnie kasuję zawartość tego folderu. Potem usuwam też pliki konfiguracyjne i logi Blink 3D z C:\Documents and Settings\nazwa uzytkownika\Dane aplikacji\Pelican Crossing.

Potem wchodzę na stronę instalacyjną (jak z poziomu IE i jak z poziomu Firefoxa). Firefox ściaga plik z rozerzeniem .xpi który potem instaluje odpowiednią wtyczkę. Natomiast w przpadku IE to uruchamia najpierw plik *.cab zawierajacy własciwy instalator. Potem instalator ściagnie i zainstaluje plugin do IE. Po uruchomieniu trzeba sprawdzić czy nie ma komuniaktów ostrzegawczych (jęzeli są to sprawdzić logi).

wtorek, lipca 11, 2006


Blink 3D rozwija się pojawiła się nowa wersja Ogre . Clive Jackson pracuje nad implementacją PhysicsX firmy Aegea do Blink 3D

środa, maja 24, 2006

Nowe zmiany na lepsze


Po dłuższej przerwie znowu wracam do Blink 3D. Trochę ciekawych rzeczy się wydarzyło. Nowa Wersja Blink 3D wymaga specjalnego potraktowania podczas instalacji. O tym napisze w osobnej notce.

Najciekawsze rozwiązanie jakie widziałem to wykorzystanie Google Sketchup (programu do modelowania architektury dla Google Map) Ten programik napisano w Ruby . po ściągnięcu odpowiedniej wtyczki można generować pliki .mesh (wymagane jest posiadanie konwertera XML to Mesh )

Glenn zrobił ciekawy przykład http://www2.gsu.edu/~artwgg/blink3d/alsomarschurch.htm

Oto recepta:
- ściagnąc i zainstalować wersję wolną od opłat Sketchup z http://sketchup.google.com
- załadować i zainstalować eksportera ze strony http://members.optushome.com.au/antishreth/sketchup_ogre_export_v1_0_0.zip
- trzeba przeniść pliki *.rb do folderu "plugins" w folderze Sketchup
- ustawiamy w pliku "ogre_config.rb" file skalowanie Sketchup-to-OGRE na 2.54, i podajemy porawną ścieżkę do OgreXmlConverter
- uruchamiamy Sketchup tworzymy lub ładujemy model
- gdy jetsmy gotowi to wyeksportowania klikamy w zakładkę "Tools" i wybieramy jedną z opcji eksportu do Ogre
- wykorzystyjemy plimi mesh i material do świata Blink


piątek, kwietnia 14, 2006

Kurs Bilink 3D na dmu.com

Jeden z programistów napisał kurs Blink 3D

W pakiet do ściagniecia zawierający podstawowe pliki potrzebne do pracy i w nauce Blink 3D

Kolejne lekcje omawiają to instalacja Gimpa i instalację Blendera przy wykorzystaniu pewnych skryptów do konfiguracji z pakietu. Następna lekcja pokazuje możliwosci Blink 3D jakim są awatary oraz możliwości ich modyfikowania. Kolejnjne lekcje dotyczą tworzenia pierwszego świata w Builderze Blink 3D. Celem jest zrobienie świata po którym sie chodzi. Wazną częścią jest publikacja swiata w internecie. Oto adres publikowanego świata.

Istotna rzeczą jest poznanie procesu tworzenia modeli 3D na przykładzie Blendera. Pierwsza część dotyczy tego jak wygląda proces nakładania tekstur UW na model. Druga cześć dotyczy zapoznania się z układem w przestrzeni 3D oraz ruchem w tej przestrzeni zarówno jak w Blenderze i jak w Blink 3D. Trzecia cześć omawia podstawy modelowania w Blenderze. Czwarta część dotyczy obracania i skalowania modelami w Blenderze. W piątej częsci pokazuje się duplikację Szósta cześć wskazuje na możliwosć wykorzystania operacji Boolowskich na modelach (union, intersection, difference). Siódma cześć przedstawia "dzielenie" modeli na mniejsze składowe. Ósma część przedstawia przygotowywanie tekstury do przygotowywanego modelu. Ostatnia część ukazuje jak wyglada przygotowany model w Builderze i opublikowany

Aby móc wykorzystać możliwosci Blink 3D trzeba nauczyć się programować w skryptach JavaScript. Następne lekcje kursu będą dotyczyć JavaScript i programowaniu w Blink 3D API. Pierwsza część pokazuje jak napisać pierwszy skrypt w Builder Blink 3D. Druga częsć pozwala na zapoznanie się ze zmiennymi, tablicami i typami danych jakimi są wektory. Trzecia część przybliza wykorzystanie operatorów. Czwarta część wyjaśnia czym są obiekty na przykładzie klasy Data. Piąta część pokazuje czym są pętle i bloki warunkowe. Szósta część przybliza klasę Math i jej metody. Siódma część przedstawia klasę String.

W świecie trójwymiarowym często użytkownicy potrzebują elementów dwuwymiarowych do nawigacji lub przekazywania informacji. Następne lekcje kursu maja dotyczyć wykorzystania elementów GUI. Pierwsza część ukazuje jak napisać tekst który jest "osadzony" nad światem. Druga część przybliza klasę Button i związaną z tym obsługa zdarzeń i sond. Następna część przedstawia klasę ComboBox jej własciwości i jej obsługę Czwarta część ma z zasady przygotawanie kolejnego świata do pokazania obsługi GUI. Piąta część omawia klasy Entity i SceneNode jako wprowadzenie do dodawania nowych obiektów do świata. Szósta częśc jest kontynuacją tego poprzedniej częsci, która wskazuje na zawiłości związane z obracaniem z poziomu skryptów. Siódma część pokazuje jak wykorzystać myszkę do klikania na modele. Ósma część jest już praktycznym wykorzystaniem wiedzy z poprzednich części. Oto przykłady http://www.dmu.com/Bbgcourse/Exerc3/Exerc3.htm czy http://www.dmu.com/Bbgcourse/Exerc4/Exerc4.htm
Kolejna cześc pokazuje jak wykorzystać kolizje czy interakcję do utworzenia mechanizmu otwierania drzwi. Dziesiąta cześć wskazuje na wykorzystanie timerów do zapewnienia animacji.

Wazną cechą światów jest zapewnienie oświetlenia. Następne części kursu będą dotyczyć kwesti związanych z zastosowaniem oświetlenia. Pierwsza cześc dotyczy omówienia czym jest oświetlenie. i jego przykład http://www.dmu.com/Bbgcourse/Exerc8/Exerc8.htm Druga cześć omawia jak zastosować horyzont Trzecia cześć omawia zastosowanie mgły

sobota, lutego 18, 2006

Blink 3D w wersji 118

Clive Jackson poinformował na forum że niedługo wpuszcza nową wersję i podzielił się  jej możliwościami:

 Wsparcie dla licencjonowania i bezpieczeństwa "światów". Jeszcze  to nie dotyczy  "zablokowanych"  światów  - czyli  takich które  będzie można  publikować  i będą  tylko odczytywane  przez  wersję finalną.

Ładowanie "nowych" światów z poziomu API to oznacza że można ładować światy "po kawałku" - częsciowo. W praktyce to oznacza  że  wchodzisz do domu  to ładujesz tylko to co jest w  danej chwili  potrzebne  np  przedpokój  jak wejdziesz do kuchni  to wyładujesz z pamięci  dane o  przedpokoju  a  załadujesz dane  o  kuchni. Można ładować poszczególne częsci do odzielenych plików będącymi rozszerzeniam "swiatów". Np można stworzyć kolekcję krzeseł i ładować je kiedy gdy one sa potrzebne a nie wszystko naraz.

Obsługa Awatarów czyli osób będących wcieleniami "bohatera"  którym  kieruje  się po świecie.
Awatary można trzymać  na serwerze  i "ładować" do świata w którym się przebywa. Tworzenie awatarów jest możliwe w Builderze, środowisku edycyjnym dla Blink 3D

Klasa Socket umożliwia komunikowanie się przez sieć za pomocą protokołu TCP/IP

Dodano tez klasę XMLSocket która podobnie jak w przypadku Flasha umożliwia komunikację za pomocą  XML

Do obsługi XML dodano klasy XML i XMLNode więc to pozwala na na dyanimiczną obróbkę danych z dokumentów XML.

MultiPlayer class pozwala na zbudowanie własnego chat serwera  prowadzącego  kontrolę nad  wszystkimi  ludzmi i ich awatarami w świecie.

I największa niespodzianka dla mnie to XMPP Class czyli wbudowany klient sieci Jabber.

 


 




 

poniedziałek, lutego 13, 2006

Testy CEGUI

testy GUI nie są takie ciekawe Można dowiedzieć się się co sądzi się o implementacji CEGUI w Blink 3D Posted by Picasa

środa, lutego 08, 2006

Golden Polygon Awards 2006

Myślę że do tego konkuru warto się dobrze przygotować. Technologia Blink 3D jest już prawie gotowa. Trzeba zrobić jeszcze rozeznanie co może być interesujące dla ludzi i jurorów.
Konkurs ma odbywać się w następujacych kategoriach:
- E-commerce czyli prezentacje 3D produktów,
- Spacer ma ukazywać architekturę czy aranzację wnętrz,
- Bogate media ukierunkowane na rozrywkę czy pokazy
- Symulacje - ukazywanie procesów przemysłowych e-learning czy naukowe prezentacje

wtorek, lutego 07, 2006

Miesiąc czasu

Miesiąc czasu prawie mija od momentu założenia bloga. I mam 100 unikalnych wizyt. Dużo to zasługa dem i mojej aktywności na forum o Blink 3D. Jakie mam refleksje?
Istnieje potrzeba zbudowania strony WWW po polsku będącej wprowadzeniem w tą technologię. Zrobienie katalogu stron WWW po angielsku zawierającego katalog światów WWW w tej technologii.

Fizyka w grach.... i w Blink 3D

Zamieściłem post o procesorach graficznych na Warsztacie. Pewnie w najpliższych latach warto będzie zajmować się programowaniem efektów fizyki w grach czy w symulachach.

Coraz więcej rzeczy w grach czy symulacjach zależy od dobrze zaprojektowanej fizyki. Narazie istnieje sporo bibliotek które mają za zadanie symulować zjawiska fizyczne. Na razie zaproponowano opensourcową abstrakcyjną bibliotekę OPAL.NET aby można było dołączać silnika graficznego (renderującego). Ona została zaprojektowana dla RealmForge aby można było dołaczać różne biblioteki fizyczne nie zmieniajac kodu gry. Oto lista bililiotek

Ciekawe byłoby porównanie możliwości tych bibliotek.

poniedziałek, lutego 06, 2006

Testy... dema

Postanowiłem sprawdzić testy, które były przygotowywane w poprzednich wersjach. Najpierw wyinstalowałem wersję 117 a potem zainstalowałem wersję 113. Po zainstalowaniu zauwązyłem że jest katalog Testy z dużą ilością kodu Przeniosłem folder w inne miejsce i wyinstalowałem wersję 113. Po tym znowu zainstalowałem wersję 117.

Po przejrzeniu danych w tym folderze ( trzeba przygotować wersje plików .env do testowania) Ukazało się wiele ciekawych możliwości np: "okna w oknie", obsługa GUI, obsługa myszki, sterowanie dzwiękiem 3D, efekty cząsteczkowe, symulacja kinematyki ciala Zmienia to na lepsze moje założenia co do szkolenia z Blink 3D.

czwartek, lutego 02, 2006

Aranżacja wnętrz

Glenn zamieścił ciekawy przykład swojej pracy badawczej (jest historykiem sztuki) jak mogły wyglądać kiedyś kościoły.
forum jest ciekawy watek o obsłudzie klawiszy.

wtorek, stycznia 31, 2006

HLSL

Jestem trochę zaskoczony że można używać takich bajerów o których ludziom nawet nie przeszło do głowy...
Zainstalowałem sobie RenderMonkey oraz plugin przekształcający dane efekty do postaci akceptowalnej przez silnik Ogre i to jest gotowe do wykorzystania w Blink 3D ( to są pliki .material,  .programs, .dds, tekstury, skrypty  HLSL) 
Zrobiłem pośpiesznie taki jeden przykład (złota głowa Ogre)

poniedziałek, stycznia 30, 2006

CelShading

Napisałem kolejne demo z obsługi shaderów z dema Ogre. To jest tak zwany nierealistyczny rendering - cel-shading służący w filmach animowanych. Problemem jest brak kolorów.

niedziela, stycznia 29, 2006

RealmForge GDK

To postężny silnik graficzny rozwijany w oparciu o technologie .NET
składa się z:
silnika renderującego zgodnego z Ogre
Might and Magic Tribute - gry opensource która wykorzystuje to wszystko
.NET Prebuild - narzedzia pozawaljacego na tworzenie kopii rozwojowej zgodnie z srodowiskiem w którym sie pracuje .NET 1.1 czy .NET 2.0 czy Mono
CEGUI# wersja słynnej biblioteki GUI
OPAL.NET interfejs dla silników obsługujących fizykę
SDL.NET to biblioteka multimedialna do obsługi wielu formatów
Purple# obsługa shaderów w grze 3D w sposób skryptowy

Więcej można by poczytać o tym na ich Wiki badz stronie gównej

sobota, stycznia 28, 2006

Rzeczy związane z Ogre i Blink 3D

Istnieje wiele projektów związanych z Ogre i rozwijając możliwosci jakie daje nam programistom wykorzystanie silnika Ogre

Do tworzenia gier można wykorzystać Yake
Możliwości są spore
Istnieje Wiki
forum dyskusyjne z prawie 5000 postami / 607 tematów / 243 zarejestrowanych (od kwietnia 2004)
Jednym z podprojektów jest storm editor ( to jest edytor scen dotScene do gier)
kod żródłowy wersji 0.4 do ściągnięcia

Kolejnym projektem jest yag2002
Jest to system chatów online oparty na systemie Yaf3D (jego wiki jest na stronie )

Bardzo popularną biblioteką GUI dla gier jest Crazy
Eddie's GUI
System is a free library
providing windowing and widgets for graphics APIs / engines where such
functionality is not natively available, or severely lacking. The
library is object orientated, written in C++, and targeted at games
developers who should be spending their time creating great games, not
building GUI sub-systems! We highly recommend it to OGRE users.
kod zródłowy dokumentacja i dema
forum wiki i mapa drogowa rozwoju (tym razem serwer znów padł) tutorial
na forum jest 1269 tematów i 6868 postów

Szukam MeshViewera ( i jakiś tutorial się znalazł czasami też znajduję związanego z X3D)