CFrameガイド:Robloxでのオブジェクト位置と回転の制御


まず、CFrameはRobloxでの3D空間内のオブジェクトの位置と回転を表すために使用されます。CFrameは、位置ベクトルと回転行列から構成されており、オブジェクトの座標系における位置と姿勢を表現します。

オブジェクトの位置を変更するには、CFrameの位置ベクトルを変更します。例えば、次のようなコードを使用してオブジェクトを移動させることができます:

local part = workspace.Part -- 移動させたいオブジェクトの参照を取得する
local newPosition = Vector3.new(10, 0, 0) -- 新しい位置を指定する
part.CFrame = CFrame.new(newPosition)

上記のコードでは、workspace.Partは移動させたいオブジェクトの参照を取得しています。Vector3.new(10, 0, 0)は新しい位置を指定しています。最後の行で、part.CFrameに新しいCFrameを設定することで、オブジェクトを指定した位置に移動させることができます。

オブジェクトの回転を変更するには、CFrameの回転行列を変更します。例えば、次のようなコードを使用してオブジェクトを回転させることができます:

local part = workspace.Part -- 回転させたいオブジェクトの参照を取得する
local newRotation = CFrame.Angles(0, math.rad(45), 0) -- 新しい回転を指定する
part.CFrame = part.CFrame * newRotation

上記のコードでは、workspace.Partは回転させたいオブジェクトの参照を取得しています。CFrame.Angles(0, math.rad(45), 0)は新しい回転を指定しています。最後の行で、part.CFrameに現在のCFrameと新しい回転を組み合わせることで、オブジェクトを指定した回転角度だけ回転させることができます。

さらに、CFrameには他にも様々なメソッドやプロパティがあります。例えば、CFrame.LookVectorを使用すると、オブジェクトが向いている方向の単位ベクトルを取得することができます。また、CFrame:ToWorldSpace()を使用すると、ローカル座標系からワールド座標系への変換を行うことができます。

このガイドでは、CFrameの基本的な使用方法と一部のコード例を紹介しましたが、実際の使用にはさまざまな応用があります。オブジェクトの位置と回転を制御するためにCFrameを活用して、ロブロックスのゲームやアプリの開発に役立ててみてください。