CFrame
*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ğVector | YVector, Yükseltme | ZVector, -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
- new()
Boş bir kimlik CFrame iade eder.
Datatype.CFrame ile bir döndürme olmadan pozisyonu ile bir Vector3 ile döndürür.
İlk CFrame ile bir pozisyon için Vector3 ve ikinci Datatype.Second için bir yön için döndürür.
Sunulan CFrame , x ve y bileşenleriyle bir pozisyon içerir.
Datatype.CFrame pozisyonundan bir x , y , 1> z1> ) ve kuaternion ( 4> qX4> , 7> qY7> , CFrame0> , 3> qW3> ) içinden bir döndürür.
Rotasyon matrisi tarafından belirlenmiş bir yerden CFrame içeriğini iade eder ( x, y, 2>z2>).
İlk CFrame ile bir pozisyon için Vector3 ve ikinci Datatype.Second için bir yön için döndürür.
İlk CFrame ile bir pozisyon için Vector3 ve ikinci Datatype.Second için bir yönlendirme için döndürür.
- fromRotationBetweenVectors(from : Vector3,to : Vector3)
İlk Vector3 ile ikinci Datatype.CFrame arasındaki dönüşümü temsil eden bir 2>Datatype.CFrame2> döndürür.
- fromEulerAngles(rx : number,ry : number,rz : number,order : Enum.RotationOrder)
Açılardan döndürülmüş bir CFrame ile döndürür. Rotasyonlar, rx, ry ve 1> rz1> içinde radyans olarak uygulanır. Rotasyonlar, 4> enum.RotationOrder4> ile bir varsayım olarak uygulanır ve varsayım
- fromEulerAnglesXYZ(rx : number,ry : number,rz : number)
Açılar CFrame ile döndürülmüş bir rx döndürür. Açılar ry , 2>ry2> ve 5>rz5> ile kullanılır. Açılar kullanılırken 8>枚列8> ile kullanılır.
- fromEulerAnglesYXZ(rx : number,ry : number,rz : number)
Açılar CFrame ile döndürülmüş bir rx döndürür. ry , 2>Ruz2> ve 5>Rz5> içinde radyasyon kullanarak 8>YXZ8> .
Eşdeğer to Datatype.CFrame.fromEulerAnglesXYZ() .
- fromOrientation(rx : number,ry : number,rz : number)
Eşdeğer to fromEulerAnglesYXZ() .
- fromAxisAngle(v : Vector3,r : number)
Datatype.CFrame bir birimden döndürülmüş bir Vector3 ve bir döndürmeyi içerir.
- fromMatrix(pos : Vector3,vX : Vector3,vY : Vector3,vZ : Vector3)
Bir çeviri ve bir dönme matrisinin kolonlarından bir CFrame döndürür.
Özellikler
Tercüman veya dönüşüm olmayan bir kimlik CFrame .
Datatype.CFrame 'in 3D pozisyonu.
Tercüman olmadan CFrame ile bir kopya.
Pozisyonun X koordinatı.
Pozisyonun Y kodu.
Pozisyonun Z koordinatı.
CFrame nesninin ileri yönlü, negatif biçimine eşdeğer.
Datatype.CFrame nesnenin yönünün sağ yönlü.
Datatype.CFrame nesninin yönünü belirleyen yukarı yönlendirme komponenti.
Eşdeğer to Datatype.CFrame.RightVector|RightVector.
Datatype.CFrame.UpVector|UpVector ile eşdeğer.
Datatype.CFrame nesnenin yönü. Rotasyon matrisinin üçüncü sütunu eşdeğer.
Yöntemler
Datatype.CFrame ile tersi döndürür.
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> <
Datatype.CFrame ile ilgili bir orthonormalize edilmiş kopyası iade eder.
Bir veya daha fazla CFrame nesneyi alır ve onları nesneden dünya alanına dönüştürür.
Bir veya daha fazla CFrame nesneyi alır ve dünyadan nesneye dönüştürür.
Bir veya daha fazla Vector3 nesneyi alır ve onları dünya alanından dönüştürür.
Bir veya daha fazla Vector3 nesneyi alır ve dünyadan nesneye dönüştürür.
Bir veya daha fazla Vector3 nesneyi alır ve döndürür onları nesneden dünya alanına.
Bir veya daha fazla Vector3 nesneyi alır ve dünyadan nesneye döndürür.
Değerleri x, y, z, 1> R0
Opcional olarak <a href="/reference/engine/datatype.cframe">Datatype.CFrame</a> oluşturmak için kullanılan yaklaşık açıları geri döndürür.
Datatype.CFrame oluşturmak için kullanılabilir yaklaşık açıları geri döndürür. Enum.RotationOrder.XYZ kullanılarak.
Datatype.CFrame oluşturmak için kullanılabilir yaklaşık açıları geri döndürür. Enum.RotationOrder.YXZ kullanılarak.
Eşdeğer to CFrame:ToEulerAnglesYXZ() .
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.
Datatype.CFrame:GetComponents() ile eşdeğer.
Diğer 'Datatype.CFrame'nin bu 'Datatype.CFrame'ye yeterince yakın olduğunu varsayarsa true döndürür.
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
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
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]]
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.
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) * -- XCFrame.fromEulerAngles(0, ry, 0) * -- YCFrame.fromEulerAngles(0, 0, rz) -- Z
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
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
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
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
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
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.
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