CFrame
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
Il inserisci / scrividi dati CFrame , a breve Frame di coordinamento , descrive una posizione e una orientazione 3D. È composto da un posizionale componente e un 1>rotazione1> componente e include le operazioni aritmetiche di base per il lavoro con i dati Roblox.
-- Crea un CFrame a una certa posizione e rotazione Eulerlocal cf = CFrame.new(0, 5, 0) * CFrame.fromEulerAngles(math.rad(45), 0, 0)
Per un'introduzione al tipo di dati CFrame, vedi CFrames .
Componente posizionale
Il componenti posizionale è disponibile come Vector3 . Inoltre, i componenti di un oggetto CFrame la posizione sono anche disponibili nel X , 2>Datatype.CFrame.Y|Y2> e 5>
Componente di rotazione
CFrame memorizza i dati
La tabella seguente rappresenta la tabella di rotazione di un oggetto CFrame e la loro relazione con le proprietà veuttorial disponibili come LookVector e RightVector . Anche se i singoli componenti della tabella di rotazione sono raramente utili da soli, le proprietà veuttorial che deriva da loro
<tbody><tr><td>R00</td><td>R01</td><td>R02</td></tr><tr><td>R10</td><td>R11</td><td>R12</td></tr><tr><td>R20</td><td>R21</td><td>R22</td></tr></tbody>
XVector, Vectore Destra | YVector, UpVector | ZVector, -LookVector ° |
---|
† A differenza degli altri, Datatype.CFrame.LookVector|LookVector rappresenta i componenti della colonna negata. Il Datatype.CFrame.LookVector|LookVector è utile poiché molti 1> Class.Instance|Instances1> come il 4> Class.
Sommario
Costruttori
- new()
- fromRotationBetweenVectors(from : Vector3,to : Vector3)
- fromEulerAngles(rx : number,ry : number,rz : number,order : Enum.RotationOrder)
- fromEulerAnglesXYZ(rx : number,ry : number,rz : number)
- fromEulerAnglesYXZ(rx : number,ry : number,rz : number)
- fromOrientation(rx : number,ry : number,rz : number)
- fromAxisAngle(v : Vector3,r : number)
- fromMatrix(pos : Vector3,vX : Vector3,vY : Vector3,vZ : Vector3)
Proprietà
Un identificatore CFrame con nessuna traduzione o rotazione.
La posizione 3D del CFrame .
Una copia del CFrame senza traduzione.
La X coordinata della posizione.
La Y coordinate della posizione.
La Z coordinata della posizione.
La direzione avanti della componente CFrame di orientamento dell'oggetto, equivalente alla forma negata di ZVector .
La direzione di rotazione della parte di CFrame oggetto.
La direzione di avanzamento della componente up-dir di oggetto CFrame .
Equivalente a RightVector .
Equivalente a UpVector .
Il Z component of the CFrame oggetto's orientation. Equivalente alla terza colonna della matrice di rotazione.
Metodi
Ritorna il contrario di Datatype.CFrame .
Restituisce un CFrame interpolato tra se stesso e goal dalla frazione alpha .
Restituisce una copia ortonormizzata del CFrame .
Riceve uno o più oggetti CFrame e li restituisce trasformati dall'oggetto allo Spaziodel mondo.
Riceve uno o più oggetti CFrame e li restituisce trasformati dallo spazio del mondo allo Spaziodell'oggetto.
Riceve uno o più oggetti Vector3 e li restituisce trasformati dall'oggetto allo Spaziodel mondo.
Riceve uno o più oggetti Vector3 e li restituisce trasformati dallo spazio del mondo allo Spaziodell'oggetto.
Riceve uno o più oggetti Vector3 e li restituisce ruotati dall'oggetto allo Spaziodel mondo.
Riceve uno o più oggetti Vector3 e li restituisce ruotati dal mondo allo Spaziodi oggetto.
Restituisce i valori x , y , z , 1>
Restituisce angoli approssimativi che potrebbero essere utilizzati per generare il CFrame utilizzando il Enum.RotationOrder opzionale.
Restituisce angoli approssimativi che potrebbero essere utilizzati per generare il CFrame utilizzando Enum.RotationOrder.XYZ .
Restituisce angoli approssimativi che potrebbero essere utilizzati per generare il CFrame utilizzando Enum.RotationOrder.YXZ .
Equivalente a CFrame:ToEulerAnglesYXZ() .
Restituisce un tuplo di un Vector3 e un numero che rappresenta la rotazione del CFrame nella rappresentazione a angolo.
Equivalente a CFrame:GetComponents() .
Restituisce true se l'altro 'Datatype.CFrame' è abbastanza vicino a questo 'Datatype.CFrame' in entrambe le posizioni e le rotazioni.
Operazioni Matematiche
Costruttori
new
fromEulerAngles
Parametri
Proprietà
LookVector
La direzione avanti della componente Datatype.CFrame dell'oggetto, equivalenti al negato CFrame o alla colonna negata della matrice di rotazione.
local cf = CFrame.new(0, 0, 0)local x, y, z, R00, R01, R02, R10, R11, R12, R20, R21, R22 = cf:GetComponents()print(cf.LookVector) --> (-0, -0, -1)print(-cf.ZVector) --> (-0, -0, -1)print(-R02, -R12, -R22) --> (-0 -0 -1)
L'aggiungimento di un oggetto CFrame il suo LookVector a se stesso produce un CFrame spostato in avanti in qualsiasi direzione che sia la sua faccia in direzione di 1 unità.
RightVector
La direzione di rotazione della parte di oggetto CFrame . Equivalente a XVector o alla prima colonna della matrice di rotazione.
local cf = CFrame.new(0, 0, 0)local x, y, z, R00, R01, R02, R10, R11, R12, R20, R21, R22 = cf:GetComponents()print(cf.RightVector) --> (1, 0, 0)print(cf.XVector) --> (1, 0, 0)print(R00, R10, R20) --> (1 0 0)
UpVector
La componente di direzione up del oggetto CFrame la orientazione. Equivalente a YVector o la seconda colonna della matrice di rotazione.
local cf = CFrame.new(0, 0, 0)local x, y, z, R00, R01, R02, R10, R11, R12, R20, R21, R22 = cf:GetComponents()print(cf.UpVector) --> (0, 1, 0)print(cf.YVector) --> (0, 1, 0)print(R01, R11, R21) --> (0 1 0)
XVector
Il X component of the CFrame oggetto's orientation. Equivalente a RightVector o la prima colonna della matrice di rotazione.
local cf = CFrame.new(0, 0, 0)local x, y, z, R00, R01, R02, R10, R11, R12, R20, R21, R22 = cf:GetComponents()print(cf.XVector) --> (1, 0, 0)print(cf.RightVector) --> (1, 0, 0)print(R00, R10, R20) --> (1 0 0)
YVector
Il Y component of the CFrame oggetto's orientation. Equivalente a UpVector o la seconda colonna della matrice di rotazione.
local cf = CFrame.new(0, 0, 0)local x, y, z, R00, R01, R02, R10, R11, R12, R20, R21, R22 = cf:GetComponents()print(cf.YVector) --> (0, 1, 0)print(cf.UpVector) --> (0, 1, 0)print(R01, R11, R21) --> (0 1 0)
ZVector
Il Z component of the CFrame oggetto's orientation. Equivalente al negato LookVector o alla terza colonna della matrice di rotazione.
local cf = CFrame.new(0, 0, 0)local x, y, z, R00, R01, R02, R10, R11, R12, R20, R21, R22 = cf:GetComponents()print(cf.ZVector) --> (0, 0, 1)print(-cf.LookVector) --> (0, 0, 1)print(R02, R12, R22) --> (0 0 1)
Metodi
Orthonormalize
Restituisce una copia orton normalizzata del CFrame . La proprietà BasePart.CFrame applica automaticamente orton normalizzazione, ma le altre API che prenderanno CFrames non lo faranno, quindi questo metodo è necessario a volte quando si aggiorna in modo incrementale un 1> Datatype.CFrame
Restituzioni
ToEulerAngles
Restituisce angoli approssimativi che potrebbero essere utilizzati per generare il CFrame utilizzando il Enum.RotationOrder opzionale. Se non fornisci order, il metodo usa 1> Container.RotationOrder.XYZ1> .
Parametri
FuzzyEq
Ritorna true se l'altro 'Datatype.CFrame' è abbastanza vicino a questo 'Datatype.CFrame' in entrambe le posizioni e le rotazioni. Il valore eps viene utilizzato per controllare la tolleranza per questa somiglianza. Questo valore è opzionale e dovrebbe essere un piccolo valore positivo se fornito. La somiglianza per la posizione è component-wise, e per la