BodyGyro
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
L'oggetto BodyGyro applica un momento (forza rotante) su un BasePart in modo che mantenga un spostamento angolare costante o orientamento.Questo consente la creazione di parti che puntino in una certa direzione, come se un vero giroscopio stesse agendo su di essa.Fondamentalmente, è la controparte rotante a un BodyPosition .
Se vuoi mantenere una velocità angolare costante, usa un BodyAngularVelocity invece.
La proprietà CFrame controlla l'orientamento del bersaglio.Sono utilizzati solo i componenti angolari del CFrame ; la posizione non farà alcuna differenza.MaxTorque limita la quantità di forza angolare che può essere applicata,P controlla il potere utilizzato per raggiungere l'orientamento dell'obiettivo eD controlla il comportamento di ammortamento.
Campioni di codice
Point one part back at another using BodyGyro:
local part1 = workspace.Part1 -- The part that will turn to face Part2
local part2 = workspace.Part2
part1.BodyGyro.CFrame = CFrame.new(part1.Position, part2.Position)
Sommario
Proprietà
Determina l'orientamento target ( componente di traduzione ignorata ).
Determina la quantità di ammortamento da utilizzare per raggiungere l'obiettivo CFrame .
Determina il limite di quanto torque può essere applicato a ciascun asse.
Determina quanto sia aggressivo un momento di torsione applicato per raggiungere l'orientamento del bersaglio.
Metodi
Proprietà
CFrame
La proprietà CFrame (non da confondersi con BasePart.CFrame ) determina l'orientamento target verso il quale sarà esercitato il momento.Dal momento che BodyGyro non si applica la forza di traduzione, la componente traduttiva/posizionale del CFrame, CFrame.p , viene ignorata.Considera l'uso di uno dei seguenti costruttori di CFrame nella impostazione di questa Proprietà: CFrame.fromAxisAngle() , CFrame.fromEulerAnglesXYZ() o CFrame.fromEulerAnglesYXZ() .Fai attenzione a blocco gimbal quando scegli quale di questi metodi e quali angoli (in radianti).Inoltre, potresti usare CFrame.new(gyro.Parent.Position, targetPosition) per far sì che il BodyGyro "guardi" una posizione target ( Vector3 ).
La proprietà D è quanto ammortizzamento sarà applicato al momento di torsione utilizzato per raggiungere l'obiettivo CFrame .Quando la parte si avvicina all'orientamento del traguardo deve decelerare, altrimenti si rotolerà oltre il traguardo e dovrà fermarsi e riaccelerare nuovamente verso il traguardo.Questo spesso crea l'effetto indesiderato bandaggio in gomma , quindi l'applicazione dell'amortizzazione utilizzando questa proprietà è il modo in cui si evita quell'effetto.Più alto è Impostarequesto valore, maggiore diventa la curva di attenuamento o più lentamente la parte si avvicina all'orientamento del bersaglio.
MaxTorque
La proprietà MaxTorque determina il limite sulla quantità di torque che può essere applicata su ciascun asse per raggiungere l'orientamento del traguardo ( CFrame ).Se una parte non si muove, considera di aumentare questo valore (controlla anche che non sia Anchored o attaccata a qualsiasi parte ancorata).