From bac60ac3d5e565469c53cd105d4cc39e01a26aa8 Mon Sep 17 00:00:00 2001 From: Oleg Petruny Date: Thu, 26 Jun 2025 14:25:02 +0200 Subject: [PATCH] wip --- ch2.tex | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/ch2.tex b/ch2.tex index 07df972..9f01c51 100644 --- a/ch2.tex +++ b/ch2.tex @@ -198,26 +198,35 @@ Sculpting se provádí předevšim přes grafický tablet, kde pomoci různých Modeling na druhou stranu je obecnější zpracování vrcholů, hran a ploch. Tady se manuálně přidavají resp. odebírají a posouvají vrcholy. Navíc toto prostředí obsahuje funkce umožňující různé druhy chytrého instancování, množinových operací mezi objekty a zjednodušených simulací vrcholů a tedy i objektů. V takovém prostředí se tvoří především komplexní resp. hybrydní nebo tvrdé povrchy jako například nábytek, architektura nebo scény se sculpting modely. -\paragraph{Animace} Animace se tvoři v dalším kroku modelingu. Pokud jsme předtím vytvořili model pomoci sculptingu, potřebujeme ho imortovat do modeling prostředí. Začíná se tvorbou umělé kostry z tzv. kostí a kloubů. +\paragraph{Animace} Animace se tvoři v dalším kroku modelingu. Pokud jsme předtím vytvořili model pomoci sculptingu, potřebujeme ho imortovat do modeling prostředí. Začíná se tvorbou umělé kostry z tzv. kostí a kloubů. -Kostí jsou samostatné absraktní označení pro nosič prostorových transformací, pro který můžeme přiřadit množinu vrcholů. Potom v logice nějáké animace stačí pouze posouvat určité kostí a nějaký předrendrovácí engine bude souvislé modifikovat přiřazené vrcholy. Navíc kostí často modifikují vrcholy podle předem úrčené váhy pro každý vrchol, čímz lze škálovat a skládat posuny různých kostí na úrčitých vrcholech. Jen je potřeba brát v úvahu, že skeleton animace neboli modifikace provedené předrendrovacím enginem jsou spouštěné na CPU, jelikož jsou řízeny nějakou logikou herního světa. Proto množství +Klouby slouží pouze k specifikaci hierarchie mezi kosti, tak že nějaká kost propaguje vlastní modifikaci na všechny následující. Navíc specifikují střed rotačního bodu. -\paragraph{Texturování} +Kostí jsou samostatné absraktní označení pro nosič prostorových transformací, pro který můžeme přiřadit množinu vrcholů. Potom v logice nějáké animace stačí pouze posouvat určité kostí a nějaký předrendrovácí engine bude souvislé modifikovat přiřazené vrcholy. Navíc kostí často modifikují vrcholy podle předem úrčené váhy pro každý vrchol, čímz lze škálovat a skládat posuny různých kostí na úrčitých vrcholech. Jen je potřeba brát v úvahu, že skeleton animace neboli modifikace provedené předrendrovacím enginem jsou spouštěné na CPU, jelikož jsou řízeny nějakou logikou herního světa (moderní procesory s instrukčními sady AVX a více jádry v takových úlohach dokažou předvádět poměrně skvělé resp. přebytečně dostačující výkony). -%normal/specular atd. mapy +V Unreal Engine 5 přidaly rozhraní pro tvorbu skeleton animací přímo v editoru. Předtím bylo možné pouze hotové animace naimportovat. Uvnitř editoru je přiliš mnoho způsobů jak režirovat animace (myšleno přehrávání, slepení přechodů, modifikace, skládání atd.) a lze se v tom jednoduše ztratit. V základu je předpokládáná tvorba state-machine, který bude přehrávat a cyklit jednotlivé animace v závislosti na větvení grafu a podmínkach hran. + +Táto práce obsahuje pouze jednoduché animace postav, které byli přenesené ze staré verze. Animace hráče navíc disponuje immersivním otačením trupu a animace nohou jsou přitahovány k podlaze pomoci inverse kinematic metody. + +\paragraph{Texturování} Za účelem texturování nejdřív potřebujeme objektu úrčit jedinečnou UV mapu, která bude mapovat plochy 3D modelu na normalizovaný prostor 2D obrázku. Často tvůrci mají na začatku problem pochopit o co se vlastně jedná a jak model rozložit. K tomu může napomoct myšlenka s rozlepováním resp. slepováním hran papírové figurky. Celý koncept UV mappingu je totožný se zpětným procesem tvorby například papírove krychlé, kde nějak rozbalenou krychli skládáme z jednoho uceleného kousku materiálu. + +Když máme hotové mapování, můžeme volně přirazovat textury, které mohou úrčovat barvu vrcholů, modifikovat jejích normalový vektor, lesk, matnost, průhlednost a případně další. Přibližně do roku 2014, kdy vznikl Substance painter a dnes i jeho alternativy, jediný způsob texturování objektu bylo manuální ,,kreslení'' navrch vytvořené mapy. Dnes existují uživatelsky přijemné softwary, kde stačí kreslit rovnou komplexní materiály na povrch 3D modelu a aplikace sama obstará data všech textur. + +V tomto projektu většína objektů nepoužívá diffusní textury a vybarvování modelů je tvořené pomocí vybarvování určítých skupin jeho ploch. Přesto jsou často využiváné normal mapy nebo masky průhlednosti. Bohůžel se můsely zahodit mapy pro tesselaci povrchů používáné v staré verzi projektu, jelikož s příchodem UE 5 tvůrci odebrali celou podporu tesselace kvůli technologii Nanite. \paragrah{Exportování} -\paragrah{Pokročile techniky} + +\paragrah{Další techniky} %landscape %instancovani -%teselace je v pici \paragraph{Optimalizace} %mesh sit %kolize %lod/nanite %animace +%textury co nejmensi velikosti a poctu \subsection{Dynamické a procedurální objekty} %animace baked a matinee / sequencer