CFrameは、Robloxにおいてオブジェクトの位置と向きを同時に指定するために使われるデータ型だよ。CFrameは「Coordinate Frame」の略で、3次元空間内での位置と回転を一つの値で表現できるんだ。
CFrameは、位置を表すVector3(X, Y, Z座標)と、オブジェクトの向きを表す回転行列を組み合わせて構成される。これにより、オブジェクトを特定の位置に配置し、特定の方向を向かせることができる。
LuaでのCFrameを使ったサンプルプログラムを作ってみよう。この例では、Robloxのスクリプトを使ってPartのCFrameを設定するよ。
-- Roblox LuaでのCFrameプロパティの例
-- 新しいPartを作成
local part = Instance.new("Part")
part.Parent = game.Workspace -- WorkspaceにPartを追加
-- PartのCFrameを設定(位置と向き)
part.CFrame = CFrame.new(10, 5, 20) * CFrame.Angles(math.rad(0), math.rad(90), math.rad(0))
-- Partの他のプロパティを設定
part.Size = Vector3.new(4, 2, 6) -- サイズを設定
part.Anchored = true -- Partを空中に固定
このプログラムでは、CFrame.new(10, 5, 20)
でPartの位置を設定し、CFrame.Angles
を使ってPartをY軸周りに90度回転させているよ。math.rad
関数は度数法の角度をラジアンに変換するために使われる。
CFrameを使うと、オブジェクトの位置と向きを同時に制御できるから、Robloxのゲーム開発において非常に強力なツールになるよ。
< ロブロックス先生