SetRotation

Rotates an entity with the specified euler rotation, in local or global space.

Syntax

Remarks

Rotations use the left-handed rotation rule. To predict the direction of positive rotation, curl your fingers on your left hand and point your thumb in the direction of the rotational axis. Your fingers will curl in the direction of positive rotation along that axis.



Using the left-hand rule we can determine that positive rotation around the X axis will pitch an object down. Positive rotation around the Y axis will turn an object to the right. Positive rotation around the Z axis will roll an object to the left.

Example

rotation = Vec3()
--Create a window
window = Window:Create()
context = Context:Create(window)
world = World:Create()
local camera = Camera:Create()
camera:SetRotation(35,0,0)
camera:Move(0,0,-6)
local light = DirectionalLight:Create()
light:SetRotation(35,35,0)

--Create a model
entity = Model:Box()
entity:SetColor(0.0,0.0,1.0)

while true do
if window:Closed() or window:KeyHit(Key.Escape) then return false end

rotation.y = rotation.y + Time:GetSpeed()
entity:SetRotation(rotation);

Time:Update()
world:Update()
world:Render()

context:SetBlendMode(Blend.Alpha)
context:DrawText("Rotation: "..entity:GetRotation():ToString(),2,2)

context:Sync()
end