如何在3 frame中计算安全框架。在安全帧宽和高度的计算中,我想知道视口宽度和高度、渲染宽度和高度(高宽比)之间的关系。
我的最后一个目标是找出飞机左上角和保险箱左上角之间的距离。
我需要的是

发布于 2015-06-08 06:54:50
下面的MAXScript函数演示了如何计算给定视图大小和呈现大小的point2的安全帧尺寸的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]https://stackoverflow.com/questions/30700494
复制相似问题