Il motore fisico include il seguente Constraints che applica la forza o il torque per muovere una o più assemblaggi.Inoltre, sono disponibili varie restrizioni meccaniche che si comportano come connessioni meccaniche concettuali, tra cui cerniere, molle, corde e altro ancora.
Visualizzazione delle restrizioni
Per visualizzare con precisione le restrizioni in Studio, puoi usare le seguenti opzioni dalla scheda Modello della barra degli strumenti:


Mostra saldature — Mostra WeldConstraints , separatamente dalla visualizzazione di altre restrizioni.

Dettagli delle restrizioni — Mostra dettagli visivi completi delle restrizioni non saldanti.

Dimensione — Dimensione relativa delle visualizzazioni.
Crea vincoli
Le restrizioni del trasportatore si collegano tipicamente a una o due Attachments o Bones.Quando connesso a Bones, la restrizione utilizzerà la loro posizione e orientamento animati.
Per creare una restrizione mover, puoi utilizzare lo strumento Crea o la finestra Explorer.
Nella scheda Modello , accedi al menu del selettore del pulsante Crea e seleziona il tipo di restrizione desiderato, ad esempio Velocità angolare .
Nella vista 3D, passa il mouse su qualsiasi Part o MeshPart e clicca per aggiungere una nuova Attachment alla parte al punto visualizzato.In alternativa, passa il mouse su e clicca su un esistente Attachment o Bone per utilizzarlo per la restrizione.
Alcune restrizioni di spostamento utilizzano o supportano un allegato secondario nella loro funzionalità, quindi lo strumento potrebbe richiederti di ripetere il passaggio precedente su un altro Part, MeshPart, o Attachment, o Bone.
Velocità angolare usando un allegato Allineare la posizione usando due allegati
Simulazione fisica
Per simulare la fisica mentre si muove o si gira parti, puoi passare alla modalità Fisica nella barra degli strumenti di Studio, effettivamente forzando le parti a rispettare le limitazioni fisiche.Ad esempio, se trascini una parte intorno alla scena e si scontra con un'altra parte, spingerà fisicamente quella parte fuori strada.

Conversione del trasportatore legacy
Se la tua esperienza si basa su vincoli legacy BodyMover -based, controlla le seguenti note durante la conversione in vincoli moderni mover.
AlignPosition soddisfa la maggior parte dei casi d'uso coperti dal motore obsoleto BodyPosition .Per sincronizzarsi con il modo in cui il trasportatore legacy ha trattato ogni componente in modo indipendente e ha permesso una forza diversa lungo ogni dimensione, la proprietà ForceLimitMode di AlignPosition consente alla restrizione di operare in modalità Magnitude o modalità PerAxis:
In modalità PerAxis la forza lungo ciascun asse può essere specificata in modo indipendente.Poiché la forza massima è specificata come un vector, il frame di riferimento della forza può anche essere specificato attraverso la proprietà ForceRelativeTo con World , Attachment0 e Attachment1 opzioni.Inoltre, la formulazione per il controller interno viene modificata per corrispondere a quella di BodyPosition .
AlignOrientation soddisfa la maggior parte dei casi d'uso coperti dal motore obsoleto BodyGyro .I modi AlignType di AlignOrientation forniscono sufficiente libertà per la maggior parte delle applicazioni e la combinazione di più vincoli può replicare il limite del momento di torsione del veicolo.Inoltre, la modalità PrimaryAxisLookAt forza l'asse primaria del primo allegato della restrizione ( Attachment0 ) a puntare sempre verso il secondo allegato ( Attachment1 ), rendendo molto più facile aggiungere cose come telecamere di sicurezza di tracciamento del movimento o missili guidati.
LinearVelocity soddisfa la maggior parte dei casi d'uso coperti dal motore obsoleto BodyVelocity .Sebbene il mover legacy consenta un vector MaxForce , il tipico utilizzo di tale vector force era quello di azzerare una particolare componente, consentendo di disabilitare la restrizione lungo quella dimensione.LinearVelocity ottiene un effetto simile operando in modi distinti VelocityConstraintMode che corrispondevano a una ( Line ), due ( Plane ) e tre ( Vector ) dimensioni.
Inoltre, la proprietà ForceLimitMode con l'opzione di PerAxis accoglie qualsiasi applicazione della forza del veicolo con tutti i componenti non zero, come un aumento della forza lungo un singolo asse per bilanciare la gravità.
Sebbene AngularVelocity abbia alcune discrepanze con il motore obsoleto BodyAngularVelocity, casi specifici relativi a tali discrepanze non sono stati evidenziati dalla comunità, né internamente.
Come miglioramento separato, AngularVelocity lavora con Attachments e la proprietà RelativeTo ti consente di specificare il CFrame in cui viene specificata la forza, ad esempio World o Attachment1 .
VectorForce soddisfa tutti i casi d'uso offerti dai deprecati BodyForce e BodyThrust trasportatori.La restrizione moderna funziona con Attachments e la sua proprietà RelativeTo ti consente di applicare la forza a un offset relativo dal centro, simile a come BodyThrust.Location ha funzionato.
Una combinazione di LineForce e AlignOrientation soddisfa la maggior parte dei casi d'uso coperti dal motore obsoleto RocketPropulsion.Nell'esempio di un missile guidato, LineForce può essere utilizzato per controllare il comportamento "follow target" di RocketPropulsion mentre AlignOrientation e la sua proprietà LookAtPosition possono essere utilizzati per controllare il comportamento "face target".