如何在3ds Max中计算安全框架。我想知道在安全框架宽度和高度的计算中,视口宽度和高度,渲染宽度和高度(宽高比)之间的关系。
我的最终目标是找到飞机左上角和安全框架左上角之间的距离。
我需要的是
答案 0 :(得分:2)
以下MAXScript函数演示了如果在视口大小和渲染大小为box2
的情况下计算安全框架尺寸的point2
。
我们需要考虑两个不同的情况:一个是方面的差异导致左右间距,另一个是导致顶部和底部间距。
fn getViewportSafeFrameSize viewSize renderSize =
(
local viewAspect = viewSize.x as float / viewSize.y
local renderAspect = renderSize.x as float / renderSize.y
local x, y, w, h
if (viewAspect > renderAspect) then
(
h = viewSize.y
w = (h * renderAspect) as integer
y = 0
x = (viewSize.x - w) / 2
)
else
(
w = viewSize.x
h = (w / renderAspect) as integer
x = 0
y = (viewSize.y - h) / 2
)
return box2 x y w h
)
--usage
getViewportSafeFrameSize [gw.getWinSizeX(), gw.getWinSizeY()] [renderWidth, renderHeight]