CFrame

Artık kullanılmayanları göster

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Datatype.CFrame veri yaz, koordine edilmiş çerçevenin kısaltması, 3D pozisyon ve yönü açıklar. Roblox'ta 3D verileri ile çalışmak için esas aritmetik işlemleri içerir. Kompozit bir pozisyon bileşen ve döndürsel bir 1>rotasyon1> bile


-- Belirli bir konumda CFrame oluştur ve Euler dönüşümü
local cf = CFrame.new(0, 5, 0) * CFrame.fromEulerAngles(math.rad(45), 0, 0)

For an introduction to the CFrame data yaz, see CFrames .

Pozisyon Komponenti

Pozisyon bileşenleri, bir Vector3 ile birlikte kullanılabilir. Ayrıca, bir CFrame iletiğinin pozisyonu da X , 1>

Döndürme Komponenti

CFrame 3D dön

Aşağıdaki tabela, bir CFrame nesnenin dönme matrisini ve ilişklerini temsil eder ve bunların kullanılabilir vektör özellikleriyle ilgili olup olmadığının aksine. Mặc dışında, dönme matrisinin bile birincil bileşenleri kullanılabilir


<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, SağVectorYVector, YükseltmeZVector, -LookVector ^

† Diğerlerinden farklı olarak, Datatype.CFrame.LookVector|LookVector negatif sütun bileşenlerini temsil eder. Datatype.CFrame.LookVector 1>Class.Camera|Class1> ve 4>Class.附|Eklent

Özet

Yapılandırıcılar

Özellikler

Yöntemler

Matematik İşlemleri

  • İki <a href="/reference/engine/datatype.cFrame">Datatype.CFrame</a> için oluşumunu temsil eden yeni bir CFrames üretir.

  • Nesnelerin dünya koordinatlarından Vector3 biçimlendiğini üretir.

  • Dünya alanında <a href="/reference/datatype.cframe">Datatype.CFrame</a> tarafından çevirilmiş bir Vector3 üretir.

  • Dünya alanında negatif Datatype.Vector3 tarafından çevirilmiş bir CFrame üretir.

Yapılandırıcılar

new

Boş bir kimlik oluşturur CFrame .

new

Datatype.CFrame ile bir döndürme olmadan pozisyonu ile bir Vector3 ile döndürür.

Parametreler

pos: Vector3

new

Dünya alanında CFrame ile bakılan yeni bir pos ile geri döndüğünü ve dünya alanında lookAt ile bakılan yeni bir 2>Datatype.CFrame2> ile yükseltildiğini varsayarak geri döndüğünü içerir.

Bu oluşturucu overload'ı CFrame.lookAt() ile değiştirildi, bu da benzer bir hedefi gerçekleştirir. Arka uyumluluk için kalır.

Yüksek tonluk açılarda (yaklaşık 82 derece), sayısal olmayan istikrarsızlık deneyimleyebilirsiniz. Eğer bir sorunsa veya farklı bir "yukarı" vektörü gerektirirse, CFrame.fromMatrix() kullan

Parametreler

pos: Vector3
lookAt: Vector3

new

Sunulan CFrame , x ve y bileşenleriyle bir pozisyon içerir.

Parametreler

new

Pozisyon ( CFrame, x, y ) ve tercih ( 2>qX2>, 5>qY5>, 8>qZ8>, CFrame1> ) için bir 4>k

Parametreler

new

Rotasyon matrisi tarafından belirlenmiş bir yerden CFrame oluşturur ( x , y , 2>z2> ) with an özellik belirleyen bir yönlendirme.

[[R00 R01 R02] [R10 R11 R12] [R20 R21 R22]]

Parametreler

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

lookAt

Yeni bir CFrame ile geri döndüğünüzde, at ile pozisyonunu ve lookAt ile yükselenme yönünü belirtir, 1> up1> ile varsayılan olarak değerlendirilir.

Parametreler

lookAt: Vector3
Varsayılan değer: Vector3.yAxis

lookAlong

Yeni bir CFrame ile geri döndüğünüzde, pozisyonu at ve yüzünü number1 1> yönünü1> belirten yeni bir 4> datatype4> ile geri döndüğünüzde, yukarıdaki yönü ( 7> up7> ) gibi bir varsayımla, özellikle

Bu oluşturucu CFrame.lookAt(at, at + direction) ile eşdeğerdir.

Parametreler

direction: Vector3
Varsayılan değer: Vector3.yAxis

fromRotationBetweenVectors

İlk Vector3 ile ikinci Datatype.CFrame arasındaki dönüşümü temsil eden bir 2>Datatype.CFrame2> döndürür.

Parametreler

from: Vector3

“from” yönünü temsil eden vektör.

“nereye” yönünü temsil eden bir vektör.

fromEulerAngles

Açılardan rx``ry ve 1>rz1> döndürür. Rotasyonlar, 4>枚4> ile özel bir 7> enum.RotationOrder7> ile uygulanır ve CFrame0> ile eşdeğerdir:


CFrame.fromEulerAngles(rx, 0, 0) * -- X
CFrame.fromEulerAngles(0, ry, 0) * -- Y
CFrame.fromEulerAngles(0, 0, rz) -- Z

Parametreler

rx: number
ry: number
rz: number
Varsayılan değer: Enum.RotationOrder.XYZ

fromEulerAnglesXYZ

Açılar CFrame ile döndürülmüş bir rx ile döndürür, ry , 2>ry2> ve 5>rz5> radyallerinde kullanılan 8>枚8> . Eşdeğer olarak:


CFrame.fromEulerAngles(rx, 0, 0) * -- X
CFrame.fromEulerAngles(0, ry, 0) * -- Y
CFrame.fromEulerAngles(0, 0, rz) -- Z

Parametreler

rx: number
ry: number
rz: number

fromEulerAnglesYXZ

Açılardan CFrame döndürür, rx, ve ry , kullanırken radyasyon olarak kullanır 2> rz2>, karşılığında:


CFrame.fromEulerAngles(0, ry, 0) * -- Y
CFrame.fromEulerAngles(rx, 0, 0) * -- X
CFrame.fromEulerAngles(0, 0, rz) -- Z

Parametreler

rx: number
ry: number
rz: number

Angles

Eşdeğer to Datatype.CFrame.fromEulerAnglesXYZ() .

Parametreler

rx: number
ry: number
rz: number

fromOrientation

Eşdeğer to fromEulerAnglesYXZ() .

Parametreler

rx: number
ry: number
rz: number

fromAxisAngle

Datatype.CFrame bir birimden döndürülmüş bir Vector3 ve bir döndürmeyi içerir.

Parametreler

fromMatrix

Bir çeviri ve bir dönüşüm matrisinin sütunlarından bir CFrame döndürür. Eğer vZ örneklenirse, üçüncü sütun hesaplanır vX:Cross(vY).Unit .

Parametreler

pos: Vector3

Datatype.CFrame 'in 3D pozisyonu.

Eşdeğer to Datatype.CFrame.RightVector|RightVector.

Datatype.CFrame.UpVector|UpVector ile eşdeğer.

Eşdeğer - LookVector .

Özellikler

identity

Tercüman veya dönüşüm olmayan bir kimlik. Bu özellik bir CFrame ile değil, bir değiştirici ile değiştirilmelidir.

Position

Datatype.CFrame 'in 3D pozisyonu.

Rotation

Tercüman olmadan CFrame ile bir kopya.

Pozisyonun X koordinatı.

Pozisyonun Y kodu.

Pozisyonun Z koordinatı.

LookVector

Datatype.CFrame nesninin ileri yönlü, rotasyon matrisinin negatif üçüncü sütunu ile eşdeğerdir.


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)

Bir CFrame nın LookVector ile kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine kendine

RightVector

Datatype.CFrame nesnenin yönünün sağ yönü. Rotasyon matrisinin ilk sütunu ile eşdeğer.


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

Datatype.CFrame nesninin yönünün üst yönü. Eşdeğer olarak YVector veya döndürme matrisinin ikinci sütunu ile eşdeğer.


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

Datatype.CFrame nesninin yönü. Rotasyon matrisinin ilk sütunu ile eşdeğer.


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

Datatype.CFrame nesninin yönü. Rotasyon matrisinin ikinci sütunu ile eşdeğer.


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

Datatype.CFrame nesninin yönü. Rotasyon matrisinin üçüncü sütunu ile eşdeğer.


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)

Yöntemler

Inverse

Datatype.CFrame ile tersi döndürür.

Dönüşler

Lerp

Datatype.CFrame ortasında bir goal ile bir yarım alpha arasında bir yarım 1> 2> 1> 0> 2> 1> 0> 2> 1> 2> 1> 2> 1> 2> 1> 2> 1> 2> 1> 2> 1> 2> 1> 2> 1> 2> 1> 2> 1> 2> 1> <

Parametreler

goal: CFrame
alpha: number

Dönüşler

Orthonormalize

Datatype.CFrame'in orthonnormalize edilmiş bir kopyasını döndürür. BasePart.CFrame özelliği otomatik olarak orthonormalizasyonu uygular, ancak CFrames gibi diğer API'ler otomatik olarak uygulanmaz, bu yüz

Dönüşler

ToWorldSpace

Bir veya daha fazla CFrame nesneyi alır ve dünya alanına dönüştürür. Eşdeğer:

CFrame * cf

Parametreler

Dönüşler

ToObjectSpace

Bir veya daha fazla CFrame nesneyi alır ve onları dünyadan nesneye alanına dönüştürür. Eşdeğer:

CFrame:Inverse() * cf

Parametreler

Dönüşler

PointToWorldSpace

Bir veya daha fazla Vector3 nesneyi alır ve dünya alanına dönüştürür. Eşdeğer:

CFrame * v3

Parametreler

Dönüşler

PointToObjectSpace

Bir veya daha fazla Vector3 nesneyi alır ve onları dünyadan nesneye alanına dönüştürür. Eşdeğer:

CFrame:Inverse() * v3

Parametreler

Dönüşler

VectorToWorldSpace

Bir veya daha fazla Vector3 nesneyi alır ve dünya alanından döndürür. Eşdeğer:

(CFrame - CFrame.Position) * v3

Parametreler

Dönüşler

VectorToObjectSpace

Bir veya daha fazla Vector3 nesneyi alır ve onları dünyadan nesneye alanına döndürür. Eşdeğer:

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

Parametreler

Dönüşler

GetComponents

Değerleri x, y, z, 1> R0

Dönüşler

ToEulerAngles

Opcional olarak CFrame oluşturmak için kullanılan yaklaşık açıları döndürür. Enum.RotationOrder kullanılırsa, yöntem order kullanır.

Parametreler

Varsayılan değer: Enum.RotationOrder.XYZ

ToEulerAnglesXYZ

Datatype.CFrame oluşturmak için kullanılabilir yaklaşık açıları geri döndürür. Enum.RotationOrder.XYZ kullanılarak.

ToEulerAnglesYXZ

Datatype.CFrame oluşturmak için kullanılabilir yaklaşık açıları geri döndürür. Enum.RotationOrder.YXZ kullanılarak.

ToOrientation

ToAxisAngle

Aksiyo-me temsilindeki Vector3 'in dönüşümünü temsil eden bir tuplu ve eksen-me temsilindeki CFrame ile ilgili bir sayıyı döndürür.

Dönüşler

components

Datatype.CFrame:GetComponents() ile eşdeğer.

Dönüşler

FuzzyEq

Diğer 'Datatype.CFrame' ın bu 'Datatype.CFrame' ın her iki pozisyon ve dönüşümü açısından yeterince yakın olması durumunda true değeri döndürür. eps değeri bu benzerliği kontrol etmek için kullanılır. Bu değer zorunludur ve sağlanırsa küçük

Parametreler

other: CFrame
epsilon: number
Varsayılan değer: 0.00001 (1e-5)

Dönüşler

Matematik İşlemleri


İki <a href="/reference/engine/datatype.cFrame">Datatype.CFrame</a> için oluşumunu temsil eden yeni bir CFrames üretir.


Nesnelerin dünya koordinatlarından Vector3 biçimlendiğini üretir.


Dünya alanında <a href="/reference/datatype.cframe">Datatype.CFrame</a> tarafından çevirilmiş bir Vector3 üretir.


Dünya alanında negatif Datatype.Vector3 tarafından çevirilmiş bir CFrame üretir.