Gyakorlat – Kézi interakció hozzáadása az ObjectManipulator használatával
Az ObjectManipulator szkript támogatja a kéz- és mozgásvezérlők bemeneti modelljének közvetlen manipulációs modalitását. Amikor a szkript egy objektumhoz van csatolva, a felhasználó a kezével mozgathatja, méretezheti vagy elforgathatja az objektumot. Ebben a gyakorlatban két kockát hoz létre, csatolja hozzájuk a szükséges szkripteket, majd áthelyezi a kockákat.
Az első kocka hozzáadása és beállítása
A menüsávon válassza a GameObject>3D objektumkocka> lehetőséget.
A kocka alapértelmezett mérete egy köbméter, ami túl nagy a célunkhoz. A méretet 20 köbméterre skálázjuk.
Jelölje ki a kockát, majd a Felügyelőben módosítsa a kocka méretezési értékeit az Átalakítás szakaszban a következőre:
X = 0,2, Y = 0,2, Z = 0,2
A kockát a (0,0,0) alapértelmezett pozícióban lévő jelenetbe helyezték. Ez azt jelenti, hogy a kocka ugyanabban a helyzetben van, mint a felhasználó headsetje, és a felhasználó addig nem fogja látni a kockát, amíg vissza nem lép. Módosítjuk a kocka pozícióértékeit, hogy jobb helyen lehessen megtekinteni.
A Felügyelőben módosítsa a kocka Pozíció értékeit az Átalakítás szakaszban a következőre:
X = -0,2, Y = 1,6, Z = 0,5
Szeretnénk látni a kocka három oldalát, ezért a kocka forgatását is megváltoztatjuk.
A Felügyelőben módosítsa a kocka forgási értékeit az Átalakítás szakaszban az alábbi értékre:
X = 9, Y = 14, Z = 0
Tipp.
Ha nagyítani szeretné a kockát, jelölje ki, győződjön meg arról, hogy a kurzor a Jelenet ablakra mutat, és nyomja le az F billentyűt. Így bármilyen objektumot nagyíthat.
Szkriptek hozzáadása a kockához
Ahhoz, hogy egy objektum nyomon követett kézzel "megragadható" legyen, három összetevővel kell rendelkeznie:
- Ütköző összetevő (itt nem kell semmit tennie; A Unity kockája alapértelmezés szerint már rendelkezik egy Box Colliderrel)
- Objektummanipulátor (szkript) összetevő
- A Constraint Manager (szkript) összetevő
Ha a kocka továbbra is ki van jelölve, a Felügyelő ablakban válassza az Összetevő hozzáadása gombot, majd keresse meg és válassza ki az Objektummanipulátor szkriptet.
Az Objektummanipulátor szkript egy objektumot mozgathatóvá, méretezhetővé és elforgathatóvá tesz egy vagy két kézzel. Az Objektummanipulátor szkript hozzáadásakor a Kényszerkezelő szkript is automatikusan hozzáadódik, mert az Objektummanipulátor szkript attól függ.
A kocka anyagának frissítése
Teljesítmény szempontjából javasoljuk, hogy az alapértelmezett Unity-anyagok helyett használjunk MRTK-anyagokat.
- Ha a kocka továbbra is ki van jelölve, keresse meg és bontsa ki a Mesh Renderer összetevő Anyagok szakaszát.
- Cserélje le az alapértelmezett anyagot az MRTK Standard Assets Materials alatt található MRTK_Standard_White anyagra>. Ezt úgy teheti meg, hogy az anyagot közvetlenül az Anyagok szakasz Elem mezőjébe húzza
Második kocka hozzáadása
A hierarchiában kattintson a jobb gombbal a kockára, és válassza a Duplikálás lehetőséget. A duplikált kocka kocka (1) néven jelenik meg.
Kattintson a jobb gombbal az eredeti kockára, válassza az Átnevezés lehetőséget, és nevezze el a kockát a kocka közelében.
Kattintson a jobb gombbal a duplikált kockára, válassza az Átnevezés lehetőséget, majd nevezze el a kocka Far Cube nevét.
Jelenleg úgy tűnik, hogy csak egy kocka van a Jelenet nézetben. Ennek az az oka, hogy a Közeli kocka és a Far Cube ugyanazon a helyen vannak. Változtassuk meg a Far Cube pozícióját és forgását.
Ha a Far Cube továbbra is ki van jelölve, módosítsa az átalakítás összetevő értékeit a következőre:
Pozíció: X = 0,6, Y = 1,6, Z = 1,1
Forgatás: X = 27, Y = 0, Z = 0
Most a kamera kell látnia a közeli kocka a bal oldalon, és a Far Kocka egy kicsit távolabb a jobb oldalon. Ennek megerősítéséhez a hierarchiában válassza a Fő Kamera (az MRTK XR rig> Kamera eltolás területén), majd tekintse meg a Fő Kamera ablakot a Jelenet ablakban.
Tipp.
Ha azt szeretné, hogy a Jelenet ablak nézete jobban hasonlítson a kamera által látottakra, görgessen körül a Jelenet ablakban. Előfordulhat, hogy a kamera jelzőinek törlése skyboxra kell állítania, ha alapértelmezés szerint nem.
A kockák megragadása és áthelyezése Lejátszás módban
Válassza a Lejátszás gombot. Amikor a projekt elkezd játszani, a nézet a Játék ablakra vált.
Feljegyzés
Lejátszás előtt ellenőrizze, hogy van-e érvényes profilkészlet a Project Gépház> MRTK3 alatt.
Kattintson a Játék ablak jobb felső sarkában található három pont gombra, majd válassza a Teljes méret lehetőséget.
Nyomja le és tartsa lenyomva a szóközbillentyűt , hogy a szimulált jobb kéz megjelenjen a nézetben.
Helyezze a szimulált kezet közelebb a Közeli kockához, amíg az meg nem érinti a kockát az oldalon vagy az alján.
Kattintson a bal egér gombra (így a kéz "megragadja" a kockát), majd húzza a kockát a jelenet köré.
A Far Cube megragadásához és mozgatásához a szimulált kézhez csatlakoztatott távoli mutatót fogjuk használni.
Ha szükséges, nyomja le és tartsa lenyomva ismét a szóközbillentyűt a szimulált jobb kéz megjelenítéséhez. Jegyezze fel a mutatóujj végétől kezdődő távoli mutatót.
Vigye közelebb a kezét a Távoli kockához, amíg meg nem jelenik a mutató hegye a kockán. Előfordulhat, hogy néhányszor körkörös mozgásban kell mozgatnia a kezét, hogy a mutató hegye megjelenjen a kockán.
Kattintson a bal egérgombra (ezzel a kéz közel van, és a "csippentő kézmozdulatnak" hívjuk), majd húzza a kockát a jelenet köré.