CFrame

사용되지 않는 항목 표시

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

Datatype.CFrame 데이터 입력, 짧게 말하면 좌표 프레임 , 3D 위치 및 방향을 설명합니다. 그것은 3D 데이터를 Roblox에서 작동하는 데 필수적인 수학 작업을 포함합니다. 이는 위치 구성 요소와 1>회전1> 구성 요소로


-- 특정 위치에서 CFrame 생성 및 Euler 회전
local cf = CFrame.new(0, 5, 0) * CFrame.fromEulerAngles(math.rad(45), 0, 0)

Datatype.CFrame 데이터 입력대한 소개는 CFrames 을 참조하십시오.

위치 구성 요소

위치 구성 요소는 다음과 같이 사용할 수 있습니다. Vector3 . 또한, CFrame 개체의 위치 구성 요소는 X , 2>Datatype.C

회전 구성 요소

CFrame 는 3D

아래 표에서는 CFrame 개체의 회전 매트릭스와 그 관계를 나타내고 있으며, 사용 가능한 벡터 속성 및 기타 속성과 관련하여 제공됩니다. LookVector 및 Datatype.CFrame.RightVector|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, 오른쪽 벡터YVector, UpVectorZVector, -LookVector
다른 사람들과는 달리, LookVector는 부정 열 구성 요소를 나타냅니다. LookVector는 클래스
1>Class.Camera|Instances1>

요약

생성자

속성

메서드

수학 연산

생성자

new

Empty 식별자 생성 CFrame .

new

제공된 CFrame의 위치와 회전이 없는 Vector3을 반환합니다.

매개 변수

pos: Vector3

new

datatype.cframe 새로 고침된 가상 세계의 위치에 대해 poslookAt 방향으로 향하는 가상 세계의 새 1>datatype.cframe1> 를 반환합니다. 세계 공간에서 4>(0, 1, 0)4> 를 참조하는 것은 업이라고 간주됩니다.

이 생성자 오버로드는 CFrame.lookAt()로 대체되었으며 동일한 목적을 달성합니다. 이 항목은 백업 목적으로 남겨 둡니다.

높은 피치 각도(약 82도)에서는 숫자 불안정성을 경험할 수 있습니다. 이 문제인 경우 또는 다른 "위" 벡터를 필요로 하는 경우 CFrame.fromMatrix() 를 사용하여 더

매개 변수

pos: Vector3
lookAt: Vector3

new

제공된 CFrame, xy 구성 요소로 위치를 구성한 2>Datatype.CFrame2> 을 반환합니다.

매개 변수

new

위치에서 CFrame를 반환하고 순위 x, y, 2>z2>로 변경하고 쿼터논 5>qX5>, 8>qY8>,

매개 변수

new

Rotation 매트릭스에 지정된 방향으로 CFrame을 만듭니다. x, y, 2>z2>에 대해 정렬을 지정합니다.

[[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> 입니다.

매개 변수

lookAt: Vector3
기본값: Vector3.yAxis

lookAlong

새로운 CFrame 을 반환하여 위치가 at 이며 방향을 number1</number1> 으로 지정하는 경우와 함께 옵션으로 향상 방향을 지정합니다( 1> up1> 의 기본).

이 생성기는 CFrame.lookAt(at, at + direction) 와 동등합니다.

매개 변수

direction: Vector3
기본값: Vector3.yAxis

fromRotationBetweenVectors

Datatype.CFrame 는 첫 번째 Vector3 에서 회전하려는 방향을 나타내고, 위치를 0으로 설정하여 두 번째 Datatype.CFrame 로 회전합니다.

매개 변수

from: Vector3

“from” 방향을 나타내는 벡터.

“토” 방향을 나타내는 벡터.

fromEulerAngles

각도 CFrame, rxry 에서 회전된 2>Datatype.CFrame2> 을 반환합니다. 회전은 기본 5>XYZ5> 에 대해 적용된 옵션 8> Enum.RotationOrder8> 에 적용됩니다. 기본 CFrame1> 는


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의 회전된 모서리를 반환하고 rx, ry 및 rz을 라디언스 사용으로 enz 으로 표시합니다. 이는 rum 으로 표시됩니다. 이는 rum 으로 표시됩니다. 이는 rum 으로 표시됩니다. 이는 rum 으로 표시됩니다. 이는 rum 으로 표시됩니다. 이는 rum


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

각도 CFrame 을 사용 하 여 회전 rx , ry 및 2>rz2> 을 반환 합니다. 이 반환 하는 5>enz5> 는 다음과 같습니다.


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

Equivalent to fromEulerAnglesXYZ() .

매개 변수

rx: number
ry: number
rz: number

fromOrientation

Equivalent to fromEulerAnglesYXZ() .

매개 변수

rx: number
ry: number
rz: number

fromAxisAngle

Datatype.CFrame 을 더미 Vector3 및 회전 인 라디언트에서 반환합니다.

매개 변수

fromMatrix

번역 및 회전 매트릭스의 열에서 CFrame를 반환합니다. 제외된 경우 vZ는 세 번째 열을 계산하여 vX:Cross(vY).Unit입니다.

매개 변수

pos: Vector3

Datatype.CFrame의 3D 위치.

Equivalent to RightVector .

Equivalent to UpVector .

동등한 - LookVector .

속성

identity

번역이나 회전이 없는 식별자 CFrame 이지만 이 속성은 전역에서 액세스해야 하며 개별 Datatype.CFrame 개체를 통해 액세스하는 것이 아닙니다.

Position

Datatype.CFrame의 3D 위치.

Rotation

번역되지 않은 CFrame 의 복사본.

위치의 X 좌표.

위치의 Y 좌표.

위치의 Z 좌표.

LookVector

Datatype.CFrame 개체의 방향 구성 요소, 해당 부정 된 Datatype.CFrame.ZVector|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)

Datatype.CFrame 개체의 LookVector를 자신에 추가하면 앞으로 1단위의 방향으로 이동하여 CFrame를 움직이게 됩니다.

RightVector

Datatype.CFrame 개체의 방향을 지정합니다. 회전 매트릭스의 첫 번째 열과 동일합니다.


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 개체의 방향. 회전 매트릭스의 두 번째 열과 동일합니다.


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 개체의 방향. 회전 매트릭스의 첫 번째 열과 동일합니다.


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 개체의 방향. 회전 매트릭스의 두 번째 열과 동일합니다.


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 개체의 방향. 회전 매트릭스의 세 번째 열과 동일합니다.


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와 같은 다른 API는 적용되지 않으므로 이 메서드는 때로는

반환

ToWorldSpace

하나 이상의 CFrame 개체를 받고 개체에서 월드 스페이스로 변환합니다. 동일:

CFrame * cf

매개 변수

반환

ToObjectSpace

하나 이상의 CFrame 개체를 받고 세계에서 개체 공간으로 변환합니다. 동일한 내용은 다음과 같습니다.

CFrame:Inverse() * cf

매개 변수

반환

PointToWorldSpace

하나 이상의 Vector3 개체를 받고 개체에서 월드 스페이스로 변환합니다. 동일한 개체를 반환합니다.

CFrame * v3

매개 변수

반환

PointToObjectSpace

하나 이상의 Vector3 개체를 받고 세계에서 개체 공간으로 변환합니다. 동일:

CFrame:Inverse() * v3

매개 변수

반환

VectorToWorldSpace

하나 이상의 Vector3 개체를 받고 개체에서 세계 공간으로 회전합니다. 동일한 개체를 참조하십시오.

(CFrame - CFrame.Position) * v3

매개 변수

반환

VectorToObjectSpace

하나 이상의 Vector3 개체를 받고 세계에서 개체 공간으로 회전합니다. 동일한 개체는:

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

매개 변수

반환

GetComponents

R10 R11 R22 R21 R20

반환

ToEulerAngles

옵션적인 Enum.RotationOrder 을 사용하여 CFrame 을 생성하는 데 사용될 수 있는 근사한 각도를 반환합니다. 제공하지 않으면 메서드는 order 를 사용합니다.

매개 변수

기본값: Enum.RotationOrder.XYZ

ToEulerAnglesXYZ

Datatype.CFrame을 생성하는 데 사용될 수 있는 근사 각도를 반환합니다. Enum.RotationOrder.XYZ를 사용하여 생성합니다.

ToEulerAnglesYXZ

Datatype.CFrame을 생성하는 데 사용될 수 있는 근사 각도를 반환합니다.

ToOrientation

Datatype.CFrame:ToEulerAnglesYXZ() 와 동일합니다.

ToAxisAngle

축측 표현에서 Vector3의 회전을 나타내는 숫자를 반환합니다. CFrame 및 Datatype.CFrame의 회전을 나타내는 숫자를 반환합니다.

components

Equivalent to CFrame:GetComponents() .

반환

FuzzyEq

다른 "Datatype.CFrame"이 이 데이터 프레임에 충분히 가까이 있는 경우 true 반환합니다. eps 값은 이 데이터 프레임에 대한 관용을 제어하는 데 사용됩니다. 이 값은 선택적이며 제공되면 작은 양의 긍정적 값을 사용하

매개 변수

other: CFrame
epsilon: number
기본값: 0.00001 (1e-5)

반환

수학 연산


새로운 CFrame 를 생성하여 두 개의 CFrames 의 구성을 나타냅니다.


Datatype.Vector3 개체를 세계 좌표로 변환한 결과를 생성합니다.


생성합니다 CFrame 세계 공간에 번역된 Vector3 에 의해.


음수 CFrame 를 통해 세계 공간에 번역된 Vector3 을 생성합니다.