Camera orientation in rhino / 3ds max (silhoutettes in rendered images dont match)

unhandled

(Anika Boeller) #1

Hi.
Im trying to blend rendered images out of 3ds max with perspective linework (make2d) out of rhino.
i positioned the cameras at the exact same locations, chose the one lens/one ratio. they dont line up in the testrenders though…

does somebody has any experience with this?

cheers.


#2

Hi Anika, maybe that helps:


(Anika Boeller) #3

hi Jarek. thanks for answering… i still cant wrap my mind around this though.
So you are able to render out of max and rhino and both are giving you the same render outlines?

In max and rhino i rendered 1000:750 px/ ratio 1.33, on the same computer (same resolution), and with the same camera presets/locations…
there was a significant difference, so i increased the lens from 35 to 37mm vs 35 mm in Rhino… this was the a closer match…

could it be that the cameras are calibrated differently?

when i rendered in vray for rhino and rhino render they lined up exactly…


#4

It’s…complicated.
I came up with the above matching method long time ago based on math coming from @SamPage explanations:
https://wiki.mcneel.com/rhino/rhinolensing

All in all Rhino and Max handle that differently, so simply using the same camera/target/lens is not enough for perfect match. View size and monitor aspect ratio matter, too.
Maybe there is a better way, but above should work.

–jarek


(Anika Boeller) #5

ok. my laptop is widescreen, 1920x1080 = 1:1.77 …
if i got you right its not possible to to get right according to your method?


#6

I would try to run Make2D in a viewport that has 3:2 aspect ratio (say 900x600). You can use new floating viewport and change its size from Properties panel. Maybe it would work. The screen aspect ratio was definitely needed to when matching Rhino viewcaptures, not sure about Make2D. Sorry, i am not able to test it for the next few days on my end.


#7

I don’t have Max, but from what I recall someone, and perhaps that was @Jarek, figured out that Max’s camera behaves “opposite” of Rhino’s when using an aspect ratio that is not 1.5:1.

Both cameras try to emulate a 35mm camera with their lensing, which has a film gate size of 36mm wide by 24mm tall (which works out to a 1.5:1 aspect ratio). The issue is that in both Rhino and Max you can have viewports that are not 1.5:1, so what does that do to the emulated film gate size? In Rhino, the minimum film gate dimension is always 24mm. What that means is lets say we start with a 1.5:1 aspect viewport, so Rhino is emulating a 36mm x 24mm film gate. as you stretch that viewport wider to say 2:1 aspect, the minimum film gate dimension will be 24mm, that means the gate width will expand to 48mm

In Max as far as I understand, the maximum film gate dimension is 36mm, so as you stretch a a viewport beyond 1.5:1 to 2:1, the gate width will always be 36mm, but the gate height will change to 18mm to get to the 2:1 aspect ratio.

With a 1.5:1 viewport ratio, both Rhino and Max have a 24mm x 36mm gate and should look the same with the same lens. If you stretch the viewport to 2:1, Rhino will have a film gate of 24mm high by 48mm wide, and Max will be 18mm high by 36mm wide. In order to have the same horizontal field of view in this aspect ratio, you would have to multiply the Rhino lens by 1-1/3 (48mm / 36mm), so on a 2:1 aspect viewport, to duplicate a 35mm lens in Max, you would have to use a 46.667mm lens in Rhino.

So the TL;DR, to match lenses, first both Rhino and Max viewport aspect ratios need to match. 1.5:1 is the easiest because at that aspect, lensing will match (in Rhino, viewport size and thus aspect can be set explicitly using -viewportProperties)

To match a Rhino lens to Max, RhinoLensLength = ((24 * [aspect ratio]) / 36) * MaxLensLength

where [aspect ratio] = viewport width / viewport height.

Sam


(Anika Boeller) #8

haha. damn… this is getting even more complicated… i have to go through this with some tests! thanks a lot both of you!

btw i just tried to paste camera parameters manually from sketchup to rhino… also doesnt line up unfortunately… i think im missing some basic understanding of how software handles viewports/cameras.


(Anika Boeller) #9

ok. all good now.

floating viewport is key. would be great if one could lock it. or even better:
like in blender always frame the camera boundaries within the viewport.


(Pascal Golay) #10

Hi Anika - use SafeFrame to see the camera boundaries in the viewport.

-Pascal


#11

Great. So what steps did you take to make it work?


(Anika Boeller) #12

safe frame alright…

but it also adapts to the viewport dimensions… you would need something that locks the camera position… a lock icon beside the Camera, Target, and Viewport proportion ratio…
but in general i think it would be good to keep viewport ratio and camera ratio apart… behaviour then schould be: if i resize the (floating or not) viewport the safe frame zooms in proportionally.


(Anika Boeller) #13

Hey Jarek, thanks for your help!

so:

  1. make render viewport a floating viewport, input viewport dimensions, save as named view/dont touch it
  2. copypaste camera location, target, and lens parameters into blender/max… havent tried sketchup

… then it worked. i used 3-2 ratios just in case…will test other ratios soon though…