World Locked Physics Sample.

Physics Beam Sample erbjuder några virtuella fysikupplevelser som aktiveras av World Locking Tools världslåst koordinatsystem.

Bakgrundshistoria

På HoloLens kan relationen mellan en spatial fästpunkt och huvudet eller andra spatiala fästpunkter ändras när som helst, på grund av inkommande sensordata eller till och med ombearbetning av befintliga data.

Unitys spatiala fästpunkter reagerar på förändringar i den underliggande spatiala fästpunktens pose genom att dra den bifogade GameObject tillsammans med den. Denna rörelse orsakar svårigheter för fysiksimulering:

  • Eftersom den rumsliga förankrade GameObject-attityden uttryckligen anges av den rumsliga fästpunkten för varje bildruta, kan den inte anges genom simulering (till exempel momentum).
  • Eftersom det rumsliga ankaret ofta uppdaterar sin GameObjects pose, verkar den inte vara i vila i förhållande till andra fortfarande RigidBodies.
  • På grund av implicita skiftningar i Unitys koordinatsystem, när spatiala fästpunkter justerar koordinaterna för statiska hologram för att hålla dem fasta i förhållande till den verkliga världen, kommer fysikberäkningar som vägar och banor att inaktiveras. Till exempel kommer en projektil som är perfekt riktad mot ett hologram fortfarande att missa om hologrammet flyttas av dess spatiala fästpunkt mellan beräkningen av banan och den når målet.

När relationerna mellan uppmätta spatiala fästpunkter och synliga virtuella objekt som är låsta till dem blir inkonsekventa, justerar World Locking Tools huvudtransformeringen i stället för att justera de virtuella objekten som Unitys spatiala fästpunkter gör, för att minimera upplevda artefakter från dessa inkonsekvenser. Detta gör att de virtuella objekten kan se konsekventa ut i ett stabilt koordinatutrymme, vilket eliminerar ovanstående problem.

Skapa exemplet

Exemplet kräver spatialperception-funktionen. Funktionen Mikrofon krävs också för röstkommandon.

Det här exemplet kräver att följande lager läggs till i projektets taggar & lager:

  • Pelare
  • SpatialMapping

Köra demonstrationen

Kontrollerna HUD

Denna grundläggande HUD är inte specifik för det här Fysik Beam-exemplet, men tillåter bara körningskontroll av World Locking Tools beteende för att utforska dess funktioner. Den är tillgänglig som en drop-in för utveckling i alla program som använder World Locking Tools, enligt beskrivningen i World Locking Tools initiala installation.

Skärmbild av HUD-exemplen

Diagnostikstatistik visas som standard, men kan inaktiveras från Control HUD.

Lägesknapparna

När som helst kan exemplet finnas i något av följande lägen:

  • Inaktiv – fysikexemplet bearbetar för närvarande inte indata. MENYN HUD och alternativknapp fortsätter naturligtvis att bearbeta indata.

  • Kasta Dart - En bana beräknas, baserat på grundläggande fysik lagar, och visas. Den visade bågen visar den sökväg som en projektil som utlöses (via välj gest) kommer att följa. Den kastade pilen kommer att följa en ballistisk bana, studsar av alla kollisionsytor, inklusive spatial rekonstruktion (SR) nät, som den påverkar.

    Dessa dart är "flyttbara", enligt beskrivningen nedan.

  • Lägg till pelare - På en utvald gest kastas en stråle till världen i den angivna riktningen. Om den hittar en kolliderande yta läggs en vertikal pelare till scenen där.

    Varje pelare som läggs till är kolliderande och kan fungera som ett stöd för strålen enligt beskrivningen nedan. Det finns dock två varianter av pelare som lagts till:

    • Om pelarna ställs in på en "flyttbar" yta simuleras pelare fysiskt (till exempel kan slås omkull).
    • Annars kan pelarna kollidera, men statiska.

    I praktiken innebär den här regeln att om en pelare läggs till i SR-nätet blir den statisk, men annars blir den dynamisk.

    Pelare är "flyttbara".

  • Lägg till Beam - Vid första valet kastas en stråle in i scenen för att hitta strålens första slutpunkt. Efter det, när urvalsstrålen flyttas genom scenen, ritas en linje från den första slutpunkten till den aktuella slutpunkten. Den andra markeringsgesten skapar en strål som sträcker sig mellan den första och den aktuella slutpunkten.

    För att balansera strålen med slutpunkter på pelare krävs helt klart ett utrymme där slutpunktspelarna förblir fasta i förhållande till varandra.

    Bjälkar är "flyttbara".

  • Ta bort objekt – Vid markering, om ray cast-objektet är "flyttbart" tas det bort från scenen. Objekt som stöds av det borttagna objektet kommer sedan att falla.