SetRotation
Rotates an entity with the specified euler rotation, in local or global space.
Syntax
- SetRotation(number pitch, number yaw, number roll, bool global=false)
- void SetRotation(Vec3 rotation, bool global=false)
- void SetRotation(Quat rotation, bool global=false)
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