0
私は理解できない数学的な問題を抱えています。ルア - カメラの動き、計算Z
私は、マウスの動きがカメラ位置にフックされるのLuaでモデルブラウザを作ってるんだ、カメラ位置は、2つのモードがあります:固定と固定のに対し完璧に自由、自由な作品が適切Z.計算の問題を持っているようだ
XとYは正しく計算されて問題なく動作しますが、ZはX、Y方向にあまりにも大きく表示されます:http://puu.sh/oTN1v/5846343f82.webm(これらのカメラのワープは、マウスの右ボタンをクリックすると発生します。マウス)
function self:RightMouseClick()
local cx, cy = mousepos()
local radius = math.sqrt(math.pow(campos.x, 2) + math.pow(campos.y, 2))
local ang = (camorigin - campos):Angle()
function self:Think()
if input.IsMouseDown(MOUSE_RIGHT) then
local x = camorigin.x + radius * math.cos(math.rad(1) * (180 + ang.yaw + (cx - mousex()) * 0.5))
local y = camorigin.y + radius * math.sin(math.rad(1) * (180 + ang.yaw + (cx - mousex()) * 0.5))
local z = camorigin.z + radius * math.sin(math.rad(1) * (ang.pitch + (cy - mousey()) * 0.5))
campos = Vector(x, y, z)
end
end
エンド
@Edit:あなたはこのコードが何を意味するのか見当もつかない場合は、あなたがaswellちょうど適切xの計算からcamoriginを削除する軸
ご質問ありがとうございます。可能であれば、受け入れられたものとしてマークすることを忘れないでください。 – Phrogz