2010-07-26 4 views
0

.CFrame 속성을 사용하여 정확한 양만큼 부품을 기울일 수 있다고 들었습니다. 그러나, 나는 그것을 사용하는 방법에 대해 명확하지 않다. 다음 코드는 작동하지 않습니다.부품을 어떻게 CFrame합니까?

Workspace.Part.CFrame = CFrame.new(90,0,45) 

90도 및 45도 회전하지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+2

좀 더 컨텍스트를 추가해야합니다. * roblox * 태그가 없다면 나는 당신이 무슨 말을하고 있는지 전혀 몰랐습니다. 또한, * roblox *는 여러 회사의 여러 제품의 이름입니다. –

답변

1

설명서에는 3 개의 매개 변수를 사용하는 Coordinate Frame (CFrame) 생성자가 위치 오프셋을 정의한다고 나와 있습니다. 따라서 예제 코드는 x 축을 따라 45를 이동하고 z 축을 따라 45를 이동합니다. 시도한대로 회전을 수행하려면 CFrame.fromEulerAnglesXYZ 기능을 참조하십시오.

2

먼저 CFrame.fromEulerAnglesXYZ 함수를 사용하여 원하는 방향을 가리키는 새 CFrame을 만듭니다. 그런 다음 Vector3 수학을 사용하여 CFrame을 원하는 위치로 이동합니다. EG.

local cframe = CFrame.fromEulerAnglesXYZ(XRADIANS, YRADIANS, ZRADIANS) 
cframe = (cframe - cframe.p) + Vector3.new(XPOS,YPOS,ZPOS) 
1

인수는 위치,하지 회전 내가 CFrame에 시작했다 때 너무이 문제가 있었다

0

를 지정 촬영. 그것들은 도형이 아니고 도수입니다. ROBLOX에 대한 빠른 CFraming 가이드, here을 작성했습니다.

는 라디안으로 어려움을 겪고 있다면, 당신은 기본적인 이해 얻기 위해 라디안에 ROBLOX 위키 페이지에 표시되어야합니다 wiki.roblox.com/index.php/Radians

감사합니다!

-pighead10

0
-- Rotates the part by 90 degrees. If you want to change the axis your 
-- rotating it on Use a different placement such as CFrame.Angles(math.rad(90),0,0) 
Workspace.Part.CFrame = Workspace.Part.CFrame * CFrame.Angles(0, math.rad(90), 0) 
관련 문제