Condividi tramite


Afferrare, tenere premuto e lanciare con Interazioni

Panoramica

Mesh Interactables è un sistema per la configurazione di oggetti con script Unity che definisce l'interazione con un oggetto o un comportamento avatar in fase di esecuzione. Gli script definiscono le proprietà dell'oggetto con cui è possibile interagire usando gli interactor XRI. Il toolkit Mesh contiene script di tipi di oggetto diversi che possono essere definiti. Quando un progetto viene eseguito, configura tutti i prefab e le impostazioni necessari per gli oggetti o l'avatar in modo che si comportino come definito. Se vuoi visualizzare un'anteprima approssimativa di ciò che gli oggetti interagibili avranno un aspetto simile a quando vengono eseguiti nell'app Mesh, assicurati di configurare la modalità di riproduzione con l'emulazione mesh. Si noti che la funzionalità IK visualizzata nell'app Mesh non è disponibile in modalità di riproduzione con emulazione mesh.

Componente di installazione di Mesh Interactable

Per consentire l'interazione di un oggetto, è necessario aggiungere il componente Mesh Interactable Setup .To make an object interactable interactable component, you must add the Mesh Interactable Setup component.

  1. In Hierarchy (Gerarchia) selezionare l'oggetto .

  2. In Inspector (Controllo) fare clic sul pulsante Add Component (Aggiungi componente) e quindi selezionare Mesh Interactable Setup (Configurazione interagibile mesh).

    Screenshot della finestra di dialogo Aggiungi componente con il componente Installazione interagendo mesh selezionata.

Il componente viene aggiunto con la proprietà Tipo interagibile predefinita impostata su Basic. I tipi di oggetto verranno illustrati nella sezione successiva.

Screenshot del componente Configurazione interagiscibile mesh con Tipo di oggetto impostato su Interactable.

Le proprietà per un gruppo di oggetti che tutti si comportano allo stesso modo possono essere configurate con un componente padre Mesh Interactable Setup . Le proprietà verranno applicate a tutti gli elementi figlio con rigidbodies in fase di esecuzione aggiungendo automaticamente un componente Mesh Interactable Body a ogni oggetto figlio. È possibile aggiungere manualmente il corpo interagibile mesh per l'uso di mesh interagibili con Visual Scripting, ad esempio con eventi di interazione o per modificare la trasformazione della destinazione manipolabile tramite lo script visivo.

Screenshot del componente Corpo interagiscibile mesh.

Note:

  • Mesh Interactable Body consentirà a ogni interazione di comportarsi in modo indipendente.

  • Se si vuole abilitare la fisica, è necessario aggiungere un corpo rigido a un oggetto.

Visualizzazione delle informazioni della Guida

In Mesh Interactables Setup and Mesh Interactable Body components (Componenti del corpo interagibili mesh) è possibile fare clic sul pulsante "?" per passare a una pagina nella documentazione di Mesh che contiene la Guida per la funzionalità a cui è connesso il pulsante.

Screenshot dei componenti di Mesh Interactable con il pulsante della Guida sensibile al contesto evidenziato.

Tipi di oggetto interagibili

Esistono quattro tipi di oggetto:

  • Di base
  • Manipulable
  • Equipaggiabile
  • Generabile

Per scegliere un tipo di oggetto:

  • Nel componente Configurazione con interazione mesh fare clic sull'elenco a discesa Tipo interagendo e quindi selezionare una delle quattro opzioni.

Screenshot delle opzioni del menu Tipo di oggetto nel componente Corpo interagiscibile mesh.

Di base

Come accennato in precedenza, si tratta del tipo predefinito. Quando l'utente passa il puntatore del mouse o seleziona l'oggetto, può richiamare i callback e altri script possono reagire. Ad esempio, se si dispone di un pulsante che si vuole usare per abilitare un altro oggetto, aggiungere questo tipo di interazione al pulsante con un callback OnSelected per abilitare l'altro oggetto. Il pulsante sarà completamente interagendo semplicemente aggiungendo questo tipo e un collisore; non dovrai fare altro.

Nota: gli altri tre tipi interagendo--Manipulable, Equippable e Throwable (spiegati di seguito), hanno gli stessi attributi del tipo Basic, ma con funzionalità aggiuntive.

Altre informazioni sulle impostazioni del tipo di oggetto basic

Manipulable

È possibile spostare un oggetto di questo tipo da una distanza; in particolare, la trasformazione viene modificata in fase di esecuzione e spostata nello spazio alla fine di un raggio di interazione. I controlli di scelta rapida sono disponibili per ruotare o convertire l'oggetto. Per la manipolazione degli oggetti nell'app Mesh, è possibile attivare le impostazioni IK per la mano avatar per seguire l'oggetto. Gli oggetti manipulabili non richiedono un corpo rigido, ma è consigliabile aggiungerne uno se si desidera che gli oggetti abbiano funzionalità di fisica.

Screenshot di un'esperienza mesh con una pentola per il caffè manipolata.

Altre informazioni sulle impostazioni del tipo di oggetto Manipulable

Equipaggiabile

È possibile afferrare un oggetto di questo tipo. In termini mesh, diciamo che si "equipaggia" l'oggetto alla mano dell'avatar. Per equipaggiare un oggetto sul PC, fare clic sull'oggetto o premere F mentre l'oggetto è selezionato. Per equipaggiare un oggetto in Quest, premere il pulsante 'Grip' mentre l'oggetto è selezionato. Gli oggetti equipaggiabili contengono impostazioni per le destinazioni IK per la posa del braccio dell'avatar mentre l'oggetto è dotato. Le destinazioni IK sono un offset dal petto dell'avatar; determina dove va la mano mentre l'oggetto viene mantenuto o attivato.

Altre informazioni sulle impostazioni del tipo di oggetto Equippable

Generabile

Come suggerisce il nome, è possibile afferrare e generare un oggetto di questo tipo. Dopo aver afferrato, è possibile attivare la modalità di punta premendo e tenendo premuto il pulsante sinistro del mouse. Questo permetterà al braccio del tuo avatar di seguire il tuo bersaglio del mouse; per generare l'oggetto, rilasciare il pulsante sinistro del mouse.

Screenshot di un gioco dart con una dart afferrata e letta per essere lanciata.

Altre informazioni sulle impostazioni del tipo di oggetto throwable

Rendere gli oggetti interagendo con Visual Scripting

Tutti i componenti Interactables dispongono di proprietà e metodi di interazione disponibili per Visual Scripting in modo da avere una quantità illimitata di modi per renderli insieme. Per sfruttare questo vantaggio, usare il componente Mesh Interactable Body all'interno di un grafico di script con un nodo per una proprietà disponibile, ad esempio OnHovered o OnSelected, associata a un nodo OnStateChanged . Ad esempio, il grafico di script seguente abiliterà il cilindro mentre il pulsante viene premuto e lo disabilita quando viene rilasciato il pulsante. Il pulsante è completamente interagendo semplicemente aggiungendo lo script e un collisore; non devi fare altro.

Screenshot di un grafico di script con un corpo interagibile mesh è selezionato nodo.

Proprietà di Scripting visivo

Per tutti i corpi interagibili:

  • IsHovered (sola lettura): indica se l'avatar locale sta passando il mouse sull'oggetto.
  • IsSelected (sola lettura): indica se un avatar sta selezionando o meno l'oggetto. Durante l'esecuzione in MeshBrowser verrà eseguita la rete.
  • IsSelectedLocally : indica se l'avatar locale sta selezionando l'oggetto.
  • IsMine (sola lettura): true per l'ultimo avatar da selezionare o equipaggiare l'oggetto.

Per gli equipazzabili:

  • EquippedAt (sola lettura) - Dove questo oggetto è dotato : Nessuno, DefaultHand, RightHand, LeftHand. Durante l'esecuzione in MeshBrowser verrà eseguita la rete.
  • EquipTime (sola lettura): ora in cui questo oggetto è stato dotato. Durante l'esecuzione in MeshBrowser verrà eseguita la rete.
  • IsActivated (sola lettura): se questo oggetto si trova nello stato attivato. Valido solo per gli oggetti che non sono generabili. Durante l'esecuzione in MeshBrowser verrà eseguita la rete.
  • IsAiming (sola lettura): se l'avatar locale si trova nello stato di puntamento mantenendo questo oggetto. Valido solo per gli generabili.
  • IsThrowing (sola lettura): se l'avatar locale sta generando attivamente l'oggetto. Valido solo per gli generabili.
  • IsEquipped (sola lettura) (sola lettura): se questo oggetto è attualmente dotato di un avatar. Durante l'esecuzione in MeshBrowser verrà eseguita la rete.
  • IsThrowable : se questo oggetto è generabile.
  • ThrowVelocity : la velocità per generare l'oggetto quando viene rilasciato.

Per i manipolabili per modificare la posizione di destinazione:

  • Posizione di destinazione (sola lettura): posizione di destinazione del corpo quando si usa la modalità di forza predefinita nelle proprietà interagendo mesh
  • Rotazione di destinazione (sola lettura): rotazione target del corpo quando si usa la modalità di forza predefinita nelle proprietà interagendo mesh
  • Ray Hit Position (sola lettura): posizione dell'hit ray-cast dell'interactor nel corpo
  • Ray Hit Rotation (sola lettura): rotazione dell'interagitore intorno alla direzione del raggio
  • Posizione di destinazione modificata (lettura e scrittura): usata per impostare la nuova posizione di destinazione dallo script visivo. In questo modo verrà eseguito l'override della posizione di destinazione predefinita. È consigliabile eseguire l'override di questa proprietà:
    • Utilizzo di On State Changed of Target Position .Using On State Changed of Target Position.Using On State Changed of Target Position. In questo caso, lo script visivo genererà un flusso solo quando l'interactor e la nuova posizione è cambiata.
    • Utilizzo in caso di aggiornamento tardivo. Se è necessario modificare la trasformazione di destinazione in ogni fotogramma, eseguire l'aggiornamento in ritardo in modo che la nuova trasformazione di destinazione sia disponibile immediatamente nel frame successivo.
  • Rotazione destinazione modificata (lettura e scrittura): usata per impostare la nuova rotazione di destinazione dallo script visivo. In questo modo verrà eseguito l'override della posizione di destinazione predefinita.

Passaggi successivi