quatFromEuler
Definition
-- @/lua/common/mathlib.lua:1120
function quatFromEuler(x, y, z) -- in radians
local q = newLuaQuatxyzw(0, 0, 0, 1)
q:setFromEuler(x, y, z)
return q
end
Callers
@/lua/common/jbeam/sections/mirror.lua
if v.baseRotationGlobal then
local q = quatFromEuler(mrad(v.baseRotationGlobal.x),mrad(v.baseRotationGlobal.y),mrad(v.baseRotationGlobal.z))
mirror.normal = vec3(0,1,0):rotated(q)
log("E","proc","offsetRotationGlobal is depracted, fix mesh normals "..dumps(v.mesh))
local q = quatFromEuler(mrad(v.offsetRotationGlobal.x),mrad(v.offsetRotationGlobal.y),mrad(v.offsetRotationGlobal.z))
mirror.offsetNormal = vec3(0,1,0):rotated(q)
@/lua/ge/extensions/util/trackBuilder/pieces.lua
--rotate the offset by the hdg of the previous piece.
off = M.rotateVectorByQuat(off, quatFromEuler(0,0,tipPiece.hdg))
local bzLength = 0.552284749831
--rotate the offset by the hdg of the previous piece.
off = M.rotateVectorByQuat(off, quatFromEuler(0,0,tipPiece.hdg))
return
off.x = off.x * sign(dir)
off = M.rotateVectorByQuat(off, quatFromEuler(0,0,tipPiece.hdg))
off.x = off.x * sign(dir)
off = M.rotateVectorByQuat(off, quatFromEuler(0,0,tipPiece.hdg))
off:set(-off.x,off.y, 0)
off = quatFromEuler(0,0,angle):__mul(off)
end
off.x = off.x * sign(dir)
off = M.rotateVectorByQuat(off, quatFromEuler(0,0,tipPiece.hdg))
),
rot = quatFromEuler(tan,0,0)
}
local tan = -(math.atan2(len,slope) - math.pi/2)
local nq = quatFromEuler(0,0,-tan*4):__mul(customPoints[i+1].rot)
customPoints[i+1].rot = nq
position = vec3(-offset, -radius, 0),
rot = quatFromEuler(0,0,0)
}
position = vec3(0,0, 0),
rot = quatFromEuler(0,0,0)
}
@/lua/ge/extensions/util/trackBuilder/multiTrackMerger.lua
position = t0 * p0 + t1 * p1 + t2 * p2 + t3 * p3,
rot = quatFromEuler(math.pi, 0, 0):__mul(quatFromEuler(0, 0, -hdg - math.pi / 2)),
quality = quality
position = t0 * p0 + t1 * p1 + t2 * p2 + t3 * p3,
rot = quatFromEuler(math.pi, 0, 0):__mul(quatFromEuler(0, 0, -hdg - math.pi / 2)),
quality = quality
p.finalRot = quatFromEuler(
p.pitch,
@/lua/ge/extensions/util/trackBuilder/splineTrack.lua
local scale = (size or p.width) / 2 + 1
local quat = quatFromEuler(0, 0, -math.pi / 2):__mul(rot):toTorqueQuat()
local rot = quatFromEuler(0, math.pi, math.pi):__mul(point.rot)
if reverse then
if reverse then
rot = rot:__mul(quatFromEuler(0, 0, math.pi))
end
trackPosition.hdg = -hdg
trackPosition.rot = quatFromEuler(0, 0, hdg)
end
-- rotated unit vectors for snapping points to a grid
trackPosition.unitX = quatFromEuler(0, 0, trackPosition.hdg):__mul(vec3(1, 0, 0))
trackPosition.unitY = quatFromEuler(0, 0, trackPosition.hdg):__mul(vec3(0, 1, 0))
trackPosition.unitX = quatFromEuler(0, 0, trackPosition.hdg):__mul(vec3(1, 0, 0))
trackPosition.unitY = quatFromEuler(0, 0, trackPosition.hdg):__mul(vec3(0, 1, 0))
-- place and rotate the origin piece of the track and invalidate whole track
if cameraUp < math.pi / 4 then cameraUp = math.pi / 4 end
q = quatFromEuler(cameraUp, 0, 0):__mul(quatFromEuler(0, 0, cameraAngle))
if cameraUp < math.pi / 4 then cameraUp = math.pi / 4 end
q = quatFromEuler(cameraUp, 0, 0):__mul(quatFromEuler(0, 0, cameraAngle))
point.uvY = point.length
point.finalRot = quatFromEuler(
point.pitch,
segment.markerInfo.rot = quatFromEuler(
segment.markerInfo.pitch,
(-segment.markerInfo.bank / 180) * math.pi + math.pi,
0):__mul(quatFromEuler(0, math.pi, segment.hdg))
segment.markerInfo.position = segment.markerInfo.basePosition + vec3(0, 0, segment.markerInfo.zOffset)
if segment.invalid then
segment.rot = quatFromEuler(math.pi, 0, 0):__mul(quatFromEuler(0, 0, segment.hdg + math.pi))
--segment.material = "track_editor_base"
if segment.invalid then
segment.rot = quatFromEuler(math.pi, 0, 0):__mul(quatFromEuler(0, 0, segment.hdg + math.pi))
--segment.material = "track_editor_base"
position = arcCenter + vec3(math.cos(angle), math.sin(angle), 0) * segment.radius * gridScale,
rot = quatFromEuler(math.pi, 0, 0):__mul(quatFromEuler(0, 0, -hdg - math.pi / 2)),
quality = quality
position = arcCenter + vec3(math.cos(angle), math.sin(angle), 0) * segment.radius * gridScale,
rot = quatFromEuler(math.pi, 0, 0):__mul(quatFromEuler(0, 0, -hdg - math.pi / 2)),
quality = quality
position = t0 * p0 + t1 * p1 + t2 * p2 + t3 * p3,
rot = quatFromEuler(math.pi, 0, 0):__mul(quatFromEuler(0, 0, -hdg - math.pi / 2)),
quality = quality
position = t0 * p0 + t1 * p1 + t2 * p2 + t3 * p3,
rot = quatFromEuler(math.pi, 0, 0):__mul(quatFromEuler(0, 0, -hdg - math.pi / 2)),
quality = quality
),
rot = p.rot:__mul(quatFromEuler(math.pi, 0, 0):__mul(quatFromEuler(0, 0, piece.hdg + math.pi))),
quality = {}}
),
rot = p.rot:__mul(quatFromEuler(math.pi, 0, 0):__mul(quatFromEuler(0, 0, piece.hdg + math.pi))),
quality = {}}
o.rotationEuler = vec3(o.rotationEuler.x, o.rotationEuler.y, o.rotationEuler.z)
o.rotation = quatFromEuler(o.rotationEuler.x / 180 * math.pi, o.rotationEuler.y / 180 * math.pi, (o.rotationEuler.z) / 180 * math.pi)
--o.material = o.material
@/lua/ge/extensions/editor/driftDataEditor.lua
for lineName, lineData in pairs(currDriftSpots[selectedDriftSpotId].spatialInfo.lines) do
transformsUtils[lineName.."driftBox"] = createNewTransform("Sign pos", true, true, true, lineData.pos, quatFromEuler(lineData.rot.x, lineData.rot.y, lineData.rot.z), lineData.scl)
transformsUtils[lineName.."startDir"] = createNewTransform("Entry dir", true, false, false, lineData.pos + lineData.startDir, nil, nil)
@/lua/ge/extensions/editor/renderTest.lua
local rot = quatFromEuler(math.pi * 0.5, 0, 0)
@/lua/ge/extensions/editor/decalEditor.lua
if editor.uiInputFloat3(string.format("##rot_%d_%s", selectedInstance.id, label), input4FloatValue, "%.1f", im.InputTextFlags_EnterReturnsTrue, nil) then
local decalRot = quatFromEuler(degToRad(input4FloatValue[0]), degToRad(input4FloatValue[1]), degToRad(input4FloatValue[2]))
selectedInstance.normal = decalRot:__mul(vec3(0,0,1))
local function rotateAround(instance, euler, rotationPoint)
local rot = quatFromEuler(euler.x, euler.y, euler.z)
@/lua/ge/extensions/flowgraph/nodes/util/randomQuaternion.lua
local q = quat(0, 0, 0, 1)
q = quatFromEuler(x, 0, 0) * q
q = quatFromEuler(0, y, 0) * q
q = quatFromEuler(x, 0, 0) * q
q = quatFromEuler(0, y, 0) * q
q = quatFromEuler(0, 0, z) * q
q = quatFromEuler(0, y, 0) * q
q = quatFromEuler(0, 0, z) * q
self.pinOut.quaternion.value = q:toTable()
@/lua/ge/extensions/tech/utils.lua
offsetNode = camNodeID or 0,
rotation = quatFromEuler(0, 0, 0),
resolutionX = output.width, resolutionY = output.height,
@/lua/ge/extensions/flowgraph/nodes/scene/rectMarker.lua
end
local qOff = quatFromEuler(0,0,math.pi/2)*quatFromEuler(0,math.pi/2,math.pi/2)
function C:updateMarkerPositions()
end
local qOff = quatFromEuler(0,0,math.pi/2)*quatFromEuler(0,math.pi/2,math.pi/2)
function C:updateMarkerPositions()
corner = (tpos-xVec*d+yVec*w)
r = quatFromEuler(0, 0, math.rad(90))
elseif k == 2 then --Top Right
corner = (tpos+xVec*d+yVec*w)
r = quatFromEuler(0, 0, math.rad(180))
elseif k == 3 then --Bottom Right
corner = (tpos+xVec*d-yVec*w)
r = quatFromEuler(0, 0, math.rad(270))
elseif k == 4 then --Botton Left
corner = (tpos-xVec*d-yVec*w)
r = quatFromEuler(0, 0, 0)
end
@/lua/ge/extensions/tech/impactgen/crashOutput.lua
local function continueLinear(request, angle, aPos, bPos, bRot, throttle, config, ego, other)
local rot = quatFromEuler(0, 0, math.rad(angle))
ego:setPositionRotation(aPos[1], aPos[2], aPos[3], rot.x, rot.y, rot.z, rot.w)
ego:setPositionRotation(aPos[1], aPos[2], aPos[3], rot.x, rot.y, rot.z, rot.w)
rot = quatFromEuler(math.rad(bRot[1]), math.rad(bRot[2]), math.rad(bRot[3]))
other:setPositionRotation(bPos[1], bPos[2], bPos[3], rot.x, rot.y, rot.z, rot.w)
local function continueTBone(request, angle, aPos, bPos, bRot, throttle, config, ego, other)
local rot = quatFromEuler(0, 0, math.rad(angle))
ego:setPositionRotation(aPos[1], aPos[2], aPos[3], rot.x, rot.y, rot.z, rot.w)
ego:setPositionRotation(aPos[1], aPos[2], aPos[3], rot.x, rot.y, rot.z, rot.w)
rot = quatFromEuler(math.rad(bRot[1]), math.rad(bRot[2]), math.rad(bRot[3]))
other:setPositionRotation(bPos[1], bPos[2], bPos[3], rot.x, rot.y, rot.z, rot.w)
local function continuePole(request, angle, pos, throttle, config, ego)
local rot = quatFromEuler(0, 0, math.rad(angle))
ego:setPositionRotation(pos[1], pos[2], pos[3], rot.x, rot.y, rot.z, rot.w)
@/lua/ge/extensions/scenario/busdriver.lua
pos = (tpos-xVec*d+yVec*w)
r = tr * quatFromEuler(0, 0, rad(90))
elseif k == 2 then --Top Right
pos = (tpos+xVec*d+yVec*w)
r = tr * quatFromEuler(0, 0, rad(180))
elseif k == 3 then --Bottom Right
pos = (tpos+xVec*d-yVec*w)
r = tr * quatFromEuler(0, 0, rad(270))
elseif k == 4 then --Botton Left
@/lua/ge/extensions/editor/gen/exp_meshexplorer.lua
-- core_camera.setPosition(0, vec3(0, 5, 5))
-- core_camera.setRotation(0, quatFromEuler(0,0,math.pi/2)) --(0, 0, math.pi/2),)
-- core_camera.setRotation(0, quatFromEuler(math.pi/4,0,0)) --(0, 0, math.pi/2),)
-- core_camera.setRotation(0, quatFromEuler(0,0,math.pi/2)) --(0, 0, math.pi/2),)
-- core_camera.setRotation(0, quatFromEuler(math.pi/4,0,0)) --(0, 0, math.pi/2),)
-- core_camera.setRotation(0, quatFromDir(vec3(1,1,0))) --(0, 0, math.pi/2),)
@/lua/ge/extensions/util/trackBuilder/proceduralPrimitives.lua
local outerRad = (i-1) * math.pi*2 / outerSegments
local quat = quatFromEuler(-outerRad,0,0)
local outerCenter = vec3(0,math.sin(-outerRad) * radius,math.cos(-outerRad)*radius)
local point = vec3(math.cos(rad), math.sin(rad),0)
local quat = quatFromEuler(0,0,-rad)
local quatC = quatFromEuler(0,0,-(i-0.5) * math.pi*2 / segments)
local quat = quatFromEuler(0,0,-rad)
local quatC = quatFromEuler(0,0,-(i-0.5) * math.pi*2 / segments)
vertices[#vertices+1] = {x = point.x * radius, y = point.y * radius, z = point.z - height/2}
@/lua/ge/extensions/flowgraph/nodes/environment/planet.lua
local rots = {
{id = 'u', quat = quatFromEuler(0,0,0)},
{id = 'f', quat = quatFromEuler(math.pi/2,0,0)},
{id = 'u', quat = quatFromEuler(0,0,0)},
{id = 'f', quat = quatFromEuler(math.pi/2,0,0)},
{id = 'r', quat = quatFromEuler(0,0,math.pi/2)*quatFromEuler(0,-math.pi/2,0) },
{id = 'f', quat = quatFromEuler(math.pi/2,0,0)},
{id = 'r', quat = quatFromEuler(0,0,math.pi/2)*quatFromEuler(0,-math.pi/2,0) },
{id = 'l', quat = quatFromEuler(0,0,-math.pi/2)*quatFromEuler(0,math.pi/2,0) },
{id = 'f', quat = quatFromEuler(math.pi/2,0,0)},
{id = 'r', quat = quatFromEuler(0,0,math.pi/2)*quatFromEuler(0,-math.pi/2,0) },
{id = 'l', quat = quatFromEuler(0,0,-math.pi/2)*quatFromEuler(0,math.pi/2,0) },
{id = 'r', quat = quatFromEuler(0,0,math.pi/2)*quatFromEuler(0,-math.pi/2,0) },
{id = 'l', quat = quatFromEuler(0,0,-math.pi/2)*quatFromEuler(0,math.pi/2,0) },
{id = 'b', quat = quatFromEuler(0,0,math.pi)*quatFromEuler(-math.pi/2,0,0) },
{id = 'r', quat = quatFromEuler(0,0,math.pi/2)*quatFromEuler(0,-math.pi/2,0) },
{id = 'l', quat = quatFromEuler(0,0,-math.pi/2)*quatFromEuler(0,math.pi/2,0) },
{id = 'b', quat = quatFromEuler(0,0,math.pi)*quatFromEuler(-math.pi/2,0,0) },
{id = 'l', quat = quatFromEuler(0,0,-math.pi/2)*quatFromEuler(0,math.pi/2,0) },
{id = 'b', quat = quatFromEuler(0,0,math.pi)*quatFromEuler(-math.pi/2,0,0) },
{id = 'd', quat = quatFromEuler(math.pi,0,0)},
{id = 'l', quat = quatFromEuler(0,0,-math.pi/2)*quatFromEuler(0,math.pi/2,0) },
{id = 'b', quat = quatFromEuler(0,0,math.pi)*quatFromEuler(-math.pi/2,0,0) },
{id = 'd', quat = quatFromEuler(math.pi,0,0)},
{id = 'b', quat = quatFromEuler(0,0,math.pi)*quatFromEuler(-math.pi/2,0,0) },
{id = 'd', quat = quatFromEuler(math.pi,0,0)},
}
@/lua/ge/extensions/gameplay/race/startPosition.lua
local newPos = newFLPos + newOffset
local vehRot = quatFromEuler(0,0,math.pi) * self.rot
@/lua/ge/extensions/flowgraph/nodes/scene/raceLineParking.lua
for i = 0, 24 do
local off = quatFromEuler(0,0,math.pi*i/12) * vec3(rad, 0,0)
table.insert(list,vec3(140,150)+vec3(tlCenter.x, tlCenter.y)+off)
@/lua/ge/extensions/gameplay/parking.lua
offsetPos = vec3(xRandom * offsetVal * xGap, yRandom * offsetVal * yGap, 0)
offsetRot = quatFromEuler(0, 0, (randomGauss3() / 3 - 0.5) * offsetVal * 0.25)
end
@/lua/ge/extensions/gameplay/sites/parkingSpot.lua
end
rot = quatFromEuler(0,0,self.multiSpotData.spotRotation) * rot
local pos = self.pos + dirVec
self.rotOrig = quat(self.rot)
self.rot = quatFromEuler(0, 0, self.multiSpotData.spotRotation) * self.rotOrig
self:calcVerts()
local pos = self.pos + dirVec
local rot = quatFromEuler(0, 0, self.multiSpotData.spotRotation) * self.rotOrig
local newSpot = parkingSpotList:create(self.name .. "." .. (i + 1))
@/lua/ge/extensions/flowgraph/nodes/vehicle/alignForCoupling.lua
if type(self.pinIn.rot.value) == 'number' then
desiredRot = quatFromEuler(0,0,self.pinIn.rot.value/180 * math.pi)
elseif type(self.pinIn.rot.value) == 'table' then
@/lua/ge/extensions/util/trackBuilder/obstaclePlacer.lua
local M = {}
local turn90 = quatFromEuler(0,0,math.pi/2)
local obstacleTypes = {}
@/lua/ge/extensions/flowgraph/nodes/mission/ARunForLife.lua
local newRot = propsInfo[randomPropId].correctedRot
if newRot then rot = quatFromEuler(unpack(newRot)) end
end
@/lua/ge/extensions/flowgraph/nodes/scene/camera/procedural/procDirectPath.lua
fwd = fwd:normalized()
local fq = quatFromEuler(math.pi / 4, 0, 0) * quatFromDir(fwd)
local d = fq * vec3(0, -12, 0)
mid.rot = (quatFromEuler(math.pi * 0.3, 0, 0) * quatFromDir(fwd)):slerp(quatFromDir(tt, tu), 1)
mid.time = duration / 14 * 7
@/lua/ge/extensions/ui/apps/minimap/minimap.lua
if debugSettings.behaviourRotateWithCam then
camRot = quatFromEuler(0,0,rad)
else
else
camRot = quatFromEuler(0,0,0)
end
@/lua/ge/extensions/core/cameraModes/onboard.lua
q = q or quat()
q = quatFromEuler(0, z, 0) * q
q = quatFromEuler(0, 0, x) * q
q = quatFromEuler(0, z, 0) * q
q = quatFromEuler(0, 0, x) * q
q = quatFromEuler(y, 0, 0) * q
q = quatFromEuler(0, 0, x) * q
q = quatFromEuler(y, 0, 0) * q
return q
@/lua/ge/main.lua
local scale = vec3(1.5, 1.5, 1.5)
local r = quatFromEuler(0, 0, math.rad(45))
local instance = prefab:spawn("", pos, QuatF(r.x, r.y, r.z, r.w), scale)
local scale = vec3(s, s, s)
local r = quatFromEuler(0, 0, math.rad(math.random(0, 360)))
local name = "test_v2_"..tostring(i)
@/lua/ge/extensions/util/procTrack.lua
checkPoint.scale = vec3(scenario.nodes['gym_'..i].radius,scenario.nodes['gym_'..i].radius,scenario.nodes['gym_'..i].radius)
local quat = quatFromEuler(0,0,-math.atan2(nvRot.y, nvRot.x)):toTorqueQuat()
checkPoint:setField('rotation', 0, quat.x .. ' ' ..quat.y..' '..quat.z..' '..quat.w)
@/lua/ge/extensions/tech/multiscreen.lua
position = vec3(positionX or 0, positionY or 0, positionZ or 0),
rotation = quatFromEuler(rotationX or 0, rotationY or 0, rotationZ or 0),
resolutionX = resolutionX or 1080, resolutionY = resolutionY or 720,
@/lua/ge/extensions/flowgraph/nodes/scene/collectionMarker.lua
self.marker:setPosition(pos)
local rot = quatFromEuler(0,0,(self.mgr.modules.timer.globalTime.real*1.75)):toTorqueQuat()
self.marker:setField('rotation', 0, rot.x .. ' ' .. rot.y .. ' ' .. rot.z .. ' ' .. rot.w)
@/lua/ge/extensions/editor/meshEditor.lua
local function rotateAround(mesh, nodeID, euler, rotationPoint)
local rot = quatFromEuler(euler.x, euler.y, euler.z)
@/lua/ge/extensions/core/cameraModes/shake.lua
)
local q = quatFromEuler(rotEuler.x, rotEuler.y, rotEuler.z)
@/lua/ge/extensions/editor/objectToSplineEditor.lua
local useXY = params.useRandomRotXY
rotOffset:set(quatFromEuler(useXY and getRandom(n, params.useGauss) or 0, useXY and getRandom(n, params.useGauss) or 0, getRandom(n, params.useGauss)))
end
table.insert(points, {pos = pos, rot = quatFromDir(dirVec, dirVecUp) * rotOffset * quatFromEuler(math.pi, math.pi, math.pi)})
count = count + 1
@/lua/ge/extensions/core/cameraModes/unicycle.lua
q = q or quat()
q = quatFromEuler(0, z, 0) * q
q = quatFromEuler(0, 0, x) * q
q = quatFromEuler(0, z, 0) * q
q = quatFromEuler(0, 0, x) * q
q = quatFromEuler(y, 0, 0) * q
q = quatFromEuler(0, 0, x) * q
q = quatFromEuler(y, 0, 0) * q
return q
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/vePropTransformer.lua
local q1 = quatFromEuler(0, 0, math.pi * 11/12)
local q2 = quatFromEuler(0, 0, -math.pi * 11/12)
local q1 = quatFromEuler(0, 0, math.pi * 11/12)
local q2 = quatFromEuler(0, 0, -math.pi * 11/12)
local q3 = quatFromEuler(0, math.pi / 2, 0)
local q2 = quatFromEuler(0, 0, -math.pi * 11/12)
local q3 = quatFromEuler(0, math.pi / 2, 0)
@/lua/ge/extensions/editor/sitesEditor/parkingSpots.lua
end
rot = quatFromEuler(0, 0, node.multiSpotData.spotRotation) * rot
local pos = node.pos + dirVec
@/lua/ge/extensions/core/cameraModes/trackir.lua
q = q or quat()
q = quatFromEuler(0, 0, x) * q
q = quatFromEuler(0, z, 0) * q
q = quatFromEuler(0, 0, x) * q
q = quatFromEuler(0, z, 0) * q
q = quatFromEuler(y, 0, 0) * q
q = quatFromEuler(0, z, 0) * q
q = quatFromEuler(y, 0, 0) * q
return q
@/gameplay/missionTypes/collection/customNodes/collectionMarkersNode.lua
local rot = quatFromEuler(0,0,(os.clockhp()*1.34567 + (1-(1-m.collectedTimer)*(1-m.collectedTimer))*math.pi*3)):toTorqueQuat()
markerObj:setField('rotation', 0, rot.x .. ' ' .. rot.y .. ' ' .. rot.z .. ' ' .. rot.w)
@/lua/ge/extensions/gameplay/race/pathnode.lua
-- side detail procedural generator
local qOff = quatFromEuler(0,0,math.pi/2)*quatFromEuler(0,math.pi/2,math.pi/2)
function C:convertRayHitToTransform(hit, pRot, zOff, scl, side, alignMode)
-- side detail procedural generator
local qOff = quatFromEuler(0,0,math.pi/2)*quatFromEuler(0,math.pi/2,math.pi/2)
function C:convertRayHitToTransform(hit, pRot, zOff, scl, side, alignMode)
return {
self:convertRayHitToTransform(hitLeft, quatFromEuler(rotOffset.x, -rotOffset.y, -rotOffset.z), posOffset.z, sclOffset,'l', alignMode),
self:convertRayHitToTransform(hitRight, quatFromEuler(rotOffset.x, rotOffset.y, rotOffset.z), posOffset.z, sclOffset,'r', alignMode)
self:convertRayHitToTransform(hitLeft, quatFromEuler(rotOffset.x, -rotOffset.y, -rotOffset.z), posOffset.z, sclOffset,'l', alignMode),
self:convertRayHitToTransform(hitRight, quatFromEuler(rotOffset.x, rotOffset.y, rotOffset.z), posOffset.z, sclOffset,'r', alignMode)
}
@/lua/ge/extensions/flowgraph/nodes/types/transform.lua
self.euler = {x = eul[0]/180*math.pi, y = eul[1]/180*math.pi, z = eul[2]/180*math.pi}
self.rotation = quatFromEuler(eul[0]/180*math.pi,eul[1]/180*math.pi,eul[2]/180*math.pi)
self.reason = "Changed Rotation"
builder:Middle()
--local euler = quatFromEuler(self.rotation.x, self.rotation.y, self.rotation.z)
local rot = self.rotation
@/lua/ge/extensions/util/trackBuilder/cameraTransition.lua
local oldPosition = vec3(0,0,0)
local oldQuat = quatFromEuler(0,0,0)
local targetPosition = vec3(0,0,0)
local targetQuat = quatFromEuler(0,0,0)
@/lua/ge/extensions/editor/roadUtils.lua
if factor ~= 0 then
rotation = quatFromEuler(0, 0, math.random() * math.pi)
else
local decoID = roadDecorations.decorateProps(road:getID(), decorationSettings.shapeName, tonumber(decorationSettings.distance),
tonumber(decorationSettings.period), quatFromEuler(0,0,(tonumber(decorationSettings.rotation)/360) * 2*math.pi),
tonumber(decorationSettings.zOff), decorationSettings.align == "true")
@/lua/ge/extensions/util/instancedLineRenderDemo.lua
rotY = 50 -- dt * 0.5
local rot = quatFromEuler(0, math.rad(rotY), 0)
@/flowgraphEditor/Tower/customNodes/towerNode.lua
self.objects = {}
local lastPos, lastRot = vec3(0,0,200), quatFromEuler(0,0,0)
lastPos = goal:getPosition() + q * vec3(0,4,0)
lastRot = quat(goal:getRotation()) * quatFromEuler(0,0,-math.pi/2)
end
@/lua/ge/extensions/core/cameraModes/relative.lua
q = q or quat()
q = quatFromEuler(0, z, 0) * q
q = quatFromEuler(0, 0, x) * q
q = quatFromEuler(0, z, 0) * q
q = quatFromEuler(0, 0, x) * q
q = quatFromEuler(y, 0, 0) * q
q = quatFromEuler(0, 0, x) * q
q = quatFromEuler(y, 0, 0) * q
return q
@/lua/ge/extensions/editor/crawlEditor/boundaries.lua
if editor.getAxisGizmoAlignment() == editor.AxisGizmoAlignment_Local then
local q = quatFromDir(quatFromEuler(0, math.pi / 2, 0) * self.currentPlane.normal, vec3(0, 0, 1))
rotation = QuatF(q.x, q.y, q.z, q.w)
if self.currentPlane then
self.beginDragRotation = deepcopy(quatFromDir(quatFromEuler(0, math.pi / 2, 0) * self.currentPlane.normal, vec3(0, 0, 1)))
end
@/lua/ge/extensions/scenario/quickRace.lua
local sp = sc.path.startPositions.objects[sc.path[id]]
local rot = quatFromEuler(0,0,math.pi) * sp.rot
local x, y, z = rot * vec3(1,0,0), rot * vec3(0,1,0), rot * vec3(0,0,1)
@/lua/ge/extensions/core/vehicle/mirror.lua
local q = quatFromEuler(mrad(x),mrad(0),mrad(z))
mirror.offsetNormal = vec3(0,1,0):rotated(q)
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veLightsDebug.lua
local q1 = quatFromEuler(0, 0, math.pi * 11/12)
local q2 = quatFromEuler(0, 0, -math.pi * 11/12)
local q1 = quatFromEuler(0, 0, math.pi * 11/12)
local q2 = quatFromEuler(0, 0, -math.pi * 11/12)
local q3 = quatFromEuler(0, math.pi / 2, 0)
local q2 = quatFromEuler(0, 0, -math.pi * 11/12)
local q3 = quatFromEuler(0, math.pi / 2, 0)
@/lua/ge/extensions/trackbuilder/trackBuilder.lua
extra = vec3(o.extra[0],o.extra[1],o.extra[2]),
rotation = quatFromEuler(o.rotation[0]/180 * math.pi,o.rotation[1]/180 * math.pi,(o.rotation[2])/180 * math.pi),
rotationEuler = vec3(o.rotation[0],o.rotation[1],o.rotation[2]),
@/lua/ge/extensions/editor/sitesEditor/zones.lua
if editor.getAxisGizmoAlignment() == editor.AxisGizmoAlignment_Local then
local q = quatFromDir(quatFromEuler(0, math.pi / 2, 0) * self.currentPlane.normal, vec3(0, 0, 1))
rotation = QuatF(q.x, q.y, q.z, q.w)
if self.currentPlane then
self.beginDragRotation = deepcopy(quatFromDir(quatFromEuler(0, math.pi / 2, 0) * self.currentPlane.normal, vec3(0, 0, 1)))
end
@/gameplay/missionTypes/scatterPickup/customNodes/scatterPrefabSetupNode.lua
local fwd = vec3(0,1,0):projectToOriginPlane(point.normal)
local rot = quatFromEuler(0,0,math.random() * 360) * quatFromDir(fwd, point.normal)
local trot = rot:toTorqueQuat()