Nacházíte se zde: Rhino3D.cz > Články > Zásuvné moduly > T-splines: organická revoluce v Rhinu?


T-splines: organická revoluce v Rhinu?

Publikováno: 8.3.2006 | Autor: Jan Slanina | Rubrika: Zásuvné moduly | Komentáře: 1 - Doporučit

T-Splines - ikonaRhino je skvělý modelář pro designéry, strojaře a vůbec technicky zaměřené uživatele. Není ale žádným tajemstvím, že jeho slabinou je organické modelování a také je pravdou, že není mnoho ukázek postav nebo příšerek, vymodelovaných v Rhinu. To by měl rázně změnit příchod modulu T-splines, který zatím existuje jen v Maye. Modul T-Splines je údajně tak vyspělý a náročný, že může fungovat pouze v Rhinu 4.

T-Splines... zatím pouze pro Mayu


Jak jsem už psal v anotaci, modul T-splines existuje zatím pouze pro Mayu, proto budou veškeré informace a ukázky práce modulu T-splines pocházet právě z tohoto hostitelského programu. Práce na začlenění tohoto modulu do Rhina jsou ale již v plném proudu a jak se dozvíte dále, již existuje historicky první obrázek T-splines v Rhinu :-)

A nyní se podívejme, co se o T-splines píše na stránkách výrobce.

O modulu T-Splines

Seznamte se s budoucností 3D modelování. Redukujte velké množství dat ve svých modelech. Modelujte hned od začátku rychleji než pomocí NURBS. I změny provádějte rychleji. Renderujet rychleji! T-Splines významně zlepší produktivitu vašeho modelování.

T-Splines není nějakým dalším nudným modelovacím softwarem, který by vnášel nové funkce do staré technologie. Naopak, T-Splines představují novou vlnu 3D modelování, protože umožňují umělcům tvořit způsobem, který byl dříve matematicky nemožný.

Cílový trh

Plugin T-Splines pro Mayu je zacílen na high-end NURBS animátory, neboť nabízí sadu nástrojů, která  umožňuje vytvářet detailní bezešvé organické modely, se kterými se snadno pracuje. Všechny stávající NURBS modely je možné bezeztrátově převést na T-Splines, optimalizovat a poté převést opět na NURBS.

O firmě T-Splines, LLC

T-Splines, LLC je softwarová firma, která působí na poli 3D modelování. Zajímavé je, že firma svému produktu věří natolik, že si jeho jméno dokonce zvolila za název celé společnosti. T-Splines, LLC sídlí v údolí Rocky Mountains v Oremu v americkém Utahu. Společnost byla založena v roce 2004 a tvoří ji softwaroví experti na 3D modelování a také umělci. Všem záleží na tom, aby T-Splines byly ustanoveny jako nový průmyslový standard v high-end animačním a CAD modelování.

Patentovaná technologie T-Splines otevírá nové hranice možností 3D modelování, protože umožňuje umělcům a designérům přidávat detaily a slučovat modely takovými způsoby, které byly dříve nemožné. Protože jsou T-Splines plně kompatibilní s existujícími modelovacími technologiemi, mohou být snadno integrovány do jakéhokoliv produkčního řetězce.

Technologie


Obecně o technologii

Cílem společnosti T-Splines, LLC je ustanovit T-Splines jako průmyslový standard v oblasti CAD a animace. V rámci sféry našeho vlivu také doporučujeme výzkum T-Splines na univerzitách. T-Splines řeší to, co bylo před dvaceti lety nazýváno "svatým grálem" počítačem podporovaného geometrického návrhu (místní úprava tvaru ploch) a my věříme, že potenciál řešení významných geometrických problémů teprve začíná krystalizovat. Rádi bychom vybídli výzkumníky, studenty a další zainteresované, aby využili naše fórum a akademické studie ke sdílení svých nápadů v oblasti modelování 3D ploch.


Porporováno Národní vědeckou nadací

Výzkum T-Splines byl podporován federálními penězi. Jsme šťastní, že jsme obdrželi grant National Science Foundation SBIR na vytvoření algoritmu průsečíku ploch na základě T-Splines. Objevili jsme nový revoluční algoritmus, jehož podrobnosti zveřejníme až v okamžiku, kdy bude dokončeno jeho patentové řízení.

T-Splines je nová modelovací technologie, která představuje novou úroveň detailu a bezešvého modelování. Jako nadmnožina NURBS a subdivision surface modelování přináší T-Splines patentované vlastní algoritmy, které vám umožní generovat co nejefektivnější sítě.


TSplines 01
V této ukázce používají T-Splines o 75% méně řídicích bodů na generují přitom hladší model.

Plugin T-Splines byl navržen tak, aby vyhovoval dvěma základním postupům: použití T-Splines pro vytvoření nového modelu a převod existujících modelů na T-Splines za účelem jejich zjednodušení.

1. Použití T-Splines při vytvoření nového modelu
Existuje mnoho možností, jak využít výhod T-Splines při vytvoření nového modelu. Protože hlavní výhodou T-Splines je editace a práce s detailem, mnozí modeláři vytvoří hrubý tvar svého modelu pomocí polygonů a potom jej převedou na T-Splines za účelem přidání detailů detail a provedení změn. Také je možné začít modelovat přímo s T-Spline primitivami.

2. Použití T-Splines pro zjednodušení a sloučení existujících modelů
3D modely se stávají stále více realistickými, v každém odvětví proto vzrůstá poptávka po vysoce detailních modelech. Snaha o dosažení takové úrovně detailu pomocí NURBS nebo polygonů může mít za následek příliš „těžké“ modely, které lze obtížně editovat a které se také déle renderují. Po převodu existujících NURBS a polygonových modelů na T-Splines můžete vyčistit model od nepotřebných dat a sloučit víceplátové NURBS modely do jediné plochy. Výsledkem je T-Spline model, který je snadno animovatelný a editovatelný a obsahuje určitá místa s vysokými detaily, zatímco méně detailní oblasti nejsou zatíženy zbytečně mnoha řídicími body.

Některé funkce modulu T-Splines pro Mayu


Slučování

Vytvářejte hladší průsečíky a redukujte čas na animaci tím, že sloučíte NURBS a T-Spline pláty do jediného bezešvého T-Spline modelu.

TSlpines 02

Lokální detaily

Do T-Spline modelů můžete přidávat lokální detaily pomocí našich patentovaných T-spojů. Tato časově úsporná funkce, dříve známa pouze v polygonovém modelování, vnáší do spline modelování pohodlí a jednoduchost.

TSpline 03

Záhyby

T-Splines umožňují vkládat do modelu lokální záhyby, které jsou kompatibilní s NUBRS. Ostny na zádech tohoto leguána byly všechny vytvořeny pomocí záhybů a tvoří bezešvý model. Ostrost těchto záhybů můžete animovat a můžete je použít také při obrábění modelu ve výrobě.

TSplines 05
Ostny na zádech leguána byly vytvořeny jako záhyby


Plugin T-Splines pro Mayu

Plugin T-Splines pro Mayu byl vytvořen pro umělce, kteří požadují přesnost NURBS, aniž by však přitom byli svázáni jejich přísnými omezeními. V T-Splines lze snadno přidávat libovolné detaily a celý model si může uchovávat optimální úroveň detailu. To znamená že vytvoření bezešvého modelu je pravidlo, nikoliv výjimka. Navíc se nemusíte starat o zachování tečnosti mezi různými částmi modelu - T-Spline modely mají v celém rozsahu automaticky spojitou křivost.

Tyto kvality činí z T-Splines přirozeného následníka NURBS. NURBS, které byly objeveny před 25 lety, se etablovaly jako základ high-end modelování v oblasti animací a CADu, protože jsou matematicky přesné. Tato přesnost však není zadarmo: umělec ji může dosáhnout pouze pozorným omezováním svého modelování na pravoúhlou mřížku řídicích bodů. Jen zřídka se modelář pokusí vytvořit celý model z jediné NURBS plochy – místo toho spíše použije skupinu NURBS plátů. Ani přesnost není automatická: vždy se musíte pečlivě starat o to, aby pláty, ze kterých se model skládá, patřičně navazovaly a aby byly tečné. Taková nepříjemná omezení učinila NURBS modelování méně dostupným pro začátečníky a stala se zdrojem frustrací i pro zkušenější modeláře. Ačkoliv je krása a použitelnost dobře zkonstruovaného NURBS modelu neoddiskutovatelná (NURBS se kvůli své přesnosti používají v libovolném prostředí od videoher přes průmyslový design po CAD a výrobu), představuje pro modeláře úsilí, vynaložené na vytvoření NURBS modelu důvod, proč si dvakrát rozmyslet, zda dát přednost NURBS před polygonálním a subdivision modelováním. Díky dopředné i zpětné kompatibilitě s NURBS vdechují T-Splines NURBS modelování nový život a kvůli své osvobozující schopnosti vyjádřit detail ukazují cestu k další generaci vysoce detailního modelování.

T-Splines také obsahují atributy plošného subdivision modelování. Protože jsou T-Splines nadmožinou NURBS i subdivisions, můžete je bezeztrátově převádět z obou typů ploch a můžete je exportovat buď do NURBS nebo do polygonů. Jedním z významných přínosů T-Splines oproti subdivision plochám je možnost zvyšování lokálních detailů bez změny plochy, zatímco přidání detailu v subdivision plochách mírně plochu zdeformuje.

Časté dotazy


Co jsou T-Splines a co je to T-Splines plugin pro Mayu?

T-Splines je nová technologie modelování ploch, podobná a kompatibilní s NURBS a subdivision surfaces. Plugin T-Splines pro Mayu je první komerční implementací technologie T-Splines a byl vytvořen pro zlepšení modelovacích postupů v oblasti organických NURBS. Protože jsou T-Splines plně kompatibilní s NURBS, můžete považovat plugin T-Splines pro Mayu za zdokonalení NURBS modelování v Maye.

O T-Splines můžete uvažovat více způsoby.

T-Splines jsou jako NURBS, s tím rozdílem, že mohou mít částečné izočáry.

T-Splines jsou jako SubDs (subdivision surfaces), s tím rozdílem, že můžete vkládat geometrii bez změny plochy a určité druhy n-úhelníků se budou stínovat jako čtyřúhelníky.

Hlavním rozdílem jsou T-spoje. T-spoj je takový vrchol, na jehož jedné straně je izočára a na druhé není.

TSpline 05

Neexistuje omezení počtu T-spojů, které mohou ležet na jedné ploše. Díky tomu mohou být linie detilů zakončeny elegantně. A díky způsobu, jakým řídicí body T-spojů ovlivňují plochu bude plocha vždy hladká se stupněm C2.

Proč bych měl kupovat plugin T-Splines pro Mayu?

Při tvorbě pluginu T-Splines pro Mayu jsme měli na mysli NURBS modeláře. Zatímco funkce příští verze tohoto pluginu rozšíří funkčnost o charakteristiky subdivision ploch, cílem tohoto pluginu je usnadnit modelování organických NURBS objektů v Maye. Pokud jste organický NURBS modelář, slibujeme vám výrazné zdokonalení vaší současné sady nástrojů.

T-Splines nabízí největší úsporu času NURBS modelářům, kteří

  • vytváří organické modely s vysokými detaily v určitých oblastech a nízkými detaily v jiných oblastech
  • potřebují bezešvé modely místo modelů, tvořených mnoha NURBS pláty
  • animují NURBS modely

Jak lze srovnat T-Splines se subdivision plochami?

T-Splines jsou velice podobné SubD plochám. T-Splines jsou nadmnožinou Catmull-Clark SubD. Jakékoliv SubD můžete převést T-Spline, se stejnou výslednou plochou, se stejnou topologií a se stejnými vrcholy na identických pozicích. Hlavním rozdílem mezi SubD a T-Splines je problém n-úhelníků. Při použití T-Spline mohou linie ve vašem modelu končit v T-spoji. T-spoj pokračuje ve vlivu tohoto bodu přes dvě plochy, jako by tato čára pokračovala, čímž předchází vzniku nežádoucích deformací a stínovacích artefaktů. Nemusíte se starat o vkládání kompletních smyček hran nebo o zakončování smyček hran vzájemnou kombinací čar – můžete je prostě ukončit. Dalším vekým rozdílem je, že do T-Splines můžete vložit geometrii beze změny aktuální plochy.

Nebyla zde tato věc již koncem 90. let?

Ne, poprvé byla publikována na Siggraphu 2003. Možná máte na mysli hierarchické spliny (HSubDs a HSplines) nebo Animation:Master Patches v Hash. Níže si můžete přečíst, čím s T-Splines liší od uvedených typů ploch.

T-splines vypadají podobně jako HSubDs/HSplines.

Hlavním rozdílem mezi T-Splines a HSplines je ve skutečnosti rozdíl mezi T-spoji a hierarchií. Zatímco hierarchie může být žádoucí, může být také bolestivá – záleží na tom, co modelujete nebo animujete. S T-Splines uživateli nevnucujeme hierarchii. Ne snad proto, že by nám něco bránilo ve vytvoření hierarchických T-Splines – prostě si nemyslíme, že je tu dostatečná poptávka, která by ospravedlnila složitější implementaci.

U hierarchických splinů (HSplines) a SubDs existují UI problémy s tím, jak umožnit uživateli změnit stupeň hierarchie, který právě edituje a také skutečnost, že přesunutí stejného řídicího bodu změní plochu pokaždé jinak, v závislosti na aktuální úrovni hierarchie. Hierarchie se také může pomaleji zobrazovat a renderovat, ačkoliv to lze jistými způsoby obejít. A konečně ve většině HSpline implementacích můžete rozdělit plochy pouze pravidelně na čtyři menší plošky. U T-Splines můžete rozdělit jednu hranu a dostanete pouze 1 nový řídicí bod místo pěti a také můžete hranu rozdělit v jakékoliv procentní vzdálenosti chcete. To mimo jiné znamená, že s T-Splines můžete vytvořit plochy, které by bylo obtížné vyjádřit srovnatelně pomocí HSplines. Dobrým příkladem jsou dynamické, ukončené záhyby.

Tato technologie je podobná jako Patches/Hooks v Hash Animation:Master.

Hlavní rozdíl mezi plochami z A:M a T-Spline plochami je kompatibilita a spojitost. Mezi T-Splines, NURBS a SubD lze přesně konvertovat tam i zpět (viz. výše). Pláty v Hash jsou oproti tomu speciálním případem ploch, které je optimalizované pro editaci a animaci v reálném čase na málo výkonném hardwaru. Nejsou kompatibilní s B-Splines, což znamená, že přesný převod do nebo z NURBS nebo Catmull-Clark SubD je nemožný.

Ve smyslu spojitosti zachovávají A:M hooks pouze tečnost, oproti tomu T-spoje zachovávají tečnost i křivost. Jinými slovy, A:M plochy jsou C1, zatímco T-Splines jsou všude C2.

Také můžete mít T-Splines vyšších stupňů, kde plocha je všude C(stupeň-1) spojitá, stejně jako v NURBS.

Galerie - ukázky T-Splines

Níže vidíte několik ukázek T-Spline modelů v Maye.

TSplines 06
Příklad 1: busta v T-Splines kontra busta v NURBS.
Efektivní T-Spline síť a lokální detaily díky T-spojům.
T-Splines vám umožňují zachovat nezbytné řídicí body a eliminovat ty zbytečné.

TSplines 07
Příklad 2: Mnoho NURBS plátů, sloučených do jediného T-Spline.
C2 spojitá plocha. Detaily jsou jen tam, kde jsou potřebné. T-spoje jsou zvětšeny po levé straně.

TSplines 08
Příklad 3: T-Spline model.
Vyšší detaily v dlani, ostatní detaily jen tam, kde jsou potřebné.

 

T-Splines a Rhino


Nakonec se dostáváme k tomu, co vás asi zajímá nejvíc - jak to vypadá se zásuvným modulem T-Splines v Rhinu. Následující text publikoval Matt Sederebrg na diskusní skupině T-Splines, věnované Rhinu:

Zahájili jsme vývoj našeho druhého produktu, zásuvného modulu T-Splines pro Rhino. Velice nás to těší - T-Splines a Rhino vypadají jako ideální pár. Zásuvný modul pro Rhino by měl být vyvinutý rychleji než modul pro  Mayu, protože množství podpůrného kódu zůstane stejné a většina dalšího programování se bude týkat začlenění modulu do uživatelského rozhraní Rhina. Nepůjde však o pouhou portaci; máme před sebou několik skvělých nápadů, kterými bychom chtěli obdarovat uživatele Rhina. Těšíme se také na odezvu z komunity Rhina během vývoje modulu, protože jenom tak poznáme, zda jim vyhovuje a zda se hodí do jejich pracovního procesu.

Na mítinku ohledně vývoje modulu pro Rhino jsme stanovili výchozí architekturu. Zde jsou základní nástroje, které bychom rádi viděli ve verzi 1.0.

  • Slučování
  • Extruze (vytažení)
  • Vložení bodu – přidání lokálního detailu
  • Smazání hrany – pro odlehčení částí modelu
  • Rozdělení stěny
  • Smazání stěny
  • Automatické odstranění záhybu – odstraní zbytkové záhyby po sloučení plátů
  • Lokální záhyby
  • Převod do a z NURBS
  • Převod z polygonů (pomocí polygonů jako SubD řídicí klece)
  • T-Spline rendering
  • Rozdělení izočáry (přímý opak sloučení)
  • Booleovské operace


Ještě musíme vytvořit uživatelské prostředí pro Rhino, většina práce na pozadí však již byla vykonána pro náš plugin pro Mayu (poslední tři položky na našem seznamu jsou nové). Zatímco Rhino je teprve druhým programem, do kterého implementujeme T-Splines, sledujeme pozorně, kolik programování bude potřeba pro tuto portaci. Časovým cílem pro vydání plné verze je 3. čtvrtletí roku 2006.

Je však před námi jedno velké rozhodnutí, ke kterému bychom potřebovali odezvu z komunity Rhina.
Co je pro vás důležitější funkcí – podpora subdivisions v zásuvném modulu (nadbytečné body, slučování a konverze polygonů/subdivisions na NURBS) nebo podpora stříhaných NURBS a booleovských operací? Očekáváme, že v plné verzi bude obojí, ale vaše odpovědi nám pomohou stanovit směry našeho vývoje.

Také nás zajímají komentáře k výše uvedené výchozí sadě funkcí, zvláště od uživatelů se zkušeností s naším pluginem pro Mayu. Veškeré úsilí našeho vývoje se zaměřuje na způsoby, jak urychlit a zpřesnit modelování tím, že využijeme výhod flexibilní topologie a lokálních detailů, které T-Splines umožňují. Proto si budeme nejvíc vážit komentářů ohledně zlepšení způsobu, jakým T-Splines co nejlépe zapadnou do vašeho pracovního procesu nebo nabídnou nápady, které využijí schopnost přidávat lokální detaily.

Těšíme se na odezvu od vás a jsme nadšeni tím, že můžeme implementovat T-Splines do Rhina!

Během několika posledních týdnů jsme prováděli zahajovací práce na modulu T-Splines pro Rhino. Stále jsme v silně experimentální fázi, ale chtěli bychom se s vámi podělit o první screenshot:


TSplines 10


A to je o T-Splines v této chvíli vše. Pokud vám to nestačilo, tak na této adrese najdete dokumenty, které teoreticky popisují matematické pozadí T-Splines, takových pamfletů se však slušný člověk nedotkne ani desetimetrovým uzlovým vektorem, takže dále od teorie a vzůru do praxe!

Související odkazy

Související články

Nahoru ↑

Diskuse k článku

  • [1] Khalid – 15. 03. 2006, 10:35

    reagovat

    Uz to docela chtelo neco na tenhle zpusob, Rhino se skvele ovlada na rozdil od treba Maxe, ale delat v nem organiku temer neslo. Kdyby v nem vice rozvinuly vice funkci pro meshe a poly (treba smoothing groups) tak bych na maxe skoro mohl zapomenout.