Skocz do zawartości

Temat

Members
  • Liczba zawartości

    7
  • Rejestracja

  • Ostatnia wizyta

Zawartość dodana przez Temat

  1. zadałem zbyt laickie pytanie na które odpowiedź jest oczywista ,przez co każdy lekceważy i nie odpowiada czy naprawde nikt na tak duzym forum dla ludzi pasjonujących się 3dsmaxem nie zna odpowiedzi?
  2. Temat

    Zegar cyfrowy odliczający czas

    Witaj Nie wiem czym jest Framework w ktorym tworzysz swoja grę ,ale moim zdaniem najlepsze rozwiązanie dla animacji odbywajacych się w czasie rzeczywistym to wyliczanie czasu na podstawie ilosci wyswietlonych klatek. Przykladowo zalozmy ze dla swojej gry przyjmujesz stale 30fps . W tym momencie kazda klatka musi byc wyswietlana co 1/30 sekundy czyli 30 milliseconds i to jest minimalna skala czasowa przy tylu fps jaka jestes w stanie osiagnac. Czyli jak widać sprawa jest banalnie prosta jezeli wystarczy ci dokladnosc co do sekundy ,z kazdym wyswietleniem klatki robisz "i++" dla zmiennej calkowitej (int) "i" której wartośc wyraza ilosc wyswietlonych klatek od uplyniecia ostaniej sekundy (co jednoczesnie jest wartoscia w czasie i = i * 30ms). W momencie gdy "i = 30" uplywa sekunda wtedy stosujesz odpowiedni warunek aby i zerujesz sobie i "i=0" a do swojej wartosci odpowiadajacej za calkowity czas trwania animacji dodajesz 1 sekunde. Jaka typowa zmienna mozesz wykorzystac jakokolwiek klase/strukture sluzacą do zapisu czasu w "chrzescijanskim formacie" Day:Hour:Minute:Second. Sprawi to ze nie bedziesz podawal czasu rzeczywistego czasu jaki uplynol w formie np. 60000 sekund :). Aby uzyskac wieksza dokladnosc co do 0.1 sekundy algorymtm wyglada identycznie z tym ze dodajesz kazda "dziesiata sekundy" co 3 klatki i pozniej z kazdych 10 * 0.01 tworzysz jedna sekunde. Jak nietrudno zauwazyc sposob z warunkiem i=30 i wlasciwe przeliczanie pozwala nam osiagnac maxymalna dokladnosc czy do 1/30s(30ms). Taki algorytm sprawdza się w 100% i synchronizuje z czasem rzeczywistym gdy mamy stale 30fps jednak z czasem "urojonym w grze" spisuje sie zawsze idealnie. Teraz nalezy sobie zadac pytanie jaki czas jest tym wlasciwym? . Jezeli nie chcialbys aby plynnosc animacji miala wplyw na rzeczywisty czas musisz użyć zegara czasu rzeczywistego komputera w Windowsie na ktorym dziala aplikacja (przestrzen nazw Windows.System.) i na jego podstawie wyliczac czas jaki aktualnie uplynol.
  3. Witaj

     

    Widze ze tez jestes z Krakowa i zajmujesz sie szeroko pojetym tematem programowania Animacji 3D za pomocą kodu. Mam pytanie czy znasz moze jakies osoby z Krakowa zajmujace sie modelowaniem 3D ,a dokladniej dostarczaniem gotowych plikow *fx i *fbx z modelami programiscie? Chodzi mi ogolnie o kogos dobrze obcykanego w 3DS Maxie kto potrafilby wyedytowac gotowe juz modele badz je zmodyfikowac tudziez stworzyc nowe zgodnie z zapotrzebowaniem? .Poszukuje osoby majacej doswiadczenie z texturowaniem LowPoly i tworzeniem animacji dla modeli ktore pozniej exekutowane sa za pomocą kodu.

     

    pozdrawiam

  4. Jezeli DrawCallem ,nazywacie wywolanie metody Draw() z klasy omawianego Modelu ,to nie wiem w czym problem skoro istnieje w C# cos takiego jak petla foreach ,ktora wywola sobie tyle razy metode Draw() ile elementow bedzie zawierala kolekcja klasy modelu na ktorej bedziemy wkonywac petle. Jezeli chodzi o "starsze" kody ANSI C pochodne identyczny zabieg mozna wykonac za pomocą zwyklej petli for w której ilosc przebiegow w drugim agumencie musi byc rowna ilosci elementów w kolekcji (tablicy) ,taka ilosc zwracana jest np przez metode .Count danej kolekcji. Jezeli chodzi o praktyczna wydajnosc to wyeksportowny model *.fbx z blendera jako 40 Meshes (czyli w wypadku foreach petla bedzie miala 40 cykli) wyswietla sie srednio o 2-3fps wolniej niz ten sam model w ktorym wszystkie siatki zostaly polaczone i wyeksportowane do *.fbx jako jeden Mesh. Tylko ze w tym wypadku nie bedzie roznicy czy odwolam sie bezposrednio do pojedynczego wywolania metody Draw dla obiektu Mesh[0] (kolekcja zawiera jeden element) ,czy tez wykonam zautomatyzowana petle foreach (lub tez dobrze zrobionego for) poniewaz z racji tego ze moja kolekcja siatek mojego modelu (tak wyeksportowana w blenderze) zawiera tylko jeden element petla wykona pojedynczy cykl. Dalej idac tropem wydajnosci przy technologi XNA Framework 4.0 (Managment DirectX 9.0C PS 3.0) i sprzecie klasy CPU 1x1400Mhz GPU 350Mhz/200Mhz 128mb DDR zredukowanie wywolan metod Draw() Modeli bioracych udzial w renderingu z 250 do 10 ,owocuje juz zyskaniem kilkunastu FPS. Na XBOXie 360 roznicy nie ma zadnej roznicy w FPS ,ale to tylko dlatego ze jest sprzetowy overkill ,gdyby sama animacje wzbogacic tak aby dodatkowo obciazyla konsole mysle ze przyrost bylby porownywalny. Wszystkie dane w oparciu o standartowe oswietlenie kazdego mesha EnableDefaultLight = true; A moj problem tytulowy zostal rozwiazany polegal na tym ze modele nie byly lowpoly a dokladnie to posiadaly za duza ilosc vertexow ,po znalezneiniu wlascwych gotowych modeli lowpoly z texturami i wyeksportowaniu i podmianie ich ,cala aplikacja dostala niesamowitego kopa nawet na dychawym sprzecie mobilnym z architektura Arm. Osobiscie wydaje mi się ze jednak najwieksza wplyw na wydajnosc ma wlasnie skomplikowanie wykonania modelu przez modelujacego ,tzn przykladowo Ja majac slabe pojecie o modelowaniu gdybym chcial zrobic podobnie wygladajace lowpoly sam musialbym przy moim stadium zaawansowania uzyc kilkakrotnie wiecej wierzcholkow niz autor moich modeli aby oteksturowany model wygladal rownie atrakcyjnie
  5. Witam Posiadam gotowe otexturowane modele lowpoly w plikach *max ktore exportuje sobie do plikow *.fbx w 3ds maxie .Problem polega na tym ze modele sa wykonane tak ze gdy zaznaczam caly model i eksportuje go pozniej podczas zaladowania modelu do klasy kodzie C# i odwolaniu sie do model.Meshes[0].Effects rysuje mi caly model (nic dziwnego bo tak został wyeksportowany ,jako jeden Mesh). Pytanie brzmi jak podzelic model na poszczegolne elementy w 3DSmaxie i potem do *fbx wyeksprotowac aby mogl bezposrednio odwolywac sie do poszczegolnych siatek zapisanych w pliku *.fbx przynaleznemu modelowi? (czyli Meshes[1] , [2] itd..). Potrzebuje tego dokonać ponieważ chce miec mozliwosc ingerencji w rotacje poszczegolnych siatek. Drugie Pytanie brzmi czy posiada ktoś jakis dobry tutorial jak tworzyc animacje do modelu (poruszanie sie + kosci) tak aby wyeksportowac to rowniez do *fbx'a i miec pozniej mozliwosc odpalania animacji z modelu za pomocą kodu C#?.
  6. Witam Zajmuje się programowaniem gier w jezyku C# z wykorzystaniem technologi Microsoft XNA Framework 4.0. Znam przelotnie obsluge programów do modelowania 3D (blender ,3D Studio MAX). Uzywam gotowych modeli zapisanych/konwerowanych w pliki *.FBX i uzywajac silnika programowania XNA aplikacji (DirectX Managment) wykorzystuje je w grach. Do momentu rozwijania swoich aplikacji pod platformy Windows PC i XBOX 360 nie mialem zadnego problemu z wydajnoscia ,tzn. wyswietlaniem odpowiedniej ilosci klatek na sekunde ,zarówno PC jak i XBOX 360 przyjmowaly praktycznie wszystkie modele .W wiekszosci korzystam z darmowych modeli znalezionych w internecie ,jak pisalem gdy sprzęt był mocny bez problemu wyswietlalem skomplikowane modele 3D zlozone z duzej ilosci Meshes (siatek?,czesci calego modelu?) oparte o bardzo duza ilosc wierzcholkow. Jednak obecnie piszę gry dla urządzeń mobilnych opartych o system Windows Phone 7 ,no i o tyle o ile softwaerowo system jest calkiem fajny (tj. efekty Direct.X 9 ) o tyle sprzętowo urządzenia wysiadają . Sam system jest stosunkowo nową platformą wiec obecnie mamy na rynku pierwsza generacje urządzeń dedykowanych w wiekszości opartych o procesor QSD 8250 taktowany 1Ghz oraz GPU Adreno 200 (200Mhz) (Telefony HTC ,Samsung ,Dell itp...) Co prawda postęp przez ostatni rok w sprzecie ukladach ARM dla windws phone 7 byl ogromny i są juz duzo szybsze uklady (2 rdzenie,duzo szybsze gpu) ,jednak tych urzadzen oparych o nowe uklady nie ma jeszcze a rynku a zaim staną sie tak populare jak obecne potrwa napewno ponad rok. A problem jest taki ze obecne urządzenia są bardzo bardzo wolne w porównaniu do mozliwosci programowych. Tam gdzie PC i XBOX bez problemu wyswietlal skomplikowane modele w wielkosci *.FBX ~8mb przy 60fps to urzadzenie mobilne np HTC HD 7 ma bardzo duzy problem z plynnoscia wyswietlania przy modelach nawet bez textur zajmujacych 0.5mb *.FBX . Dobra plynnosc tak naprawde uzyskuje dopiero wyswietlajac proste modele ktore sam swtorze w blenderze oparte o 4 wierzcholkowe Boxy i inne elementy "bez wierzcholkow". Problem jest taki ze bardzo malo jest takich modeli w internecie ,w ogóle praktycznie takich modeli nie jestem w stanie znalesc nigdzie. Wydaje mi się ze dobrym rozwiazaniem bylo by wlasnie modelowanie prostego pojdedynczego Mesh'a i otexturowanie go calego?. Takie modele byly stosowane w dawniej w pierwszych grach 3D. Ma ktoś moze jakis pomysł ,podpowiedzi? porady? jakich modeli uzywac najlepiej w którą strone isc ,jak tworzyc modele aby uzyskac jak najlepsza wydajnosc?. Nie korzystalem z tego forum poniewaz tak jak napisalem wczesniej sam etap tworzenia modelu do gier mógł być mi obcy do obecnego momentu ,gdzie jestem na 100% pewny że wydajność moich gier spada nawet kilkunastukrotnie w zaleznosci od modelow ktore uzywam. Proszę o jakies porady skad wziasc takie modele ewentualnie jaka jest najlepsza (i najszybsza) technika tworzenia ich? .Również jeżeli bylby ktos z jakiś powodów zainteresowny tworzeniem modeli do gier proszę pisać.
  7. hmm to moze zapytam inaczej ,zna ktoś link do łatwego i dokładnego tutorial'u który umożliwi wymodelowanie postaci/glowy najtrafniejszym a do tego stosunkowo łatwym jak dla noob'a sposobem? ,najlepiej zeby był po polsku choć nie musi?? albo niech ktoś mi powie od jakiego sposobu modelowania zaczać sie uczyć zeby stworzyć taka rzecz??
  8. Witam Jestem nowy ,i mam takie pytanie bardzo noob'erskie mianowicie probowałem dłubać w 3d studnio maxie 6.0 ,wychodziło mi to z różnymi skutkami ale to nie jest ważne mam inne pytanie czy zna ktoś jakiś dobry tutorial ? wszystkie z których do dzisiaj korzystałem/znalzalem/uzywalem maja ogromny minus na poczatku wszystko idzie OK ale pozniej nastepuje zwala i nie moge nic skonczyc tym samym nic sie nauczyc bo albo jest tak opisany ze nie moge znalesc funkcji ktora jest potrzebna (nie zgadza sie z moja wersja lub w ogole szukajac nawet godzine funkcji nie ma...) ,albo poprostu jest napisane zbyt poblazliwie w sensie nie wytlumaczone dokladnie dla nooba! typu "Przypisz Spline'owi modyfikacje Surface z paska Modify > More, powierzchnia powinna wyglądać tak jak obok. " -> przypisuje i w ogole sie zwala robi... zupelnie wyglada inaczej niz na screenie najbardziej pasowało by mi cos takiego jak to : http://www.max3d.pl/tutoriale/kurs49/glowa.html tylko nie tak ch**wo opisanego... pozdrawiam
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności