Inizia
Tutorial intermedi

Creare oggetti che ruotano

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Oggetti rotanti sono oggetti che ruotano su uno o più assi nello spazio 3D. Utilizzando la potenza integrata del motore di simulazione di Roblox, puoi far ruotare oggetti e interagire con il loro ambiente in un modo che emula il comportamento fisico del mondo reale che è familiare e intuitivo per i giocatori, come la gravità, l'aerodinamica e l'attrito.

Utilizzando il file Spinning Objects .rbxl come riferimento, questo tutorial spiega come le forze fisiche impattano il movimento angolare in Studio e ti mostra varie tecniche per far ruotare oggetti nelle tue esperienze con diversi comportamenti di rotazione, comprese indicazioni su:

  • Utilizzare un vincolo AngularVelocity per far ruotare un intero assemblaggio a una velocità angolare costante.
  • Utilizzare un vincolo meccanico HingeConstraint per far ruotare una parte all'interno di un assemblaggio a una velocità angolare costante mentre il resto dell'assemblaggio rimane fermo.
  • Utilizzare il metodo ApplyAngularImpulse per far ruotare un assemblaggio con un impulso iniziale di forza angolare in modo che l'assemblaggio decelera lentamente nel tempo.

Movimento angolare e forze fisiche

Roblox Studio è un motore di simulazione del mondo reale che emula il comportamento fisico in tempo reale, quindi per prevedere il comportamento degli oggetti rotanti nelle esperienze, è importante avere una comprensione generale di come gli oggetti ruotano nella vita reale con movimento angolare.

Il movimento angolare, o movimento rotazionale, è il movimento attorno a un punto fisso o asse. Ad esempio, quando un'elica ha movimento angolare, ruota attorno al suo asse di rotazione nel mezzo dell'elica.

Il movimento angolare non può esistere senza forze fisiche esterne che spingono o tirano gli oggetti per farli ruotare. Secondo la prima legge del moto di Newton, gli oggetti fermi rimangono fermi e gli oggetti in movimento rimangono in movimento con una velocità costante, a meno che non siano soggetti a una forza esterna. Ad esempio, un'elica ferma rimane ferma a meno che una forza fisica come il vento non la spinga a ruotare.

La coppia è la misura della forza fisica che fa ruotare gli oggetti, ed è responsabile dell'ottenere l'accelerazione angolare negli oggetti. Questo concetto è particolarmente importante per far ruotare oggetti in Studio; maggiore è la coppia che applichi agli oggetti, più velocemente possono accelerare.

Questo perché la coppia deve essere maggiore di qualsiasi forza fisica direzionale che spinge contro l'oggetto, come la gravità o l'attrito. Ad esempio, se mettessi l'elica nella terra, la forza fisica del vento deve superare quant'è l'attrito dalla terra per continuare ad accelerare l'elica rotante. Se la forza del vento non è molto maggiore dell'attrito dalla terra, l'elica accelera, solo più lentamente rispetto all'esempio precedente.

La velocità angolare è la misura della velocità di rotazione di un oggetto, o quanto velocemente l'oggetto ruota attorno a un punto fisso o asse nel corso del tempo. Studio misura la velocità angolare in base a quanti radianti un oggetto ruota al secondo. Ci sono 2π radianti (6.283) in una rotazione, quindi affinché un oggetto completi una rotazione al secondo, deve avere sufficiente coppia per ruotare circa 6 radianti. Comprendere la velocità angolare è importante per progettare il gameplay nelle tue esperienze perché ti aiuta a determinare quanta coppia hai bisogno per ottenere una particolare accelerazione per i tuoi oggetti rotanti.

Le sezioni seguenti approfondiranno questi concetti mentre impari a far ruotare gli oggetti a una velocità angolare costante o iniziale con la coppia necessaria per superare qualsiasi forza fisica oppositiva all'interno dell'ambiente. Mentre rivedi questi concetti fisici con le prossime tecniche, puoi prevedere più accuratamente come regolare i valori delle proprietà per ottenere qualsiasi comportamento di rotazione ideale in Studio.

Mantenere una forza angolare costante

Affinché un oggetto raggiunga e mantenga una velocità angolare costante, ha bisogno di una forza angolare per superare qualsiasi forza fisica oppositiva che decelera la velocità angolare dell'oggetto o causa che l'oggetto rimanga fermo. Ad esempio, se desideri che un oggetto abbia una velocità angolare di [0, 12, 0] in Studio, hai bisogno di sufficiente coppia affinché l'oggetto raggiunga e mantenga 12 radianti al secondo lungo l'asse Y nel suo ambiente, o circa due rotazioni complete al secondo.

La quantità di coppia che applichi ai tuoi oggetti dipende non solo dalle forze fisiche opposte nell'ambiente stesso, come la gravità e l'attrito, ma anche dall'oggetto stesso. Ad esempio, se hai due oggetti della stessa forma che ruotano sullo stesso asse, l'oggetto più grande con il momento d'inerzia maggiore richiede più coppia per ottenere la stessa accelerazione.

La parte del triangolo piccolo ha un momento d'inerzia più basso, quindi ha bisogno di meno forza angolare per ottenere la stessa accelerazione.
La parte del triangolo grande ha un momento d'inerzia maggiore, quindi ha bisogno di più forza angolare per ottenere la stessa accelerazione.

Le seguenti sottosezioni utilizzano assemblaggi di forme e dimensioni diverse per insegnarti come far ruotare un intero oggetto o solo una porzione dell'oggetto. Mentre sperimenti con diversi valori delle proprietà, imparerai come stimare la quantità massima di coppia di cui hai bisogno per gli assemblaggi nelle tue esperienze.

Utilizzare vincoli AngularVelocity

Gli oggetti AngularVelocity sono un tipo di vincolo di movimento che applica coppia su un intero assemblaggio per mantenere una velocità angolare costante. Per iniziare a far ruotare l'assemblaggio, il vincolo AngularVelocity deve sapere:

  • Il punto e la direzione positiva o negativa in cui applicare una forza angolare.
  • La quantità di radianti che desideri far ruotare l'assemblaggio al secondo.
  • La quantità massima di coppia che il motore può applicare affinché l'assemblaggio raggiunga una velocità angolare costante.

Per dimostrare questo processo, aggiungerai un blocco al tuo workspace con un attacco a cui un vincolo AngularVelocity fa riferimento per far ruotare il blocco 6 radianti al secondo lungo l'asse Y del mondo a una velocità angolare costante, o circa una rotazione completa.

Aggiungi attacco

Puoi specificare il punto fisso per far ruotare un assemblaggio aggiungendo un oggetto Attachment all'assemblaggio, quindi configurando la posizione dell'attacco nello spazio 3D. L'esperienza di esempio Spinning Objects colloca un attacco al centro di una parte blocco in modo che il vincolo possa far ruotare la parte in senso antiorario attorno al suo centro.

Gli attacchi includono ausili visivi per aiutarti a visualizzare i loro assi di rotazione. La freccia gialla indica l'asse principale dell'attacco, e la freccia arancione indica l'asse secondario dell'attacco. Anche se nessuno degli assi di rotazione influenza la rotazione del blocco nei passaggi di questa tecnica, è importante comprendere questi ausili visivi per riferimento futuro poiché possono aiutarti a determinare il comportamento ideale per diversi tipi di vincoli, come il HingeConstraint nella prossima tecnica.

Per aggiungere un attacco:

  1. Nella finestra Explorer, inserisci una parte blocco nel Workspace.

  2. Inserisci un attacco nella nuova parte.

    1. Nella finestra Explorer, passa il mouse sopra la parte e fai clic sul pulsante ⊕. Viene visualizzato un menu contestuale.
    2. Dal menu, inserisci un Attachment. L'attacco viene visualizzato al centro della parte.
    3. Rinomina l'attacco in SpinAttachment.

Configura vincolo

Ora che il tuo blocco ha un punto fisso per far ruotare il blocco, puoi configurare le proprietà di un vincolo AngularVelocity per specificare la direzione di rotazione, l'asse o gli assi su cui applicare una velocità angolare costante obiettivo, la quantità di radianti che desideri far ruotare il blocco al secondo e la quantità massima di coppia che il motore può applicare affinché il blocco raggiunga una velocità angolare costante.

L'esperienza di esempio Spinning Objects applica fino a 1000 Rowton-studs di forza angolare costante per far ruotare il blocco di 6 radianti al secondo lungo l'asse Y del mondo a una velocità angolare costante. I Rowton-studs sono le unità fisiche primarie di Roblox per misurare la coppia. Per riferimenti sulle unità fisiche di Roblox e su come si convertono in unità metriche, vedi Unità di Roblox.

Per configurare un vincolo AngularVelocity:

  1. Per rendere il vincolo visibile nel viewport in modo da poter fare riferimento alla sua direzione di rotazione, abilita Show Constraint Details dal menu View di Studio.

  2. Inserisci un vincolo AngularVelocity nella parte.

    1. Nella finestra Explorer, passa il mouse sopra la parte, quindi fai clic sull'icona ⊕. Viene visualizzato un menu contestuale.
    2. Dal menu contestuale, inserisci AngularVelocity. L'aiuto visivo del vincolo viene visualizzato nel mezzo della parte.
  3. Assegna l'attacco della parte al nuovo vincolo.

    1. Nella finestra Explorer, seleziona il vincolo.
    2. Nella finestra Properties,
      1. Imposta Attachment0 su SpinAttachment.
      2. Imposta AngularVelocity su 0, 6, 0 per far ruotare la parte di 6 radianti al secondo lungo l'asse Y. Nota che se impostassi questa proprietà su 0, -6, 0, il blocco ruoterebbe in senso orario.
      3. Imposta MaxTorque su 1000 per applicare fino a 1000 Rowton-studs di forza angolare costante al secondo per raggiungere la velocità angolare obiettivo.
      4. Mantieni RelativeTo a World per far ruotare il blocco rispetto alla posizione e all'orientamento del mondo.
  4. Verifica che la quantità di coppia che hai impostato faccia ruotare il blocco di 6 radianti al secondo lungo l'asse Y del mondo.

    • Seleziona la modalità di simulazione Run dal menu a discesa del mezzanino e fai clic sul pulsante Play per iniziare. Studio simula l'esperienza nella posizione della telecamera corrente senza il tuo avatar nello spazio 3D.

      Opzione Esegui nel menu a discesa delle modalità di test del mezzanino di Studio.

Potresti dover regolare la tua coppia in base alla scala del tuo blocco e a qualsiasi forza fisica oppositiva nel tuo ambiente. Ad esempio, le proprietà del vincolo AngularVelocity nell'esperienza di esempio funzionano per una parte blocco con una dimensione di default di 4, 1, 2 su una piattaforma piatta con un materiale plastico, e un ambiente con la gravità preset classica.

Tuttavia, se il tuo blocco ha una dimensione maggiore e si trova su un terreno erboso, devi aumentare la proprietà AngularVelocity.MaxTorque perché la forza angolare deve superare sia la massa del blocco che l'attrito dell'ambiente. Ad esempio, la parte del grande blocco che è quadrupla rispetto alla dimensione della parte dell'esempio ha bisogno di almeno 300000 Rowton-studs di forza angolare costante per raggiungere la velocità angolare impostata!

Utilizzare vincoli HingeConstraint

Gli oggetti HingeConstraint sono un tipo di vincolo meccanico che consente a due attacchi di ruotare attorno a un asse, vincolando gli attacchi alla stessa posizione e ai loro assi principali nella stessa direzione. Quando imposti HingeConstraint.ActuatorType su Motor, questo vincolo applica coppia sui due attacchi con l'obiettivo che gli attacchi raggiungano e mantengano una velocità angolare costante.

Inoltre, quando posizioni attacchi all'interno di un assemblaggio con due oggetti, gli oggetti si bloccano insieme e tentano di ruotare insieme secondo l'asse primario fisso dell'attacco. Se fissi uno di questi oggetti, la forza angolare continua a far ruotare l'altro oggetto a una velocità angolare costante mentre il resto dell'assemblaggio rimane fermo.

Ad esempio, per iniziare a far ruotare un particolare oggetto all'interno di un assemblaggio, il vincolo HingeConstraint deve sapere:

  • La posizione in cui desideri che gli attacchi si sovrappongano.
  • Il punto e la direzione positiva o negativa in cui applicare una forza angolare.
  • La quantità di radianti che desideri far ruotare l'attacco al secondo.
  • La quantità massima di coppia che il motore può applicare affinché l'attacco raggiunga una velocità angolare costante.

Per dimostrare questo processo, aggiungerai un assemblaggio di elica con due oggetti al tuo workspace con attacchi in entrambi gli oggetti che un vincolo HingeConstraint fa riferimento per far ruotare l'elica di 3 radianti al secondo (circa metà di una rotazione completa al secondo) lungo l'asse Y a una velocità angolare costante mentre la base dell'elica rimane ferma.

Ottieni asset dell'elica

Il Creator Store è una scheda della Toolbox che puoi utilizzare per trovare tutti gli asset creati da Roblox e dalla comunità di Roblox per l'uso nei tuoi progetti, tra cui modelli, immagini, mesh, audio, plugin, video e font. Puoi utilizzare il Creator Store per aggiungere un singolo asset o una libreria di asset direttamente in un'esperienza aperta.

Questo tutorial fa riferimento a un modello di elica che puoi utilizzare mentre riproduci ciascun passaggio della tecnica HingeConstraint per far ruotare oggetti. Per ottenere questo asset dell'elica nel tuo inventario:

  1. Aggiungi l'elica al tuo inventario.

    1. Naviga alla pagina dei dettagli dell'asset nel Creator Store.
    2. Nell'angolo in alto a destra, fai clic sul pulsante Get Model. L'asset dell'elica è ora nel tuo inventario e puoi riutilizzarlo in qualsiasi progetto sulla piattaforma.
  2. In Studio, naviga alla scheda Home, quindi fai clic sul pulsante Toolbox. Si apre la finestra Toolbox.

    Toolbox evidenziato nella barra degli strumenti di Studio.
  3. Nella finestra Toolbox, fai clic sulla scheda Inventory. Viene visualizzato il filtro My Models.

  4. Fai clic sulla tile Propeller. Il modello si visualizza nel tuo viewport.

Configura attacchi

Puoi specificare sia la posizione di sovrapposizione degli attacchi sia la direzione del movimento rotazionale per far ruotare un particolare oggetto all'interno di un assemblaggio aggiungendo due oggetti Attachment all'assemblaggio, quindi configurando il loro allineamento e orientamento nello spazio 3D.

L'esperienza di esempio Spinning Objects allinea due attacchi vicino alla posizione in cui l'elica non ancorata si sovrappone alla base ancorata, e orienta il loro asse principale di rotazione verso l'alto in modo che ruotino in senso antiorario. L'attacco alla base non può ruotare in questo esempio perché la base è ancorata.

Per configurare gli attacchi per il vincolo di cerniera:

  1. Inserisci un oggetto Attachment in Head e Base.

    1. Nella finestra Explorer, passa il mouse su Head e fai clic sul pulsante ⊕. Viene visualizzato un menu contestuale.
    2. Dal menu, inserisci un Attachment.
    3. Ripeti questo processo per Base.
    4. Rinomina entrambi gli attacchi in HeadAttachment e BaseAttachment, rispettivamente.
  2. Ruota HeadAttachment e BaseAttachment in modo che l'asse principale di ciascun attacco punti verso l'alto lungo l'asse Y. Questo dice a Studio di ruotare gli attacchi in senso antiorario.

  3. Sposta BaseAttachment in cima a Base, e HeadAttachment sul bordo inferiore di Propeller. Questo dice a Studio dove connettere la cerniera stessa e sovrapporre entrambi gli attacchi durante il runtime.

Configura vincolo

Ora che i tuoi attacchi hanno una posizione per sovrapporsi e una direzione di movimento rotazionale, puoi configurare le proprietà di un vincolo HingeConstraint per specificare la quantità di radianti che desideri far ruotare l'attacco al secondo e la quantità massima di coppia che il motore può applicare affinché l'attacco raggiunga una velocità angolare costante.

Simile alla tecnica precedente, l'esperienza di esempio Spinning Objects applica fino a 1000 Rowton-studs di forza angolare costante per far ruotare l'attacco di 3 radianti al secondo lungo l'asse Y a una velocità angolare costante. Tuttavia, poiché l'attacco alla base si trova in un oggetto ancorato, solo l'attacco dell'elica può ruotare.

Per configurare un vincolo di cerniera:

  1. Inserisci un oggetto HingeConstraint in Head.

    1. Nella finestra Explorer, passa il mouse su Head, quindi fai clic sull'icona ⊕. Viene visualizzato un menu contestuale.
    2. Dal menu contestuale, inserisci un HingeConstraint.
  2. Assegna gli attacchi dell'elica al nuovo vincolo affinché l'elica ruoti in relazione alla base ancorata.

    1. Nella finestra Explorer, seleziona il vincolo.
    2. Nella finestra Properties,
      1. Imposta Attachment0 su BaseAttachment.
      2. Imposta Attachment1 su HeadAttachment. La cerniera viene visualizzata nel viewport.
  3. Nella finestra Explorer, seleziona il vincolo, quindi nella finestra Properties,

    1. Imposta ActuatorType su Motor. Vengono visualizzati nuovi campi di proprietà.
    2. Imposta MotorMaxTorque su 1000 per applicare fino a 1000 Rowton-studs di forza angolare costante per raggiungere la velocità angolare obiettivo.
    3. Imposta AngularVelocity su 3 per far ruotare la testa dell'elica di 3 radianti al secondo.
  4. Verifica che la quantità di coppia che hai impostato faccia ruotare l'elica di 3 radianti al secondo lungo l'asse Y.

    • Seleziona la modalità di simulazione Run dal menu a discesa del mezzanino e fai clic sul pulsante Play per iniziare. Studio simula l'esperienza nella posizione della telecamera corrente senza il tuo avatar nello spazio 3D.

      Opzione Esegui nel menu a discesa delle modalità di test del mezzanino di Studio.

Applicare una forza angolare iniziale

Un altro modo per cambiare la velocità angolare di un oggetto è applicare un impulso di forza angolare. Dopo l'impulso di forza angolare, l'oggetto decelera fino a fermarsi se c'è una forza oppositiva come l'attrito, oppure rimane in movimento con velocità costante se non ci sono forze oppositive.

Questa tecnica è utile per far ruotare oggetti dopo un evento di gioco significativo o meteorologico, come una forte raffica di vento, poiché fornisce un feedback istantaneo ai giocatori. Per dimostrare, la seguente sottosezione ti insegnerà come far ruotare un assemblaggio con una forza angolare iniziale casuale che puoi adattare con nuovi valori per soddisfare le tue esigenze di gioco.

Utilizzare ApplyAngularImpulse

Il metodo ApplyAngularImpulse applica coppia su un intero assemblaggio per ottenere una velocità angolare iniziale prima di rallentare fino a fermarsi. Per iniziare a far ruotare l'assemblaggio, il metodo deve sapere:

  • L'assemblaggio da far ruotare.
  • L'asse su cui applicare la coppia 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 da far ruotare come il genitore dello script, quindi applica un impulso casuale di forza angolare tra 0 e 100 Rowton-studs lungo l'asse Y.

Per far ruotare un assemblaggio utilizzando ApplyAngularImpulse:

  1. Inserisci una parte sfera nel Workspace. L'esempio utilizza una sfera con un MaterialVariant in modo da poter visualizzare chiaramente il movimento della sfera.

  2. Inserisci uno script nella nuova parte.

    1. Nella finestra Explorer, passa il mouse sopra la parte e fai clic sul pulsante ⊕. Viene visualizzato un menu contestuale.
    2. Dal menu, inserisci un Script.
  3. Sostituisci il codice di default con il seguente codice:


local part = script.Parent
local impulse = Vector3.new(0, math.random(0, 100), 0)
part:ApplyAngularImpulse(impulse)
© 2026 Roblox Corporation. Roblox, il logo Roblox e Powering Imagination sono tra i nostri marchi registrati e non registrati negli Stati Uniti. e altri paesi.