CFrame.fromOrientation does not accept Vector3s, which is what Orientations are stored as in most circumstances.
Because fromOrientation requires 3 numbers, and does not accept a Vector3, you have to unnecessarily complicate your scripts:
local part1 = game.Workspace.Part1
local part2 = game.Workspace.Part2
local part2_orientation = part2.Orientation
part1.CFrame = CFrame.new(part1.Position) * CFrame.fromOrientation(part2_orientation.X, part2_orientation.Y, part2_orientation.Z)
Expected behavior
Plugging in
local part1 = game.Workspace.Part1
local part2 = game.Workspace.Part2
part1.CFrame = CFrame.new(part1.Position) * CFrame.fromOrientation(part2.Orientation)
SHOULD “copy” the orientation of another part with no issue. But as it stands, this code will error as fromOrientation will not accept the Vector3 passed on from part2.Orientation.
CFrame.new supports Vector3s or numbers. I’d love to see this behavior mirrored onto fromOrientation.