Voorbeeld van spatiepin

De functionaliteit die wordt gedemonstreerd in het Space Pin-voorbeeld is ook beschikbaar in de hoofdscène World Locked Physics Sample.

De ruimtepinscène biedt echter een vereenvoudigde en meer gerichte weergave van de functie Spatiepin. Het is bedoeld om dichter bij de innerlijke werking van een toepassing in de echte wereld te staan, die een groot object of objecten moet uitlijnen met echte kenmerken.

Het mist daarom veel van de opties en runtime UX van het meer algemene World Locked Physics Sample.

Standaardinstellingen

De toegepaste World Locking Tools Manager-instellingen kunnen worden onderzocht in Unity Inspector door het knooppunt WorldLocking > WorldLockingManager te selecteren.

Met name de functies Automatisch opslaan en Automatisch laden van World Locking Tools zijn ingeschakeld. Daarom, na het uitlijnen van de bollen en het meten van de straal naar echte functies, zoals hieronder beschreven, zal de volgende sessie bij het opstarten die uitlijning automatisch hervatten.

Als u het voorbeeld opnieuw wilt instellen op een schone status, verwijdert u het en implementeert u het opnieuw. Er zijn natuurlijk API's om opnieuw in te stellen op een schone slate vanuit een script, maar deze worden hier voor de duidelijkheid weggelaten. Zie IAlignmentManager.ClearAlignmentAnchors().

De demo maakt ook automatische refitbewerkingen mogelijk. Zie hieronder.

Instellen van fysieke ruimte

Dit voorbeeld bevat 4 markeringen. Als u het voorbeeld volledig wilt verkennen, plaatst u fysieke markeringen in een ruimte die overeenkomt met de indeling van de virtuele markeringen.

OPMERKING: de indeling van de virtuele markeringen in de Unity-scène kan worden aangepast aan elke fysieke ruimte. Er is niets bijzonders aan de standaardindeling. Gezien de voordelen van de functie Ruimte vastmaken is echter een aanzienlijke spreiding van de markeringen vereist, met scheidingen van ten minste een paar meter.

De indeling van de fysieke markeringen in de ruimte moet overeenkomen met de indeling van de virtuele markeringen in de Unity-scène, zoals wordt weergegeven in dit diagram:

Indeling van spatiemarkeringen

Het voorbeeld uitvoeren

Opstarten

Bij het opstarten van de eerste sessie bevindt de oorsprong van de Unity-coördinaatruimte zich op de hoofdpositie bij het opstarten.

Kijkend naar links en naar voren 6 meter zal een cyaan bol onthullen, met een cyaan kubus erboven.

Als u naar rechts en achteren kijkt, ziet u een rode bol en kubus, 10 meter verderop.

Vooruitgaand van de oorsprong en terugkijkend, ziet u een witte bol en kubus. Acht meter verder is een gele bol en kubus.

Er lopen ook stralen van afwisselende kleuren onder de bollen. Hun doel wordt duidelijk tijdens de walkthrough.

De wereld uitlijnen

Naar een van de gekleurde bollen gaan. Dit overzicht begint met de rode bol.

Loop naar de rode bol. De bol kan van een afstand worden gepakt met behulp van handstralen in HL2, of staren en knijpen met HL1. Op HL2 kan het ook in de hand worden gepakt.

Kijk rond en zoek de markering in de fysieke ruimte die overeenkomt met de rode bol. Pak de virtuele rode bol op een van de bovenstaande methoden en sleep deze naar de markering van de rode bol. Pas de bol verder aan om zo goed mogelijk uit te lijnen met de fysieke markering.

De andere bollen zijn nu ook verplaatst. Hun oriëntatie is echter ongewijzigd. Dat wil dat de virtuele wereld is vertaald om de rode bol op zijn markering te zetten, maar de oriëntatie van de wereld is nog niet beïnvloed.

Naar een andere bol gaan. Voor deze walk-through is de witte bol de volgende.

Herhaal de bovenstaande procedure en verplaats de virtuele witte bol om uit te lijnen met de fysieke markering.

Nu is de virtuele ruimte gedraaid en vertaald, zodat de rode, witte en cyaan bollen nog steeds in een lijn staan, met de gele bol op een loodrechte verschuiving van de witte bol.

Controleer of deze in de buurt van de witte bol is uitgelijnd met de fysieke markering. Loop naar de rode bol en controleer of deze is uitgelijnd met de fysieke markering.

Loop nu naar een resterende bol. Dit scenario gaat verder naar de cyaanbol.

Hoewel de cyaanbol in lijn is met de rode en witte bollen, is deze niet correct bij de markering geplaatst. De exacte vector en de grootte van de fout zijn afhankelijk van het apparaat en zelfs de situatie, ut het is waarschijnlijk dat deze zich dicht bij de rood-witte bollijn bevindt, maar niet van de fysieke markering.

Sleep de cyaanbol naar de juiste uitlijning met de fysieke markering. Controleer of elk van de drie geplaatste markeringen nu correct is uitgelijnd wanneer ze zich in de buurt bevinden.

Herhaal dit proces indien gewenst voor de laatste bol.

Alternatieve manipulatiemodus

De bovenstaande procedure is gebaseerd op de standaardconfiguratie in de toepassing, waarbij de richting van de virtuele ruimte wordt geïmpliceerd door de relatieve positie van de markeringen.

In een alternatieve modus kan de richting expliciet worden ingesteld door de bollen te pakken en deze rond de Y-as te draaien.

De hierboven beschreven standaardmanipulatiemodus is over het algemeen veel eenvoudiger, omdat het plaatsen van objecten in de virtuele ruimte meestal veel nauwkeuriger is dan het draaien naar een specifieke richting.

Bij het gebruik van QR-codes voor automatische uitlijning is de positie die wordt geretourneerd voor een QR-codemarkering meestal veel betrouwbaarder dan de afdrukstand.

Sommige toepassingen kunnen echter geavanceerde en specifieke kennis hebben van de gewenste oriëntatie van de ruimte, die ze met behulp van deze tweede methode kunnen gebruiken.

Als u de expliciete oriëntatiemethode in de demo wilt inschakelen, schakelt u gewoon de actieve space pin orientable manipulation-onderdelen uit op de markeringsbolen in:

Markeringen voor inhoudsmanipulatie >>> CyanSphere/RedSphere/YellowSphere/GreySphere.

en schakel de momenteel uitgeschakelde onderdelen voor Space Pin Manipulation in.

De voorgestelde procedure is dan:

Plaats een van de bollen die zijn uitgelijnd met de fysieke markering en oriënteer deze zodanig dat de andere bollen in de juiste richting staan.

De andere bollen bevinden zich nu op onjuiste afstanden, maar langs ongeveer de juiste vector.

Ga op zijn beurt naar de andere bollen en plaats deze om uit te lijnen met de fysieke markering. Er zijn geen verdere wijzigingen in de richting vereist.

De resultaten bekijken

Als er een meethulpmiddel, zoals een meetlint, beschikbaar is, kan deze uitlijning verder worden onderzocht.

Als de bollen correct zijn geplaatst, moet er geen fout zijn op elk van de bollen.

De T-straal die onder de bollen loopt, wisselt bij elke meter van kleur af. Door de afwijking van de kleurveranderingen in de balken te meten met de metermarkeringen in het meetapparaat, kan de fout in de gebieden tussen spatiespelden worden waargenomen.

Bewerkingen aanpassen

Automatische refitbewerkingen zullen waarschijnlijk als volgt worden gemanifesteerd:

  1. Nadat een of meer van de bollen zijn geplaatst, worden de virtuele objecten uitgelijnd zoals verwacht.
  2. Vervolgens gaat tracering verloren.
  3. Het bijhouden wordt hervat nadat u naar een ander fysiek gebied bent verplaatst.
  4. De uitlijning van de eerste bollen gaat verloren en heeft geen effect (omdat ze zich in een ander fragment bevinden).
  5. Na het verplaatsen rond het nieuwe gedeelte van de ruimte (mogelijk het plaatsen van een andere bol), gaat het hoofd terug naar de oorspronkelijke ruimte.
  6. Een refitbewerking op de achtergrond en automatisch combineert de oorspronkelijke en nieuwe fragmenten.
  7. De uitlijning van de eerste bollen wordt weer effectief (omdat ze zich nu allemaal in hetzelfde fragment bevinden).