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

new

パラメータ

pos: Vector3

new

パラメータ

pos: Vector3
lookAt: Vector3

new

パラメータ

new

パラメータ

new

パラメータ

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

lookAt

パラメータ

lookAt: Vector3
既定値: Vector3.yAxis

lookAlong

パラメータ

direction: Vector3
既定値: Vector3.yAxis

fromRotationBetweenVectors

パラメータ

from: Vector3

fromEulerAngles

パラメータ

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

fromEulerAnglesXYZ

パラメータ

rx: number
ry: number
rz: number

fromEulerAnglesYXZ

パラメータ

rx: number
ry: number
rz: number

Angles

パラメータ

rx: number
ry: number
rz: number

fromOrientation

パラメータ

rx: number
ry: number
rz: number

fromAxisAngle

パラメータ

fromMatrix

パラメータ

プロパティ

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)

戻り値

演算機能