CFrame

Visualizza obsoleti

*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 Euler
local 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 DestraYVector, UpVectorZVector, -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

Proprietà

Metodi

Costruttori

new

new

Parametri

pos: Vector3

new

Parametri

pos: Vector3
lookAt: Vector3

new

Parametri

new

Parametri

new

Parametri

R00: number
R01: number
R02: number
R10: number
R11: number
R12: number
R20: number
R21: number
R22: number

lookAt

Parametri

lookAt: Vector3
Valore predefinito: Vector3.yAxis

lookAlong

Parametri

direction: Vector3
Valore predefinito: Vector3.yAxis

fromRotationBetweenVectors

Parametri

from: Vector3

fromEulerAngles

Parametri

rx: number
ry: number
rz: number
Valore predefinito: Enum.RotationOrder.XYZ

fromEulerAnglesXYZ

Parametri

rx: number
ry: number
rz: number

fromEulerAnglesYXZ

Parametri

rx: number
ry: number
rz: number

Angles

Parametri

rx: number
ry: number
rz: number

fromOrientation

Parametri

rx: number
ry: number
rz: number

fromAxisAngle

Parametri

fromMatrix

Parametri

Proprietà

identity

Un identificatore CFrame con nessuna traduzione o rotazione. Questa proprietà è una costante e deve essere accessibile globalmente invece di attraverso un singolo oggetto CFrame .

Position

La posizione 3D del CFrame .

Rotation

Una copia del CFrame senza traduzione.

La X coordinata della posizione.

La Y coordinate della posizione.

La Z coordinata della posizione.

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

Inverse

Ritorna il contrario di Datatype.CFrame .

Restituzioni

Lerp

Restituisce un CFrame interpolato tra se stesso e goal dalla frazione alpha .

Parametri

goal: CFrame
alpha: number

Restituzioni

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

ToWorldSpace

Riceve uno o più oggetti CFrame e li restituisce trasformati dall'oggetto allo Spaziodi destinazione. Equivalente a:

CFrame * cf

Parametri

Restituzioni

ToObjectSpace

Riceve uno o più oggetti CFrame e li restituisce trasformati dallo Spaziodel mondo allo spazio dell'oggetto. Equivalente a:

CFrame:Inverse() * cf

Parametri

Restituzioni

PointToWorldSpace

Riceve uno o più oggetti Vector3 e li restituisce trasformati dall'oggetto allo spazio di Spazio. Equivalente a:

CFrame * v3

Parametri

Restituzioni

PointToObjectSpace

Riceve uno o più oggetti Vector3 e li restituisce trasformati dallo Spaziodel mondo allo spazio dell'oggetto. Equivalente a:

CFrame:Inverse() * v3

Parametri

Restituzioni

VectorToWorldSpace

Riceve uno o più oggetti Vector3 e li restituisce Spaziodal mondo all'oggetto. Equivalente a:

(CFrame - CFrame.Position) * v3

Parametri

Restituzioni

VectorToObjectSpace

Riceve uno o più oggetti Vector3 e li restituisce ruotati dallo Spaziodel mondo allo spazio dell'oggetto. Equivalente a:

(CFrame:Inverse() - CFrame:Inverse().Position) * v3

Parametri

Restituzioni

GetComponents

Restituisce i valori x , y , z , 1>

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

Valore predefinito: Enum.RotationOrder.XYZ

Restituzioni

ToEulerAnglesXYZ

Restituisce angoli approssimativi che potrebbero essere utilizzati per generare il CFrame utilizzando Enum.RotationOrder.XYZ .

Restituzioni

ToEulerAnglesYXZ

Restituisce angoli approssimativi che potrebbero essere utilizzati per generare il CFrame utilizzando Enum.RotationOrder.YXZ .

Restituzioni

ToOrientation

Restituzioni

ToAxisAngle

Restituisce un tuplo di un Vector3 e un numero che rappresenta la rotazione del CFrame nella rappresentazione a angolo.

Restituzioni

components

Equivalente a CFrame:GetComponents() .

Restituzioni

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

Parametri

other: CFrame
epsilon: number
Valore predefinito: 0.00001 (1e-5)

Restituzioni

Operazioni Matematiche