CFrame
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
Datatype.CFrame データタイプ、 フレームをコーディネートする という名前の 3D 位置とオリエントエーションを記述します。これは、 ポジションコンポーネント と1>回転コンポーネント1> の 3D 位入力とオリエントエーションを含む、RobloRoblox(ロブロックス)
-- 特定の位置と Euler 回転で CFrame を作成するlocal cf = CFrame.new(0, 5, 0) * CFrame.fromEulerAngles(math.rad(45), 0, 0)
For an introduction to the CFrame データタイプ、see CFrames .
ポジションコンポーネント
ポジションコンポーネントは、Vector3 として利用可能です。さらに、CFrame オブジェクトの位置のコンポーネントも、X、
回転部品
CFrame は、3×
下の表には、CFrameオブジェクトの回転マトリックスマットリクスとその関連について示されています。LookVectorおよびRightVectorなどのベクトルプロパティは、個々のコンポーネントの回�
<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、RightVector | YVector、UpVector | ZVector、-LookVector † |
---|
† 他のものとは違い、Datatype.CFrame.LookVector|LookVector は、Datatype.CFrame.LookVector|LookVector は、1>Class.Camera|Instances1> や <figcaption>4>Class.Attachments|Attachments</figcaption>4> の
概要
コンストラクタ
- new()
空の身元証明書を返します CFrame 。
Datatype.CFrame を返しますが、Vector3 の位置には回転しません。
Datatype.CFrame を返しますが、最初の Vector3 の位置と、2番目に向かっているオリエントが指定されています。
提供された CFrame 、 x 、および y コンポーネントで構成された位置を持つ 2>Datatype.CFrame2> を返します。
ポジションから Datatype.CFrame を返します ( x , y , 1> z1> )および quaternion ( 4> qX4> , 7> qY7> , 0> qZ0> , CFrame
Datatype.CFrame を位置から ( x , y , 1> z1> でオリエンテーション指定のリーンに戻ります。
Datatype.CFrame を返しますが、最初の Vector3 の位置と、2番目に向かっているオリエントが指定されています。
Datatype.CFrame を返しますが、最初の Vector3 の位置と、2番目のオリエントを指向するオリエントの向きを含めて、Datatype.CFrame の位置を返します。
- fromRotationBetweenVectors(from : Vector3,to : Vector3)
Datatype.CFrame を返します。これは、最初の Vector3 から、位置をゼロに設定して、2番目に回転するために必要な方向を表します。
- fromEulerAngles(rx : number,ry : number,rz : number,order : Enum.RotationOrder)
Datatype.CFrame を角度 rx 、ry 、および 1>rz1> から返します。4>枚4> は、デフォルトの 7>XYZ7> でオプションの 0>Container0> に適用されます。3>Datatype.RotationOrder3> は、
- fromEulerAnglesXYZ(rx : number,ry : number,rz : number)
Datatype.CFrame を角度 rx 、ry 、および 1> rz1> から、4> 枚数.RotationOrder.XYZ4> を使用してラジアンで回転させます。
- fromEulerAnglesYXZ(rx : number,ry : number,rz : number)
Datatype.CFrame を角度 rx 、ry 、および 1> rz1> から、4> enum.RotationOrder.YXZ4> を使用してラジアンで回転させます。
同等を fromEulerAnglesXYZ() としています。
- fromOrientation(rx : number,ry : number,rz : number)
Equivalent to fromEulerAnglesYXZ() .
- fromAxisAngle(v : Vector3,r : number)
Datatype.CFrame をユニットから Vector3 と回転量を回転します。
- fromMatrix(pos : Vector3,vX : Vector3,vY : Vector3,vZ : Vector3)
Datatype.CFrame を返します。RotationMatrix の翻訳とコラムから。
プロパティ
訳読みなし、または回転なしの身元証明書。
Datatype.CFrame の 3D ポジション。
翻訳なしの CFrame のコピー。
位置の X 座標。
位置の Y 座標。
位置の Z 座標。
Datatype.CFrame オブジェクトのオリエンテーション、ZVector のネガテッド形に相当する。
Datatype.CFrame オブジェクトの方向。
Datatype.CFrame オブジェクトの方向性の上向き部分。
同等して RightVector 。
Equivalent to UpVector .
Datatype.CFrame オブジェクトのオリエンテーション。RotateMatrix の 3つ目の柱に相当します。
方法
Datatype.CFrame の逆を返します。
Datatype.CFrame を返し、goal の間にフラクション alpha でインターポールします。
Datatype.CFrame のオーソナライズされたコピーを返します。
Datatype.CFrame オブジェクトを 1 個以上受信し、オブジェクトをワールドスペースに変換します。
Datatype.CFrame オブジェクトを 1 個以上受信し、世界からオブジェクトスペースに変換します。
Datatype.Vector3 オブジェクトを 1 個以上受信し、オブジェクトからワールドスペースに変換します。
Datatype.Vector3 オブジェクトを 1 個以上受信し、世界からオブジェクトスペースに変換します。
Datatype.Vector3 オブジェクトを 1 個以上受信し、オブジェクトをワールドスペースに回転させます。
Datatype.Vector3 オブジェクトを 1 個以上受信し、世界からオブジェクトスペースに回転します。
値 x 、 y 、 z 、 1>
オプションの 枚数.回転オーダー を使用して、CFrame を生成するための約定の角度を返します。
Datatype.CFrame を生成するために使用できる可能性のある角度を返します。Enum.RotationOrder.XYZ を使用しています。
Datatype.CFrame を生成するために使用できる可能な角度を返します。Enum.RotationOrder.YXZ を使用しています。
同等を CFrame:ToEulerAnglesYXZ() とします。
Datatype.Vector3 と、CFrame の軸角表示で表現される回転を表示する数を返します。
同等価値を CFrame:GetComponents() によります。
他の "Datatype.CFrame" がこの "Datatype.CFrame" の両方の位置と回転に十分に近い場合、true を返します。
演算機能
コンストラクタ
new
datatype.cframe を新しく返します pos そして lookAt に向き、1>(0, 1, 0)1> がワールドスペースで「アップ」として扱われる場合を想定しています。
このコンストラクターオーバーロードは CFrame.lookAt() によって置き換えられましたが、同様の目的を達成します。それは後ろ向きの互換性のために残ります。
高いピッチ角度 (82度以上) では、数値不安定性が発生する可能性があります。これは問題である場合、または異なる "up" ベクトルが必要な場合に、CFrame.fromMatrix() を使用して、より正確に
fromEulerAngles
Datatype.CFrame を角度 rx 、ry 、および 1>rz1> から返します。回転は、デフォルトの 4>XYZ4> に対応するオプションの 7>Container7> で適用されます。CFrame0> は、デフォルト
CFrame.fromEulerAngles(rx, 0, 0) * -- XCFrame.fromEulerAngles(0, ry, 0) * -- YCFrame.fromEulerAngles(0, 0, rz) -- Z
パラメータ
fromMatrix
Datatype.CFrame を返します。これは、翻訳と回転マトリの列から。vZ が除外されると、3番目の列が vX:Cross(vY).Unit として計算されます。
パラメータ
プロパティ
LookVector
Datatype.CFrame オブジェクトの方向、ZVector または回転マトリックスの第三コラムと同等の前向きコンポーネント。
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)
Adding a CFrame オブジェクトの LookVector を自分に追加すると、その向きを1ユニットで前に移動する CFrame が生成されます。
XVector
Datatype.CFrame オブジェクトのオリエンテーション。RightVector または回転マトリックスの第 1 列と同等です。
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)
ZVector
Datatype.CFrame オブジェクトのオリエンテーション。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)
方法
Orthonormalize
Datatype.CFrame のオーソナライズされたコピーを返します。BasePart.CFrame プロパティは自動的にオーソナライズを適用しますが、CFrames を使用してインクリメント更新するときは、このメソッドが必要
戻り値
ToEulerAngles
オプションの Enum.RotationOrder を使用して、order を生成するために使用できる接近角を返します。如果 1> order1> を提供しないと、メソッドは 4> 枚数.回転オーダー.XYZ4> を使用します。