Notifications
Clear all

[Closed] Tricky viepwort aspect ratio switching problem

I’m working on a 3DS Max previs tool so artists can see their work as it would be framed on various mobile devices.
The Basic aspect ratios To support art 4:3 and 16:9.
unfortunately The way unity switches aspect ratios differs from the way 3DS Max does it.
The following Max screenshots explain it better than words can.

Starting with the 4:3 aspect ratio:

When Max changes to 16:9 image area is zoomed in to match the new width.
this effectively cuts off areas above and below relative to the 3:4 version

In unity, the image area is unchanged, the view simply expands to the sides

Basically, Max achieves 16:9 by squeezing the frame vertically, while unity expands the frame horizontally.

So…I’d like to force max to behave the unity way.
I’m pretty sure its a straight forward math issue
but I can’t math today.

4 Replies

is it just to show an artist ‘render frame’ for a reference? might it be easier just show safeframe, render region, or draw ‘actual’ rectangle yourself? (the last solution i’ve used)

the purpose is to see how much of the game environment geometry is visible at different camera angles, and both aspect ratios.

We are using safe frame, but as far as i know this safe frame is not adjustable beyond changing the render settings (which causes the problem in the first place)

So, drawing the rectangles seems to be the best approach.
How do I go about that?

can you adjust the fov to match ? if it’s 45 in 16:9 then it’s 45/1.33333 in 4:3 ?

I was a little simpler than that. What happens is that Max retains the field of view width by secretly adjusting the FOV when the ratio of renderHeight : RenderWidth changes. AllI had to do was reinforce the desired FOV settings after adjusting.

With a vertical FOV of 35:

fn HDcam cam=(
	renderWidth =(renderHeight  as float *1.77778)
	cam.curFOV=35
)

fn SDcam cam =
(
	renderWidth =(renderHeight  as float *1.33333)
	cam.curFOV=35
)