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、RightVectorYVector、UpVectorZVector、-LookVector

† 他のものとは違い、Datatype.CFrame.LookVector|LookVector は、Datatype.CFrame.LookVector|LookVector は、1>Class.Camera|Instances1> や <figcaption>4>Class.Attachments|Attachments</figcaption>4> の

概要

コンストラクタ

プロパティ

方法

演算機能

コンストラクタ

new

空の身元証明書を作成します CFrame

new

Datatype.CFrame を返しますが、Vector3 の位置には回転しません。

パラメータ

pos: Vector3

new

datatype.cframe を新しく返します pos そして lookAt に向き、1>(0, 1, 0)1> がワールドスペースで「アップ」として扱われる場合を想定しています。

このコンストラクターオーバーロードは CFrame.lookAt() によって置き換えられましたが、同様の目的を達成します。それは後ろ向きの互換性のために残ります。

高いピッチ角度 (82度以上) では、数値不安定性が発生する可能性があります。これは問題である場合、または異なる "up" ベクトルが必要な場合に、CFrame.fromMatrix() を使用して、より正確に

パラメータ

pos: Vector3
lookAt: Vector3

new

提供された CFramex 、および y コンポーネントで構成された位置を持つ 2>Datatype.CFrame2> を返します。

パラメータ

new

位置から CFrame を返します ( x , y , 1> z1> )および quaternion ( 4> qX4> , 7> q

パラメータ

new

Datatype.CFrame を位置 ( xy 、1> z1> から作成します。4> オリエントエットマトリックス4> によって指定されたオリエントエット。

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

パラメータ

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

lookAt

新しい CFrame を返しますが、at の位置と向きをlookAt に向け、1> up1> のオプションで、4> (0, 1, 0)4> のデフォルトで、7> (0, 1, 0)7> の向上方向を指定します。

パラメータ

lookAt: Vector3
既定値: Vector3.yAxis

lookAlong

新しい CFrame を返しますが、位置の at と向きを direction に向けて、オプションで向上方向を 1> up1> 指定します。デフォルトでは 4> (0, 1, 0)4> です。

このコンストラクターは CFrame.lookAt(at, at + direction) と同等です。

パラメータ

direction: Vector3
既定値: Vector3.yAxis

fromRotationBetweenVectors

Datatype.CFrame を返します。これは、最初の Vector3 から、位置をゼロに設定して、2番目に回転するために必要な方向を表します。

パラメータ

from: Vector3

「from」方向を表すベクトル。

「to」方向を表すベクトル。

fromEulerAngles

Datatype.CFrame を角度 rxry 、および 1>rz1> から返します。回転は、デフォルトの 4>XYZ4> に対応するオプションの 7>Container7> で適用されます。CFrame0> は、デフォルト


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

パラメータ

rx: number
ry: number
rz: number
既定値: Enum.RotationOrder.XYZ

fromEulerAnglesXYZ

Datatype.CFrame を角度 rxry 、および 1> rz1> から、4> enum.RotationOrder.XYZ4> に準拠して、以下を返します:


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

パラメータ

rx: number
ry: number
rz: number

fromEulerAnglesYXZ

Datatype.CFrame を角度 rxry 、および 1> rz1> から、4> enum.RotationOrder.YXZ4> に準拠して、以下を返します:


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

パラメータ

rx: number
ry: number
rz: number

Angles

同等を fromEulerAnglesXYZ() としています。

パラメータ

rx: number
ry: number
rz: number

fromOrientation

Equivalent to fromEulerAnglesYXZ() .

パラメータ

rx: number
ry: number
rz: number

fromAxisAngle

Datatype.CFrame をユニットから Vector3 と回転量を回転します。

パラメータ

fromMatrix

Datatype.CFrame を返します。これは、翻訳と回転マトリの列から。vZ が除外されると、3番目の列が vX:Cross(vY).Unit として計算されます。

パラメータ

pos: Vector3

Datatype.CFrame の 3D ポジション。

同等して RightVector

Equivalent to UpVector .

同等 - LookVector .

プロパティ

identity

翻訳または回転なしの身元 CFrame です。このプロパティは、 コンセント ではなく、グローバルにアクセスする必要がある個々の CFrame オブジェクトです。

Position

Datatype.CFrame の 3D ポジション。

Rotation

翻訳なしの CFrame のコピー。

位置の X 座標。

位置の Y 座標。

位置の Z 座標。

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 が生成されます。

RightVector

Datatype.CFrame オブジェクトの方向。XVector または回転マトリックスの第 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.RightVector) --> (1, 0, 0)
print(cf.XVector) --> (1, 0, 0)
print(R00, R10, R20) --> (1 0 0)

UpVector

Datatype.CFrame オブジェクトの方向。これは、YVector または回転マトリックスの 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.UpVector) --> (0、1、0)
print(cf.YVector) --> (0、1、0)
print(R01, R11, R21) --> (0 1 0)

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)

YVector

Datatype.CFrame オブジェクトのオリエンテーション。UpVector または回転マトリックスの 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

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)

方法

Inverse

Datatype.CFrame の逆を返します。

戻り値

Lerp

Datatype.CFrame を返し、goal の間にフラクション alpha でインターポールします。

パラメータ

goal: CFrame
alpha: number

戻り値

Orthonormalize

Datatype.CFrame のオーソナライズされたコピーを返します。BasePart.CFrame プロパティは自動的にオーソナライズを適用しますが、CFrames を使用してインクリメント更新するときは、このメソッドが必要

戻り値

ToWorldSpace

Datatype.CFrame オブジェクトを 1 個以上受信し、オブジェクトからワールドスペースに変換します。同等価値:

CFrame * cf

パラメータ

戻り値

ToObjectSpace

Datatype.CFrame オブジェクトを 1 個以上受信し、世界からオブジェクトスペースに変換します。同等価値:

CFrame:Inverse() * cf

パラメータ

戻り値

PointToWorldSpace

Datatype.Vector3 オブジェクトを 1 個以上受信し、オブジェクトからワールドスペースに変換します。同等価値:

CFrame * v3

パラメータ

戻り値

PointToObjectSpace

Datatype.Vector3 オブジェクトを 1 個以上受信し、世界からオブジェクトスペースに変換します。同等価値:

CFrame:Inverse() * v3

パラメータ

戻り値

VectorToWorldSpace

Datatype.Vector3 オブジェクトを 1 個以上受信し、それらをオブジェクトからワールドスペースに回転させます。同等価値:

(CFrame - CFrame.Position) * v3

パラメータ

戻り値

VectorToObjectSpace

Datatype.Vector3 オブジェクトを 1 個以上受信し、それらを世界からオブジェクトスペースに回転させます。同等価値:

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

パラメータ

戻り値

GetComponents

xyz 、 1>

戻り値

ToEulerAngles

オプションの Enum.RotationOrder を使用して、order を生成するために使用できる接近角を返します。如果 1> order1> を提供しないと、メソッドは 4> 枚数.回転オーダー.XYZ4> を使用します。

パラメータ

既定値: Enum.RotationOrder.XYZ

ToEulerAnglesXYZ

Datatype.CFrame を生成するために使用できる可能性のある角度を返します。Enum.RotationOrder.XYZ を使用しています。

ToEulerAnglesYXZ

Datatype.CFrame を生成するために使用できる可能な角度を返します。Enum.RotationOrder.YXZ を使用しています。

ToOrientation

同等を CFrame:ToEulerAnglesYXZ() とします。

ToAxisAngle

Datatype.Vector3 と、CFrame の軸角表示で表現される回転を表示する数を返します。

戻り値

components

同等価値を CFrame:GetComponents() によります。

戻り値

FuzzyEq

真 がある場合、他の 'Datatype.CFrame' がこの 'Datatype.CFrame' の両方の位置と回転に十分に近い場合、eps はこの 'Datatype.CFrame' に対するトレールの検出のトレールを制御します。この値はオプションであり、提供される場合は小さな正の値です。

パラメータ

other: CFrame
epsilon: number
既定値: 0.00001 (1e-5)

戻り値

演算機能


新しい CFrame を生成し、2つの CFrames の構成を表示します。


オブジェクトから世界コーディネートに変換された Vector3 を生成します。


世界空間に翻訳された Datatype.CFrame を生成します。


世界空間でマイナスによって CFrame を翻訳します。