Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
Muchomurka
Založen: 03. 03. 2014 Příspěvky: 25
|
Zaslal: 11. září 2018, 17:59:22 Předmět: CaZaBa 1.0 - hotova |
|
|
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 |
|
|
]semo[
Založen: 29. 07. 2007 Příspěvky: 1526 Bydliště: Telč
|
Zaslal: 12. září 2018, 08:39:19 Předmět: |
|
|
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 |
|
|
Muchomurka
Založen: 03. 03. 2014 Příspěvky: 25
|
Zaslal: 12. září 2018, 21:21:39 Předmět: |
|
|
Ano, trvalo to. Jinak děkuji. |
|
Návrat nahoru |
|
|
Muchomurka
Založen: 03. 03. 2014 Příspěvky: 25
|
Zaslal: 6. říjen 2018, 11:34:11 Předmět: |
|
|
Hmmm, jen jedna reakce? No nic, no. Jinak na webu je nyní updatovaná verze CaZaBa 1.1 |
|
Návrat nahoru |
|
|
]semo[
Založen: 29. 07. 2007 Příspěvky: 1526 Bydliště: Telč
|
Zaslal: 8. říjen 2018, 08:14:32 Předmět: |
|
|
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 |
|
|
DeepMind
Založen: 22. 02. 2008 Příspěvky: 68
|
Zaslal: 8. říjen 2018, 16:22:47 Předmět: |
|
|
Ak môžem vedieť, aký programovací jazyk je použitý a čo je použité pre GUI? |
|
Návrat nahoru |
|
|
Muchomurka
Založen: 03. 03. 2014 Příspěvky: 25
|
Zaslal: 8. říjen 2018, 20:10:17 Předmět: |
|
|
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 |
|
|
DeepMind
Založen: 22. 02. 2008 Příspěvky: 68
|
Zaslal: 9. říjen 2018, 12:33:36 Předmět: |
|
|
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 |
|
|
mar
Založen: 16. 06. 2012 Příspěvky: 608
|
Zaslal: 9. říjen 2018, 14:01:47 Předmět: |
|
|
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 |
|
|
Muchomurka
Založen: 03. 03. 2014 Příspěvky: 25
|
Zaslal: 9. říjen 2018, 22:00:30 Předmět: |
|
|
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íš?
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 |
|
|
mar
Založen: 16. 06. 2012 Příspěvky: 608
|
Zaslal: 9. říjen 2018, 23:49:17 Předmět: |
|
|
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
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 |
|
|
|