.[ ČeskéHry.cz ].
CaZaBa 1.0 - hotova

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Ostatní
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Muchomurka



Založen: 03. 03. 2014
Příspěvky: 25

PříspěvekZaslal: 11. září 2018, 17:59:22    Předmět: CaZaBa 1.0 - hotova Odpovědět s citátem

Zdravím všechny po čtyřech letech dlouhé odmlky.

Právě v těchto posledních týdnech se mi podařilo dokončit můj projekt indie modelačního, animačního a renderovacího editoru CaZaBa.

Odkaz na web projektu se všemi informacemi zde:
http://www.cazaba.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1415
Bydliště: Telč

PříspěvekZaslal: 12. září 2018, 08:39:19    Předmět: Odpovědět s citátem

To už jsou 4 roky? Tak to je mazec. Gratuluju k dokončení! :-)
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Muchomurka



Založen: 03. 03. 2014
Příspěvky: 25

PříspěvekZaslal: 12. září 2018, 21:21:39    Předmět: Odpovědět s citátem

Ano, trvalo to. Jinak děkuji. Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Muchomurka



Založen: 03. 03. 2014
Příspěvky: 25

PříspěvekZaslal: 6. říjen 2018, 11:34:11    Předmět: Odpovědět s citátem

Hmmm, jen jedna reakce? No nic, no. Jinak na webu je nyní updatovaná verze CaZaBa 1.1
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1415
Bydliště: Telč

PříspěvekZaslal: 8. říjen 2018, 08:14:32    Předmět: Odpovědět s citátem

No jo, jedna reakce, to je ještě ta lepší varianta ;-). Dneska se moc nediskutuje. Nicméně, jsou nějaké další ohlasy? Třeba od někoho, kdo to zkusil, nebo aktivně používá?
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
DeepMind



Založen: 22. 02. 2008
Příspěvky: 65

PříspěvekZaslal: 8. říjen 2018, 16:22:47    Předmět: Odpovědět s citátem

Ak môžem vedieť, aký programovací jazyk je použitý a čo je použité pre GUI?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Muchomurka



Založen: 03. 03. 2014
Příspěvky: 25

PříspěvekZaslal: 8. říjen 2018, 20:10:17    Předmět: Odpovědět s citátem

To ]semo[
Ozvala se jedna střední škola, že tím chce vybavit učebnu, ale pak z toho sešlo kvůli jejich fin. situaci. Jeden člověk z jiného fóra mi právě pomohl odhalit nějaké chyby před tou verzí 1.1 a jinak ještě několika dalším osloveným stranám pravděpodobně zatím dobíhají time-trial periody, takže ještě je to otevřené.

DeepMind
Je to psané ve Visual C++ 2008 a na GUI je použitý .NET 3.5
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
DeepMind



Založen: 22. 02. 2008
Příspěvky: 65

PříspěvekZaslal: 9. říjen 2018, 12:33:36    Předmět: Odpovědět s citátem

ešte ak môžem, jadro programu je v C++? Ak áno je použité C++/CLI, PInvoke alebo niečo iné pre komunikáciu s .NET-om? By ma zaujímalo, ktorú techniku si zvolila a prečo práve tú.

GUI je pravdepodobne WinForms, alebo WPF?
Vďaka za odpovede.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
mar



Založen: 16. 06. 2012
Příspěvky: 507

PříspěvekZaslal: 9. říjen 2018, 14:01:47    Předmět: Odpovědět s citátem

Muchomurka napsal:
Hmmm, jen jedna reakce? No nic, no.

Ok, tak jsem to zkusil. Doufám, že si zase nevyslechnu, jak se na "českých webech jenom hejtuje" a pak uražený brekot,
takže řekněme upřímné hodnocení a připomínky k tomu, co jsem viděl jenom během rychlého testu trial verze:

1) Ten viewport vypadá, že se vyrenderuje ve fixní velikosti a pak se natáhne nearest filterem, to nevypadá vůbec pěkně, viz obrázek tady:
(už jenom toto vidět, tak bych normálně to okno zavřel a dál to nezkoumal)

2) Gizma vůbec nedrží na kurzor (to by se ještě dalo překousnout), ale často nejde to gizmo chytnout a místo toho se to vyhodnotí, jako že táhnu výběrový čtverec
3) Import z FBX neumí kosti? Obecně jestli si dobře pamatuji, CaZaBa to řeší nějak po svém, moc moudrý jsem z toho nebyl ani tehdy.
4) CSG vůbec nefunguje - proč tam dávat funkcionalitu, která nezvládne ani union dvou rotovaných kvádrů (a už vůbec nechápu, co znamená algoritmus 1/2/3/4?), prostě v takovém stavu tuhle fíčuru radši úplně vyhodit.

Jinak to vypadá, že je v tom projektu spousta práce, to uznávám a respektuji - unwrap i raytracer a viděl jsem (ale nezkoušel) nějaký AO/normalmap baking, vůbec mi nevadí, že to pracuje jenom s trojúhelníky (naopak - ideální na lowpoly),
ale chtělo by to asi ještě pořádně poladit (asi všechno z těch výše uvedených bodů by snad mělo jít opravit, až na ty kosti).

Nejsem grafik, ale když něco málo potřebuji, tak to udělám v open source Blenderu.
Takže tvůj program by měl nabídnout něco jiného (řekněme jendodušší workflow a user experience, třeba něco jako byl kdysi MilkShape3D, ale mám z toho dojem spíš opačný) - třeba ukázat, kolikrát je jednodušší něco vyrobit v CaZaBě,
než v jiném softwaru; pro lidi co ale mají nějaký program nastudovaný včetně klávesových zkratek to bude asi dost složité,
takže otázka je asi na koho cílit.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Muchomurka



Založen: 03. 03. 2014
Příspěvky: 25

PříspěvekZaslal: 9. říjen 2018, 22:00:30    Předmět: Odpovědět s citátem

DeepMind
Ano, C++/CLI a Windows forms. Jednoduše pro usnadnění práce aspoň s návrhem GUI designerem, když jsem na celý program byla sama. Copak zamýšlíš? Smile

mar
Ok, byli jiní (než Ty), kteří psali více hatersky, což souhlasím, že je v Česku už takřka folklor....bohužel.

Ad 1/ Ten program vznikal tak trochu za pochodu, takže ano, návrh je vykreslovaný ve fixní velikosti a okno si jeho obraz už interpoluje na svoji velikost samo. Později jsem to chtěla upravit, aby se rozlišení návrhu adaptovalo na změnu okna, ale bylo to už v pokročilejší fázi projektu a kvůli něčemu jinému to už nešlo udělat. OVŠEM POZOR: bavíme se pouze o návrhovém zobrazení. Výstup výsledného renderu je nastavitelný dle libosti uživatele až do 4K. Jinak rozlišení návrhového zobrazení jde i tak trochu přenastavit ve vlastnostech programu, pokud ti bude vyhovovat jiné, čímž se aliasy trochu eliminují. Záleží ale co je ti bližší. Implicitně je nastaveno 1024x768px a když se viewport maximalizuje na celé okno programu, což aspoň já používám nejčastěji, tak aliasy se snad až na výjimky ztratí taky.

Ad 2/ Upřímně nic ve zlém, ale nevím kam saháš. Já program normálně používám a jestli se přehmátnu při používání transformační symboliky, tak je to možná nejvýš 1x z 10ti případů. Zatím jsi jediný, kdo si na to stěžoval.

Ad 3/ Kosti nejdou z CaZaBa do FBX ani exportovat. Opět rozdílnost zjištěná až při vývoji za pochodu. Standartně kosti ukládají transformace jednotlivých kostí a s těmi se následně kalkulují úpravy přiřazeného modelu, který je jinak ve stejné výchozí podobě. CaZaBa to má udělané tak, že kosti jsou jen další typ modelu, a tudíž s jejich transformací se už hned transformuje i přiřazený model.

Ad 4/ CSG funguje na půl, ne že vůbec. Problém je, že na to je dostupné jen minimum materiálů. Při googlení se všude píše akorát ta omáčka, že to je skládání těles booleovskou algebrou, ale naprogramovat skutečně tu vnitřní logiku interakce vrcholů, hran a stěn dvou odlišných těles je oříšek. Spíš ořech, protože co jsem se dočetla, tak mnozí se s tím pářou i několik měsíců. CSG v CaZaBě zvládá aspoň část problému, protože se to prostě někdy může hodit i přes to, že je třeba někdy (ne vždy) nutné část modelu doopravit ručně. Ostatně nejde o žádnou skrytou vadu, protože v manuálu na straně 42 najdeš toto:

"Vzhledem ke komplexitě CSG jsou v programu 4 mírně odlišné
varianty výpočtu. Vyberte ten, který bude podávat nejvhodnější
výsledek. Program obsahuje verzi CSG pouze v betaverzi s
nedostatky, ale lepší něco než nic."
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mar



Založen: 16. 06. 2012
Příspěvky: 507

PříspěvekZaslal: 9. říjen 2018, 23:49:17    Předmět: Odpovědět s citátem

Muchomurka napsal:
Ok, byli jiní (než Ty), kteří psali více hatersky, což souhlasím, že je v Česku už takřka folklor....bohužel.

S tím nesouhlasím, spíš bych řekl, že v "Česku" někteří lidé neunesou konstruktivní kritiku.

1) Ta fixní velikost s ručním nastavením není přece dobré řešení, co když si nastavím jiný layout posunutím oken? Pokud to renderuješ přes OpenGL, nevidím problém, proč by se to nedalo řešit automaticky

citace:

Ad 2/ Upřímně nic ve zlém, ale nevím kam saháš. Já program normálně používám a jestli se přehmátnu při používání transformační symboliky, tak je to možná nejvýš 1x z 10ti případů. Zatím jsi jediný, kdo si na to stěžoval.

Tak to mám asi smůlu nebo gramlavé ruce, protože mně se to podařilo chytit přesně v opačném poměru Smile

3) Takže CaZaBa má plnohodnotné kosti včetně animací? Pak by import/export do FBX (nebo něčeho jiného) byl velmi hodnotný; i když uznávám, že FBX s rotacemi v Eulerovi nejsou úplně fajn, ale ten formát měl primárně sloužit k výměně dat mezi modelery, ne jako intermediate formát pro hry.

4) o CSG něco málo vím, tohle je screenshot (downsamplovaný) z mého editoru (všechno co je vidět je řešené pomocí CSG, kromě quad-bezier patche na trubkách):



Já tedy používám konvexní polygony, ale princip, jak to dělám, můžu popsat:
- klasifikaci fragmentů dělám pomocí raycastů (+stavím realtime BVH pro akceleraci, založené na třídění podle Z-orderu = Morton code). tady je potřeba správně vyřešit extrémní případy, kdy trefím zhruba vrchol polygonu, pak dělám raycast do jiných směrů
- řežu pouze polygony, co jsou v bounding boxu druhého objektu
- řezání dělám pomocí BSP rovinami v rámci řezaného polygonu kvůli fragmentům; tady je důležité použít vertex hash, tj. merguji vertexy, co jsou epsilon-blízko sebe (tady používám grid-akcelerační strukturu)
- na konec přidám kolineární body, abych opravil T-junctiony
- je potřeba korektně vyřešit koplanární fragmenty
- jako extra krok dělám ještě post-CSG merge polygonů se stejným materiálem (*definice mergovatelných polygonů je ale složitější vzhledem k atributům vertexů)

Není to úplně triple-A řešení, ale pro mé účely funguje velmi dobře (mám lineární list "CSG Brushů", kde každý dělá buď + nebo - (union/difference) - není to ale plnohodnotný modeler.
Výhoda raycastů a bbox subsetu oproti mergování 3d bsp stromů je, že např. root BSP může řezat spoustu nesouvisejících polygonů a navíc BSP tímhle způsobem může rychle degenerovat

Pokud by měl člověk aspoň konkávní polygony, nejlepší by asi bylo řešit CSG pomocí klipování kontur + split, navíc pro zobrazení by bylo potřeba udělat retriangulaci vyplněných částí, ale to by se dalo vyřešit přes ear clipping nebo něco takového

Ale asi se shodneme, že dělat CSG a mít to aspoň trochu robustní není úplně triviální
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Ostatní Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna