安全框架计算

时间:2015-06-08 02:25:11

标签: 3d 3dsmax

如何在3ds Max中计算安全框架。我想知道在安全框架宽度和高度的计算中,视口宽度和高度,渲染宽度和高度(宽高比)之间的关系。

我的最终目标是找到飞机左上角和安全框架左上角之间的距离。

我需要的是

  • 安全框架的长度(红色水平箭头)
  • 安全框架的高度(红色垂直箭头)
  • 视口与安全框架之间的距离(紫罗兰色水平箭头)

enter image description here

1 个答案:

答案 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]