Portál AbcLinuxu, 25. dubna 2024 03:17


Dotaz: Jak vznika pohyb?

4.10.2009 11:33 smokinggambler
Jak vznika pohyb?
Přečteno: 268×
Odpovědět | Admin

Ahoj, chtel bych se zeptat ciste jen tak teoreticky jak vznika pohyb ve hrach, napr. ve hre Little Space Duo, je to logicka plosinovka o holcicce ve hvezne lodi kde musi prolezat levely a v nich resit nejake "logicke" prvky (vytahy, spinace atd...), holcicka se jmenuje tusim Lucy.

Jak vznika ten pohyb holcicky? Grafik nakreslil Lucy v ruznich fazich animace (noha tak, pak noha jinak, stejne s rukame, nebo pri otoceni a ruznych akcich) a kdyz je z klavesnice chycen vstup napr. sipka pro pohyb do prava tak se prehrava sekvence (tedy vlastne kresli ruzne obrazky v poradi[frame]) a u toho se postavicka posouva v danem smeru?

Je to tak nebo se to dela uplne jinak? To se musi programovat uplne od nuly nebo uz existuji nejake animacni "frameworky"?

 

Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

4.10.2009 14:47 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Jak vznika pohyb?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Na zxspektru se animace dělaly tak že se postavičky nakreslily v různých pozicích, tj základní a pohyb se pouze simuloval tak že se překreslovaly pouze body které náležely pohybu. (prostě něpřekresloval se celý obrázek pouze rozdíl těch dvou prostě by to CPU nestíhal)

U jiných PC to dělal třeba HW grafiky.

V dnešních PC to může dělat jak CPU tak GPU záleží co si programátor vymyslí.
LangPa avatar 4.10.2009 15:18 LangPa | skóre: 12 | blog: LangPavel | Hradec Králové
Rozbalit Rozbalit vše Re: Jak vznika pohyb?
Odpovědět | | Sbalit | Link | Blokovat | Admin

V podstatě jsi nastínil obě možnosti, jak pohyb udělat. Ten na programování jednodušší i když v podstatě zdlouhavější je nakreslit rozfázované snímky. Někteří grafici přesně vědí, jak to udělat. Druhý způsob je použít nějaký framework, který to všechno ulehčuje, ale v podstatě se ještě hodně práce kreslí "ručně". Třetí způsob je čistě softwarově vykreslovat. A poslední - hardwarová podpora 2D/3D.

V realitě to není takto vymezeno, ale různou kombinací tohoto se dosáhne různých výsledků. Nevím, jak je dělaná ta odkazovná hra, ale kdybych to dělal já sám bez grafika a bez nějakého týmu, tak začnu asi ručně kreslit objekty, které budu mít někde uložené v nějakém vektorovém formátu s tím, že se dá hodně věcí udělat pomocí prostých operací otočení a posunutí závislého na nějaké funkci, klidně lze použít sinus a nebo zkusit nějaký polynom kde pak v závislosti na "fázi" a čase lze použít tu mapovací funkci na posunutí a otočení konkrétních objektů, které se vykreslí někde v callback funkci.

Asi nejjednodušší je naučit se udělat něco za pomocí SDL, není to náročné na pochopení a lze najít spoustu open source hotových her různé kvality. SDL je zvláště vhodné pro jednoduché 2D. U SDL dále upozorním na někdy nepříliš dobře udělané programy, které konzumují procesor na plno. Není to problém SDL přímo, ale spíše chyba přístupu programátorů jej používajících. Jiný přístup je vrhnout se přímo na OpenGL a začít s 3D od píky.

Samozřejmě SDL a OpenGL nejsou jediná řešení, lze najít spoustu zajímavých projektů, ať už přímo podpora vytváření her v Blenderu nebo projekt OGRE, lze používat třeba Cairo na 2D, je toho velká spousta pěkně použitelného, na něco třeba postačí Qt.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.