Tvorba mobilní aplikace v Unity
Prezentace
Použitá verze Unity 2022.3.10f
Vytvoření hlavního menu aplikace a základní ovládání Unity
1. Import projektu
- import projektu "YV3D_test" a představení Unity UI
 
2. Vytvoření UI tlačítek
- v hlavním menu se vytvoří 2 tlačítka - jedno pro Markerless AR, druhé pro Location-based AR
 
- 
základní metody pro Unity C#
- Awake()
- popis: Volá se jako první při inicializaci skriptu (před funkcí Start). Používá se pro inicializaci, která nezávisí na jiných skriptech.
 - spuštění: Ihned po přidání skriptu do scény nebo při aktivaci objektu.
 
 - Start()
- popis: Volá se jednou na začátku životního cyklu objektu, těsně před prvním voláním funkce Update. Vhodné pro inicializaci závislou na ostatních objektech.
 - spuštění: Po dokončení všech Awake() metod ve scéně.
 
 - Update()
- popis: Volá se každým snímkem (frame). Používá se pro logiku, která se má provádět průběžně, např. kontrola vstupů od uživatele nebo pohyb objektů.
 - spuštění: V každém snímku během běhu aplikace.
 
 - OnEnable()/OnDisable()
- popis: Volá se, když je objekt nebo skript povolen (enabled)/zakázán (disabled).
 - spuštění: Při aktivaci/deaktivaci objektu nebo komponenty.
 
 
 - Awake()
 - 
výpis zprávy do konzole při stisknutí tlačítka
 - změna scény tlačítkem
 
    // Markerless AR tlačítko
    public void OnMarkerlessARClicked()
    {
        Debug.Log("Tabletop AR button has been clicked");
        SceneManager.LoadScene("SimpleSample");
    }
- 
přiřazení skriptu pro ovládání Menu do nového game objectu MenuComponent
 - 
zpětné tlačítko SimpleSample -> Menu
 - 
Poznámka: pro fungování přepínání scén v telefonu je nutné dané scény vložit do aktivních scén v Build Settings a po zapnutí aplikace se zapne první scéna v pořadí
 
Markerless AR
- 
kontrola nastavení AR v Build Setting a Player Settings
 - 
kontrola nainstalovaných pluginů
 - 
vytvoření nové scény MarkerlessAR
 - 
přidání game objectů
- AR Session - řídí běh AR
 - XR Origin - spravuje pozici a orientaci AR objektů v prostoru
 
 - 
do XR Origin se přidají komponenty
- AR Plane Manager - umožňuje detekovat rovné plochy (např. stoly, podlahy)
 - AR Raycast Manager - umožňuje interakci s reálným světem, např. pokládání objektů na detekované plochy
 
 
- vytvoření materiálu pro skenování ploch -> nový komponent AR Default Plane
 
- 
vytvoření složky Prefabs, do které se přetažením vloží AR Default Plane
 - 
připnutí AR Default Plane do komponentu AR Plane Manager
 
- 
vytvoření nebo přidání 3D modelu do složky Models
 - 
přidání skriptu zobrazující model ARTapToPlaceObject
 - 
smazat původní gameobject MainCamera
 
- 
přidání ovládání AR modelu pomocí pluginu Lean Touch
 - 
přidání EventSystem do scény pro možnost zprovoznění dotykového ovládání
 - 
přidání LeanTouch gameobjectu pro ovládání dotyku
 
- 
vložení komponent Lean Pinch Scale a Lean Twist Rotate Axis do modelu kostela - v Inspectoru
 - 
nastavení parametrů dle obrázku níže
 
- výsledek:
 
Location-based AR
- 
využití Immersal SDK: https://immersal.com/
 - 
postup: https://developers.immersal.com/docs/unitysdk/tutorial/
 








