CFrame
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
CFrame データタイプは、 座標フレーム の略入力で、3Dの位置と方向を記述します。それは 位置 コンポーネントと 回転 コンポーネントから構成され、Roblox で 3D データを処理するための必須の算術操作を含みます。
-- 特定の位置で CFrame を作成し、ユーラー回転local cf = CFrame.new(0, 5, 0) * CFrame.fromEulerAngles(math.rad(45), 0, 0)
For an introduction to the CFrame データタイプの紹介は、CFrames を参照してください。
位置コンポーネント
位置コンポーネントは Vector3 として利用可能です。さらに、CFrame オブジェクトの位置のコンポーネントも、X、Y、およびZのようなプロパティとして、Vector3のように利用可能です。
旋回コンポーネント
CFrame は、3×3の 回転マトリックス に3D回転データを保存します。これらの値は、x、y、およびzの位置値の後、CFrame:GetComponents()機能によって返されます。このマトリックスは、回転を含む計算を行うときに内部で使用され、 ラディアン を単位として使用します (1つからもう1つに変換するときは、math.rad() または math.deg() を使用します)。Roblox エンジンが回転を行う方法に関する詳細情報は、Enum.RotationOrder を参照してください。
以下の表は、CFrame オブジェクトの回転マトリックスの構成と、LookVector や RightVector などのベクトルプロパティとの関係を示しています。回転マトリックスの個々のコンポーネントは、自体ではほとんど役に立たないものの、それらから派生するベクトルプロパティは、はるかに有用です。
<th>Yベクトル、上ベクトル</th><th>ZVector、-LookVector <sup>†</sup></th></tr></thead><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>
Xベクトル、Rightベクトル |
---|
概要
コンストラクタ
- 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)
プロパティ
方法
CFrame の逆を返します。
自身と goal によって間に挿入された CFrame を用いて、alpha によって返されます。
CFrame の正方形化されたコピーを返します。
1つまたは複数の CFrame オブジェクトを受け取り、オブジェクトからワールドスペースに変換して返します。
1つまたは複数の CFrame オブジェクトを受け取り、世界からオブジェクトスペースに変換して返します。
1つまたは複数の Vector3 オブジェクトを受け取り、オブジェクトからワールドスペースに変換して返します。
1つまたは複数の Vector3 オブジェクトを受け取り、世界からオブジェクトスペースに変換して返します。
1つまたは複数の Vector3 オブジェクトを受け取り、オブジェクトからワールドスペースに回転して返します。
1つまたは複数の Vector3 オブジェクトを受け取り、世界からオブジェクトスペースに回転して返します。
返す値 , , , , , , , , , , , , , , ‑ ‑ が と の位置を表す 3×3回転マトリックスを表す。
オプションの Enum.RotationOrder を使用して生成できる約角を返します。CFrame 。
返す約似した角度は、CFrame を使用して生成できる Enum.RotationOrder.XYZ 。
返す約似した角度は、CFrame を使用して生成できる Enum.RotationOrder.YXZ 。
と の回転を表す数を含むトゥプルを返し、軸-角表現で の回転を表す数を返します。
等しい CFrame:GetComponents() 。
コンストラクタ
new
fromEulerAngles
パラメータ
プロパティ
LookVector
CFrame オブジェクトの前方向コンポーネントのオリエンテーション、否定された ZVector または回転マトリックスの否定された第 3 列と同等
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)
オブジェクトの を自分自身に追加すると、向きを 1 ユニット前進させて移動します。
XVector
CFrame オブジェクトのオリエンテーションの X コンポーネント。RightVector または回転マトリックスの最初の列と同等。
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
オブジェクトのオリエンテーションの Y コンポーネント。旋回マトリックスの 2番目の列または同等のものと同等です。
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
CFrame オブジェクトのオリエンテーションの Z コンポーネント。否定された LookVector または回転マトリックスの第 3 列と同等。
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)
方法
ToEulerAngles
オプションの Enum.RotationOrder を使用して生成できる約角を返します。CFrame 。order を提供しない場合、メソッドは Enum.RotationOrder.XYZ を使用します。