Analýza vykreslování křivek¶
Prvotní analýza renderování křivky trajektorie:
Relevantní části Qt aplikace:
Sources/mainwindow.cpp:359
-> metoda curveGenerateClicked() - reakce na zmáčknutí tlačítka generace křivky, spustí dialog s nastavením a nakonec volá setCurveData()
-> metoda setCurveData() - načte, nebo generuje křivku, zde se dá vyčíst jak generovat samotné body křivek
Nějaké transformace křivek jsou provedeny v setCurveData(), ale další v Scene::setCurve(), při implementaci bude potřeba zvážit, jak mají tyto transformace adaptovány do Unity aplikace.
Poznámky k komunikačnímu protokolu:
* Qt aplikace umí generovat základní křivky
-> V tomto případě jsou nejspíše dané několika parametry: typ, úhel sklonu, směr rotace, Úroveň Pronace/Supinace
-> (Přehledně si lze udělat obrázek ve formuláři curvedialog.ui)
- Qt aplikace umí načíst křivku ze souboru
-> V tomto případě by bylo potřeba poslat všechny body křivky v zprávě o proměnlivé délce
Renderování v Unity:
Nejlepší varianta mi přijde využít Unity komponentu
LineRenderer
+ umí jednoduše vykreslit křivku, z kódu stačí nastavit pole bodů
+ spousta možností konfigurace z editoru
- nevím předem, jestli se nemohou vyskytnout potíže, že by to např. něco neumělo
Pak jsou další varianty:
Vytvoření vlastní geometrie
Přímé kreslení pomocí GL (https://docs.unity3d.com/2020.3/Documentation/ScriptReference/GL.LINES.html)
- obě varianty by měly být relativně náročné, ale rychlé
Vykreslení na dvojrozměrné plátno v prostoru
- generované křivky jsou dvojrozměrné, zdálo by se, že v případě potíží by to mohlo stát za úvahu
Aktualizováno uživatelem Oto Šťáva před téměř 4 roky(ů) · 1 revizí