Kluis
Ah, de kluis. Echt een steek in je rug. Tijd om ook hier eens te overlopen hoe je een werkende kluis maakt in VR.
Disclaimer: Dit is waarschijnlijk het enige onderwerp waar ik echt de moeite heb genomen om ook mijn 'Glitches' eens in beeld te brengen.
6u heeft deze kluis me gekost.

De Kluis
Ontwerp
Zoals je misschien op de puzzel al hebt gezien bestaat de kluis uit 2 grote wielen waaraan je zal kunnen draaien.
In Cinema4D zorgde ik ervoor dat de structuur van de kluis al mooi geordend was.
Zo maakte ik een groep met de volledige deur in, en in deze deur zaten de wielen ook mooi gegroepeerd zodat ik deze later in Unity gemakkelijker zou kunnen bereiken.

Na het exporteren in Unity gaf ik de kluis uiteraard weer wat kleur, en kon ik beginnen met de physics van deze kluis een keer te doorgronder.
Mechanisme
Bij veel onderwerpen vond ik vaak wel blogs of tutorials die me goed opweg konden helpen, maar bij de kluis was dit net iets anders.
Er was letterlijk geen spoor te bekennen van de mechanismen die ik nodig had. De belangrijkste grote onderdelen waren:
- Het maken van een wiel-draai-systeem
- Het opendoen van de kluis
Een systeem om een vastneembaar wiel (of roer) te maken is een onderwerp waar slechts enkele mensen een deftig resultaat hebben, maar helemaal niet uitleggen hoe ze eraan komen.
Ik ging dus zelf aan de slag om zo'n resultaat te bekomen.
Werking
In eerste in instantie zou je denken dat dit ongeveer hetzelfde werkt als een deur met een Hinge Joint, maar gewoon met een rond voorwerp.
Het probleem hiermee is dat we aan Velocity tracking doen. We bewegen een voorwerp op basis van de coördinaten van ons hand eigenlijk.
Om dit even simpel proberen uit te leggen:
Stel dat we de rechter-handle even als referentiepunt nemen. Met Velocity Tracking verplaatsen verplaats je een object door een bepaalde waarde aan positie te koppelen.

Onze blauwe Oriëntatie-pijl staat hier verticaal. Dat wil zeggen dat als wij ons hand naar boven (via de verticale as) verplaatsen, dat het voorwerp een Forward Motion zal doen.
Als we ons hand naar beneden bewegen, zal ons object een Negative Forward Motion doen (een achterwaartse beweging dus).
Dit wil zeggen we onze kluis nooit volledig kunen laten draaien, omdat ons hand naar beneden beweegt als we aan de linkerkant van de kluis zijn aangekomen met onze beweging.
Mislukte pogingen
Na vele pogingen om dit probleem op te lossen kwam ik tot de meest onwerkelijke problemen tot nu toe.

De deur vliegt weg, maar de wielen blijven terplaatse zweven.

De wielen Gitchen aan alle kanten door de deur als je ze vastneemt.

Of de volledige deur zakt door de kluis & valt op de grond, en kan je gewoon in je handen nemen.
De oplossing
Even ter zake. Uiteindelijk is het me wel gelukt om deze problemen op te lossen.
Ik plaatste een Rigidbody Component en een Hinge Joint op mijn buitenste cirkel. Hier was er dus niet echt iets mis mee.
Op iedere handle plaatste ik ook terug een Rigidbody, maar een Fixed Joint inplaats van een Hinge Joint.
Zorg ervoor dat de 'Mass' van deze Rigidbody op een nummer van 8 tot 12 staat, de 'Drag' op 0, en de 'Angular Drag' op 0.05.
Dan moet je je 'Connected Body' van je Fixed Joint op je koppelen met je buitenste cirkel.
Tot slot moet je aan de ChildElement van je handle ook terug een Rigidbody en een Box Collider toevoegen. De RigidBody van de Child moet op Kinematic staan, en de momenttype van je XR Grab Interactable op Velocity Tracking.

experimenteer ook eens met de verschillende Colision Detections. Soms werkten sommige waarden in andere gevallen beter.
Op de deur zelf (het overkoepelend element) zorgde ik ervoor dat de rotatie-as al goed stond, zodat ik hier geen extra Joint meer hoefde te gebruiken.
Verder zette ik alle Box Colliders van de kluis op een ChildElement binnen de kluis.

Iedere cubus dat je hier ziet zijn de handles binnen de wielen. Zorg ervoor dat deze handles de Box Collider van je deur niet aanraken, anders zou het kunnen dat je terug een haperig effect bekomt bij het draaien aan de wielen.
Tot slot maakte ik terug een script om de deur via een Animatie open te doen, inplaats van ook dit nog eens vast te nemen.
Ziezo! Je kan je perfect de wielen roteren met je handen, en na het vinden van de juiste rotatie zal de deur vanzelf opengaan!
In de kluis zal er een keycard liggen. Deze heb je nodig om de laser te activeren.