Oggetti rotanti sono oggetti che ruotano su uno o più assi nell'Spazio3D. Utilizzando la potenza incorporata del motore di simulazione Roblox, puoi far girare gli oggetti e interagire con il loro ambiente in un modo che imita il comportamento fisico reale che è familiare e intuitivo per i giocatori, come la gravità, l'aerodinamica e la frittura.
Usando il file Spinning Objects.rbxl come riferimento, questo tutorial spiega come le forze fisiche influenzano la moto angolare in Studio e mostra varie tecniche per girare gli oggetti nelle tue esperienze con diversi comportamenti di rotazione, tra cui la guida su:
- Usa una AngularVelocity mover restriction per girare un'interaAssembly ad una velocità angolare costante.
- Usa una HingeConstraint limitazione meccanica per ruotare una parte all'interno di un'assemblaggio ad una velocità angolare costante mentre il resto dell'assemblaggio rimane fermo.
- Usa il metodo ApplyAngularImpulse per ruotare un'assemblaggio con un impulso iniziale di forza angolare in modo che l'assemblaggio si deceli lentamente nel tempo.
Mozione angolare e forze fisiche
Roblox Studio è un motore di simulazione in tempo reale che imita il comportamento fisico in tempo reale, quindi per prevedere il comportamento degli oggetti in esperienza è importante avere una comprensione di alto livello di come gli oggetti ruotano in real life con angolo di movimento. Angolare movimento , o movimento rotazionale, è il movimento intorno a un punto o asse fisso. Ad esempio, quando un propulsore ha un movimento angolare, ruota attorno al suo asse rotazionale nel mezzo del propulsore.
La velocità angolare non può esistere senza forze fisiche esterne che spingono o tengono gli oggetti a girare. Secondo la prima legge del movimento di Newton, gli oggetti in movimento iniziale rimangono in movimento e gli oggetti in movimento iniziale rimangono in movimento con una velocità costante a meno che non siano attivati da una forza esterna. Ad esempio, un propellente iniziale rimane in movimento finché una forza esterna come il vento non lo spinge a girare.
Torque è la misura della forza fisica che causa gli oggetti a girare, e è responsabile per gli oggetti che ottengono l'accelerazione angolare. Questo concetto è particolarmente importante per gli oggetti che girano in Studio; più torque applici agli oggetti, più velocemente possono accelerare.
Questo perché il torco deve essere maggiore rispetto a qualsiasi forza fisica direzionale che spinge contro l'oggetto, come la gravità o la frittura. Ad esempio, se si posiziona il propulsore in sporco, la forza fisica del vento deve superare la quantità di frittura dalla sporcizia per continuare ad accelerare il propulsore rotolante. Se la forza del vento non è molto mag
Angolare velocità è la misura di un oggetto's rotazione tasso, o quanto velocemente l'oggetto ruota attorno a un punto o un'asse fisso in un periodo di tempo. Studio misura la velocità angolare secondo il numero di radian che un oggetto
Le seguenti sezioni si immerse più a fondo in questi concetti mentre impari a girare gli oggetti in una costante o velocità angolare iniziale con la velocità di rotazione necessaria per superare qualsiasi forza fisica avversaria all'interno dell'Ambiente. Mentre rivedi questi concetti fisici con le prossime tecniche, puoi più accuratemente predire come regolare i valori delle proprietà per ottenere qualsiasi comportamento di rotazione ideale in Studio.
Mantenere una forza angolare costante
Per un oggetto per raggiungere e mantenere una velocità angolare costante, ha bisogno di una forza angolare per superare qualsiasi forza fisica opposta che abbia decelerato la velocità angolare dell'oggetto o causi l'oggetto a rimanere stationario. Ad esempio, se vuoi che un oggetto abbia una velocità angolare di 12
La quantità di coppia che applici ai tuoi oggetti non dipende solo dalle forze fisiche opposte all'interno dell'ambiente stesso, come la gravità e la frittura, ma anche sull'oggetto stesso. Ad esempio, se hai due oggetti della stessa forma che ruotano sullo stesso asse, l'oggetto più grande con il più grande momento di inertia richiede più coppia per ottenere la stessa accelerazione angolare.
Le seguenti sezioni utilizzano assemblaggi di diverse forme e dimensioni per insegnarti come ruotare sia un intero oggetto che una parte dell'oggetto. Mentre esperimi con diversi valori di proprietà, imparerai a stimare la quantità massima di torque che hai bisogno per le assemblaggi nelle tue esperienze.
Uso dei vincoli di velocità angolare
AngularVelocity oggetti sono un tipo di mover constraints che applica il torque su un'intera assemblaggio per mantenere una velocità angolare costante. Per iniziare a girare l'assemblaggio, il AngularVelocity vincolo deve sapere:
- Il punto e la direzione positiva o negativa per applicare una forza angolare.
- La quantità di radian che vuoi che l'assemblaggio giri al secondo.
- La quantità massima di coppia che il motore può applicare per l'assemblaggio per raggiungere una velocità angolare costante.
Per dimostrare questo processo, aggiungerai un blocco alla tua area di lavoro con un'attenzione che un AngularVelocity vincolo di riferimento si riferisce per girare il blocco 6 radiani al secondo per la velocità angolare costante, o circa un'rotazione completa.
Aggiungi allegato
Puoi specificare il punto fisso per ruotare un'assemblaggio aggiungendo un oggetto Attachment all'assemblaggio, quindi configurando la posizione dell'attacco nello Spazio3D. L'esperienza di sampled Spinning Objects posiziona un'attrezzatura nel centro di un blocco partendo in modo che il vincolo possa ruotare il contraffare della parte contro l'angolo centrale di se stesso.
Gli accessori includono aiuti visivi per aiutarti a visualizzare i loro assi di rotazione. L'aria gialla mostra l'asse principale dell'allegato, e l'aria arancione mostra l'asse secondario dell'allegato. Mentre nessuno degli assi della rotazione influenza la rotazione del blocco nei passi di questa tecnica, è importante capire questi aiuti visivi per il futuro poiché possono aiutarti a determinare il
Per aggiungere un allegato:
Nella finestra Explorer , inserisci una parte blocco nella Workspace .
Inserisci un allegato nella nuova parte.
- Nella finestra Explorer , passa il mouse sulla parte e fai clic sul pulsante ⊕. Viene visualizzato un menu contestuale.
- Dal menu, inserisci un allegato . L'allegato viene visualizzato nel centro della parte.
- Rinomina l'allegato in SpinArrow .
Configura vincolo
Ora che il tuo blocco ha un punto fisso per ruotare il blocco, puoi configurare le proprietà di un AngularVelocity vincolo per specificare la direzione di rotazione, l'asse o gli assi per applicare una velocità di costante angolare, la quantità di radian che vuoi che il blocco giri al secondo e la quantità massima di torque che il motore può applicare per il blocco per raggiungere una velocità di rotazione costante.
L'esperienza Spinning Objects di oggetti rotanti applica fino a 1000 Rowton-studs di forza angolare costante per ruotare il blocco 6 radian per secondo lungo l'asse Y del Mondoa una velocità angolare costante. I Rowton-studs sono le unità fisiche principali di Roblox per misurare il tasso di torsione. Per fare riferimento alle unità fisiche di Roblox e come vengono convertite in
Per configurare una AngularVelocity Vincolo:
(Opzionale) Rendi la restrizione visibile nello spazio 3D in modo da poter fare riferimento alla sua direzione di rotazione.
- In the menu bar, navigate to the Modello tab, then the Constraints section.
- Se non è attualmente abilitato, fai clic su Dettagli di vincolo per visualizzare gli aiuti visivi di vincolo.
Inserisci un AngularVelocity vincolo nella parte.
- Nella finestra Explorer , passa il mouse sulla parte, quindi fai clic sull'Icona⊕. Viene visualizzato un menu contestuale.
- Dal menu contestuale, inserisci Velocità angolare . L'aiuto visivo del Vincoloviene visualizzato al centro della parte.
Assegna l'accessorio della parte al nuovo Vincolo.
- Nella finestra Explorer , seleziona la Vincolo.
- Nella finestra Proprietà ,
- Imposta Attachment0 su SpinRotation .
- Imposta AngularVelocity su 0, 6, 0 per ruotare la parte 6 radiani al secondo sulla direzione Y. Nota che se impostassi questa proprietà su 0, -6, 0, il blocco ruoterebbe a senso orario.
- Imposta MaxTorque su 1000 per applicare fino a 1000 Rowton-studs di forza angolare costante per secondo per raggiungere la velocità angolare target.
- Mantieni RelativeTo per World per girare il blocco rispetto alla posizione e all'orientamento del Mondo.
Verifica la quantità di coppia che hai impostato fa girare il blocco 6 radiani al secondo sulla linea di Y del Mondo.
Nella barra dei menu, fai clic sulla scheda Prova .
Nella sezione Simulazione, fai clic sul Selettore Modalità. Viene visualizzato un menu a discesa.
Seleziona Esegui . Studio simula l'esperienza alla posizione della telecamera attuale senza il tuo avatar nello Spazio3D.
Potresti dover regolare il tuo torque a seconda della dimensione del tuo blocco e di qualsiasi forza fisica opposta nella tua Ambientedi campionamento. Ad esempio, le proprietà della AngularVelocity limitazione nella esperienza di campionamento di un blocco con una dimensione predefinita di 4, 1, 2 su una piattaforma piatta con un materiale di plastica e un ambiente con la
Tuttavia, se il tuo blocco è di dimensioni più grandi e in terreno erba, devi aumentare la tua proprietà AngularVelocity.MaxTorque poiché la forza angolare deve superare sia la massa del blocco che la frittione dall'Ambiente. Ad esempio, la parte grande del blocco che è quattro volte la dimensione della parte dell'esempio ha bisog
Uso di HingeConstraint Constraints
HingeConstraint oggetti sono un tipo di vincolo meccanico che consente a due allegati di ruotare attorno a un asse, limitando gli allegati alla stessa posizione e le loro principali assi nella stessa direzione. Quando si imposta Class.HingeConstraint.ActuatorType su HingeConstraint.ActuatorType, questo vincolo applica il torque sui due
Inoltre, quando inserisci gli allegati in un'assemblaggio con due oggetti, gli oggetti si bloccano insieme e tentano di ruotare insieme secondo l'asse primario fisso dell'allegato. Se fissi uno di questi oggetti, la forza angolare continua a ruotare l'altro oggetto ad una velocità angolare costante mentre il resto dell'assemblaggio rimane fermo.
Ad esempio, per iniziare a ruotare un particolare oggetto all'interno di un'assemblaggio, il HingeConstraint vincolo deve sapere:
- La posizione in cui vuoi che gli allegati si sovrappongano.
- Il punto e la direzione positiva o negativa per applicare una forza angolare.
- La quantità di radian che vuoi che l'allegato giri al secondo.
- La quantità massima di coppia che il motore può applicare per l'accessorio per raggiungere una velocità angolare costante.
Per dimostrare questo processo, aggiungerai un'assemblaggio del propulsore con due oggetti alla tua zona di lavoro con allegati in entrambi gli oggetti che una HingeConstraint riferimento di connessione per girare il propulsore 3 radiani al secondo (circa la metà di una rotazione completa al secondo) lungo l'asse Y in una velocità di rotazione costante mentre la base del propulsore rimane in posizione.
Ottieni l'asset del propulsore
Il Creator Store è una scheda della Toolbox che puoi utilizzare per trovare tutte le risorse create da Roblox e dalla comunità Roblox per l'uso nei tuoi progetti, tra cui modello, immagine, Mesh, maglia, audio/suono, Collegare, video e risorse di carattere. Puoi usare il Creator Store per aggiungere una singola risorsa o una libreria di risorse direttamente in un'esperienza aperta.
Questo tutorial fa riferimento a un modello di propellente che puoi utilizzare come replicare ogni passo della HingeConstraint di oggetti rotanti. Puoi aggiungere questo modello al tuo inventario all'interno di Studio facendo clic sul link Aggiungi all'inventario nella seguente parte. Una volta che le risorse sono all'interno del tuo Inventario, reportorio, puoi riutilizzarle in qualsiasi progetto sulla Piattaforma.
Per ottenere questa risorsa del propulsore dal tuo inventario nella tua esperienza:
In the menu bar, select the Visualizza tab.
Nella sezione Mostra , fai clic su Toolbox . La finestra Toolbox viene visualizzata.
Nella Toolbox finestra, fai clic sulla scheda Inventario . La Classifica dei miei modelli visualizzazione.
Fai clic sul Piastrella Propeller . Il modello viene visualizzato nella tua finestra.
Configura accessori
Puoi specificare sia la posizione in cui vuoi che gli allegati si sovrappongano che la direzione del movimento di rotazione per ruotare un particolare oggetto all'interno di un'assemblaggio aggiungendo due oggetti Attachment all'assemblaggio, quindi configurando la loro allineamento e orientamento nello Spazio3D.
L'esperienza Spinning Objects ruota due allegati vicino alla posizione in cui si sovrappone il propellente non ancorato alla base, e orienta il loro asse principale di rotazione verso l'alto in modo che ruotino contro l'orario. L'allegato di base non può ruotare in questo esempio poiché la base è ancorata.
Per configurare gli allegati per la limitazione dell'Vincolo:
Inserisci un oggetto Attachment in testa e base .
- Nella finestra Explorer, passa il mouse su testa e fai clic sul pulsante ⊕. Viene visualizzato un menu contestuale.
- Dal menu, inserisci un allegato .
- Ripetere questo processo per Base .
- Rinomina entrambi gli accessori HeadRotation e BaseRotation , rispettivamente.
Ruota HeadRotation e BaseRotation in modo che il fulmine principale di ciascun allegato punta verso l'alto sull'asse Y. Ciò dice a Studio di ruotare gli allegati in senso contrario.
Sposta BaseAmount alla parte superiore di Base e HeadAmount alla parte inferiore di 1> Propeller1> . Ciò dice a Studio dove connettere l'articolazione stessa, e sovrappone entrambe le parti all'Tempo esecuzione.
Configura vincolo
Ora che i tuoi allegati hanno posizione per sovrapporsi e una direzione di rotazione, puoi configurare le proprietà di un HingeConstraint vincolo per specificare la quantità di radian che vuoi che l'allegato ruoti per secondo e la quantità massima di torque che il motore può applicare per l'allegato per raggiungere una velocità angolare costante.
Simile alla tecnica precedente, l'esperienza Spinning Objects di campionamento si applica fino a 1000 Rowton-studs di forza angolare costante per ruotare l'allegato 3 radian per secondo lungo l'asse Y a una velocità angolare costante. Tuttavia, poiché l'allegato di base è in un oggetto ancorato, solo l'allegato del propulsore può ruotare.
Per configurare una limitazione del Vincolo:
Inserisci un oggetto HingeConstraint in testa .
- Nella finestra Explorer, passa il mouse su Testa , quindi fai clic sull'Icona⊕. Viene visualizzato un menu contestuale.
- Dal menu contestuale, inserisci un HingeConstraint .
Assegna gli accessori del propulsore alla nuova limitazione in modo che il propulsore ruoti in relazione alla base ancorata.
- Nella finestra Explorer , seleziona la Vincolo.
- Nella finestra Proprietà ,
- Imposta Attachment0 su BaseAppearanceaggio .
- Imposta Attachment1 su HeadRotation . La cerniera viene visualizzata nella finestra.
Nella finestra Explorer, seleziona la Vincolo, quindi nella finestra Proprietà,
- Imposta ActuatorType su Motor . Nuovi campi di proprietà visualizzati.
- Imposta MotorMaxTorque su 1000 per applicare fino a 1000 Rowton-studs di forza angolare costante per ottenere la velocità angolare target.
- Imposta Velocità Angolare su 3 per ruotare la testa del propellente 3 radiani al secondo.
Verifica la quantità di coppia che hai impostato fa girare il propellente 3 radiani al secondo lungo l'asse Y.
Nella barra dei menu, fai clic sulla scheda Prova .
Nella sezione Simulazione, fai clic sul Selettore Modalità. Viene visualizzato un menu a discesa.
Seleziona Esegui . Studio simula l'esperienza alla posizione della telecamera attuale senza il tuo avatar nello Spazio3D.
Applicazione di una forza angolare iniziale
Un altro modo per cambiare la velocità angolare di un oggetto è applicando un impulso di forza angolare. Dopo l'impulso di forza angolare, l'oggetto rallenta fino a diventare stationario se esiste una forza angolare opposta, come la friction, o rimane in movimento con una velocità costante se non ci sono forze angolari.
Questa tecnica è utile per girare gli oggetti dopo un evento di gioco o di clima importante, come un forte raffico di vento, perché fornisce Riscontro/Replicaistantanei ai giocatori. Per dimostrare, la seguente sezione ti insegna come girare un'assemblaggio con una forza angolare iniziale che puoi adattare con nuovi valori per soddisfare le tue esigenze di gioco.
Usa ApplyAngularImpulse
Il metodo ApplyAngularImpulse applica il torco su un'intera assemblaggio per ottenere una velocità angolare iniziale prima di rallentare a uno stop. Per iniziare a girare l'assemblaggio, il metodo deve sapere:
- L'assemblaggio per girare.
- L'asse per applicare il torco per raggiungere una velocità angolare iniziale.
- La quantità di coppia da applicare a ciascun asse.
Puoi definire tutti questi valori in uno script. Ad esempio, lo script di esempio definisce l'assemblaggio per ruotare come il parentdello script, quindi applica un impulso casuale di forza angolare tra 0 e 100 Rowton-studs sull'asse Y.
Per girare un'assemblaggio usando ApplyAngularImpulse :
Inserisci una parte sfera in il Workspace . L'esempio usa una sfera con un MaterialVariant in modo che tu possa visualizzare chiaramente il movimento della sfera.
Inserisci uno script nella nuova parte.
- Nella finestra Explorer , passa il mouse sulla parte e fai clic sul pulsante ⊕. Viene visualizzato un menu contestuale.
- Dal menu, inserisci uno script.
Remplace il codice predefinito con il seguente codice:
local part = script.Parentlocal impulse = Vector3.new(0, math.random(0, 100), 0)part:ApplyAngularImpulse(impulse)