0

.CFrameプロパティを使用して、パーツを正確な量だけ傾けることができると聞きました。しかし、私はそれを使用する方法については不明です。次のコードは機能しません。

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

パーツを 90 度と 45 度回転させているわけではありません。私は何を間違っていますか?

4

5 に答える 5

2

まず、CFrame.fromEulerAnglesXYZ 関数を使用して、希望する方向を指す新しい CFrame を作成します。次に、Vector3 演算を使用して CFrame を目的の位置に移動します。例えば。

local cframe = CFrame.fromEulerAnglesXYZ(XRADIANS, YRADIANS, ZRADIANS)
cframe = (cframe - cframe.p) + Vector3.new(XPOS,YPOS,ZPOS)
于 2010-08-03T18:03:49.493 に答える
1

ドキュメントには、 3 つのパラメーターを受け取る Coordinate Frame (CFrame)コンストラクターが位置オフセットを定義していると記載されています。したがって、サンプル コードはパーツをx軸に沿って 90 移動し、 z軸に沿って 45移動します。試行したとおりに回転を実行するには、CFrame.fromEulerAnglesXYZ関数を参照してください。

于 2010-07-26T18:35:37.640 に答える
1

受け取った引数は、回転ではなく位置を指定します

于 2010-09-10T21:13:33.830 に答える
0

CFrameを始めたときもこの問題がありました。それらは度ではなくラジアンです。ここで、ROBLOX に関する簡単な CFraming ガイドを作成しました。

ラジアンに苦労している場合は、ラジアンに関する ROBLOX wiki ページを参照して、基本的な理解を深めてください: wiki.roblox.com/index.php/Radians

ありがとう!

-pighead10

于 2010-11-22T19:51:14.837 に答える
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)
于 2014-03-01T19:13:29.543 に答える