Landscape retypology tool, nové XPresso v rámci knihovny MoXPig

22.5.2008· Autor: Pavel Zoch, Ph.D.· Přidat komentář

Tak se nám opět rozrostl, MoXPig. Dodali jsme do něj nové poměrně zajímavé XPresso navržené pro tvorbu a optimalizaci krajin. Jakže uvedený nástroj funguje se dočte v tomto článku…

Jakže to vzniklo?

Musím se přiznat, že uvedený systém není tak zcela úplně nový. Ideologicky podobný nástroj jsem připravil již před více než třemi lety, tehdy jen pro křivky a nutno říci, že systém byl podobný, ale zpracování horší.

Pak jsem na dlouhou dobu úvahy o podobných nástrojích opustil, nebyly potřeba. Ale velmi se mi líbil plugin Add the sea a ani mne nenapadlo, že vlastně řeší přesně to samé (v objektu Landscape), co jsem kdysi řešil já, i když podstatně, podstatně elegantnějším způsobem. A samozřejmě, Add the sea je někde jinde, než jednoduché XPresso, je to přeci jen komplexní sada s velmi širokým užitím…

A stalo se něco, co je vlastně již standardním motorem veškerého mého vývoje různých XPresso nástrojů. Někdo se optal, zda by nebylo možné, aby… A možné by to bylo, byla má odpověď, pomocí XPressa. Zadání vlastně znělo, zda by bylo možné připravit jakousi „přípravu“ pro zatím nedodané podklady tvorby terénu, kdy na tomto terénu budou muset být nějaké stromy, kdy není známo vertikální umístění těchto stromů… Tedy autor vizualizace si může stromy připravit jen v půdorysu a pak je bude muset umístit do správné výšky. Komplikace, ale znáte to, pak zadavatel bude chtít všechno hned…

Idea využití

Základním kamenem využití tohoto nástroje je optimalizace a rekonstrukce a také pokročilá editace terénu a to v několika rovinách:

Retopologizace importovaného modelu s nevhodnou strukturou – řekněme stl model který je tvořen mnoha trojúhelníky. Pomocí navrženého nástroje je přeměna modelu na model čistší, snáze editovatelný poměrně jednoduchá. Další výhodou je, že model lze interaktivně zahušťovat standardními postupy tam, kde to je skutečně potřeba a on se stále bude korektně upravovat.

Ale užití je i přímo v samotné CINEMĚ 4D. Předpokládejme, že chceme vytvořit model údolí mezi kopci. Pro kopce použijeme například CINEMA 4D primitiva Krajina, ale ten přechod z jendoho kopce na druhý… to není pěkné, ani přesvědčivé. Tedy i v této situaci nám objekt rychle a užitečně pomůže. Skutečně velmi rychle…

Možnosti využití se ale jistě najdou i další.

Způsob práce s tímto nástrojem si ostatně můžete prohlédnout v tomto videu
(velikost cca 200MB, délka 12 minut)

Příprava

Pustil jsem se tedy do nového XPressa a nutno říci, že mi práce od ruky vcelku letěla, do dvaceti minut byl hotový základní funkční koncept, který byl pak již jen obohacen o drobné volby jako nastavení pro vytvoření vodní hladiny (tedy zarovnání bodů pod nějakou hodnotou do roviny) a také hodnota pro vytvoření vertikálního offsetu.

Po vytvoření ukázkového videa v řekněme pseudo EN verzi jsem dostal jeden poměrně podmětný návrh, abych do systému dodal také možnost násobení výšky. To není složité, takže proč to nevylepšit…

Charakteristika

1) Uvedený objekt pracuje plně jako deformátor. Oba vstupující objekty (jak původní, tak upravovaný) lze volně přesouvat, otáčet, měnit velikost, upravovat strukturu (přidávat body, pracovat se štětcem a podobně).

2) Objekt pracuje jen a pouze s polygonovými objekty, promítaný objekt může být objekt polygonový, nebo křivka.

3) Zdrojový objekt může obsahovat více geometrií.

4) Systém je navržen jen a pouze pro vertikální směr a to v globálních souřadnicích.

5) U systému není zapotřebí dalších pomocných objektů, ale definují se dvě podstatné hodnoty, které jsou přičítány (v kladném a záporném směru) ke každému aktuálnímu bodu deformovaného objektu a tak se vytváří virtuální kopie deformovaného objektu, mezi kterými jsou vytyčené kolizní paprsky systému. Jakmile paprsky zasáhnou zdrojový objekt, umístí se do tohoto místa bod samotného deformovaného objektu a následně se upraví jeho vertikální poloha podle specifikovaného zadání.

6) Systém spolupracuje s deformátory ovlivňujícími zdrojový objekt.

01

Pod lupou – pracovní postup

Předpokládejme, že začneme tvorbou vlastního původního povrchu pomocí různých protínajících se primitiv (primitivum Krajina), která jsou případně nějak upravovaná (třebas i pomocí deformátoru deformace MoGraphu, který transformuje deformační mapu přímo do modelu), či domodelovaná. Již jsme se zmínili, ale asi není od věci to zopakovat. Původní kolizní objekt smí být jen jeden, ale samozřejmě takový objekt se může skládat z mnoha povrchů (více objektů a funkce Spojit)…

Poté musíme nastavit objekt, který se nám podle objektu zdrojového deformovat. Pokud jsou body tohoto objektu mimo plochu samotného zdrojového objektu, pak jsou ve výšce, ve které jsou osy! původního objektu.

A pak už jen můžeme editovat nový promítaný objekt podle potřeby, další možnosti jsou na nás a případně dalších parametrech, které využijeme…

Parametry systému

Objekt Landscape retypology tool je vlastně jen objektem Osy, který má nastavené chování XPresso a také speciální uživatelská data, kterými definujeme všechny vstupní hodnoty. Jak objekt původní (Collision), tak objekt nový (Projected) mohou být umístěné kdekoliv v hierarchii.

01

Parametry a volby objektu jsou následující:

Collision object: objekt původní, který se může skládat z více objektů

Projected object: nový objekt promítaný do objektu původního

Add vertical value: hodnota vertikální offsetu, tedy posunu ve směru osy Y

Height multiplication: hodnota, kterou je násobena finální vertikální velikost objektu

Add sea level, Sea level: První položka je vlastně jen přepínač, který aktivuje funkci mořské hladiny. Mořská hladina se vytváří ve výšce definované hodnotou Sea level (v globální hodnotě).

(Sea level) x (Height mul.) Info: Toto pole je zcela a výhradně informativní. Jedná se o hodnotu vertikální polohy úrovně moře v případě, že je celková vertikální velikost objektu upravena parametrem Height multiplication, tuto hodnotu nelze editovat.

Systém offset +Y, -Y: Tyto dvě hodnoty definují polohu virtuálních kopií promítaného objektu nad a pod objektem původním. Tyto hodnoty by měly být vždy vyšší, než limitní globální výška objetu původního (tedy přesněji poloha nejnižšího a nejvyššího bodu).

Stránky sady MoXPig

Pavel Zoch, Ph.D. Úplnej a naprostej .....

E-mail: pzdm(zavinac)digitalmedia.cz | Web: www.3dsoftware.cz | ICQ: 248707187 |

Motto: "Co ve věčnosti leží, mrtvé není, v záhadě věků i smrt se ve smrt změní." (H.P.L.)

Komentáře k článku  

Přihlášení uživatele