Just a head up, in Power Auras i updated the Reset() method like this:
Lua Code:
function model:GetBaseCameraTarget()
local modelfile = self:GetModel()
if modelfile and modelfile ~= "" then
local tempmodel = CreateFrame("PlayerModel", nil, UIParent)
tempmodel:SetModel(modelfile)
tempmodel:SetCustomCamera(1)
local x, y, z = tempmodel:GetCameraTarget()
tempmodel:ClearModel()
return x, y, z
end
end
function model:Reset()
local modelfile = self:GetModel()
self:ClearModel()
self:SetModel(modelfile)
-- With model id
--self:SetDisplayInfo(modelid)
self:SetRotation(0)
self:SetPosition(0, 0, 0)
self:RefreshCamera()
self:SetCustomCamera(1)
if self:HasCustomCamera() then
local x, y, z = self:GetCameraPosition()
local tx, ty, tz = self:GetCameraTarget()
self:SetCameraTarget(0, ty, tz)
self:SetOrientation(math.sqrt(x * x + y * y + z * z), - math.atan(y / x), - math.atan(z / x))
end
--[[self:SetCustomCamera(1)
self:SetCameraPosition(x, y, z)
self:SetPosition(px, py, pz)
self:SetRotation(rot)
self:SetCameraTarget(0, ty, tz)
self:SetOrientation(math.sqrt(x * x + y * y + z * z), - math.atan(y / x), - math.atan(z / x))]]
end
This solution was just a temporary hack:
Lua Code:
self:SetCameraTarget(0, 0, pi / 5)