Wish: fix viewport ratio

unhandled

#1

Hi,

it would be very useful to get an option to fix the ratio of an viewport to avoid unwanted zoom effects at the render output. For example it’s a big problem for Enscape.

-Micha


(Nathan 'jesterKing' Letwory) #2

Do you mean like this?

image

Doesn’t that work for your rendering work?


#3

This options locks the Rhino renderer to the viewport ratio. But I need an option to lock the viewport, since Enscape isn’t using the render options.
My problem is, that every ratio change of the viewport cause a different view angle at Enscape. And so, renderings from one day doesn’t match the renderings from an other day. I started to set the viewport size and check it all the time.

It could be useful to get a ratio option at the UI here.

Thank you for your effort,
Micha


(Nathan 'jesterKing' Letwory) #4

Is Enscape a render plug-in, though? Or how does it work?


#5

Enscape is something like a render plugin. It’s using the Rhino materials and send the scene to a VR window, where the scene is shown in real time. The quality is impressive, the material system is limited. It’s a mix of game and render engine, best for architecture viz. An interior is shot in seconds.

If you like, give them a try, it’s an experience.

Typical the Enscape user press a button combination and a screenshot in any resolution is saved.

I got an idea for a workaround now. I could use a fixed viewport size per buttonscript all days. The Enscape output size is defined at the Enscape options and will not be affected. So, I will get a stable output.

! _-ViewportProperties Size 900 500 _EnterEnd
_EnscapeTakeScreenshotCommand


(Nathan 'jesterKing' Letwory) #6

Right, I think it still would be useful for Enscape plug-in developer to also look at the render settings to see if aspect ratio is locked, and from there do necessary calculations to get the correct resolution.

Using a button macro sounds like a good option, too.


#7

Thanks Nathan. :slight_smile:


#8

Having a viewport ratio lock is needed in many scenarios.

Floating viewports are not remembering size either.
Matching a camera to a Background image and resizing the view makes the camera no longer in sync with the background… needless to say that this is wrong behaviour.

What you render should always fit in the view (the safe frame should never be cropped)


(Nathan 'jesterKing' Letwory) #9

I was about to log a YT item for this, then I noticed there is already an old one: https://mcneel.myjetbrains.com/youtrack/issue/RH-2139

I am not sure if it can be set to public view, @stevebaer has a better view of that. I’ll add a link to this discussion at least.


(Pascal Golay) #10

Hi Micha - if your view is saved as a named view, then the aspect ratio can be saved with it, so restoring a named view will also restore the aspect ratio -

image

Dunno if that helps in your exact scenario, but just throwing it into the mix.

-Pascal


#11

Hi Pascal - interesting new Rhino 6 feature. I tested it now and it seems to be that the key for a successfully usage of this feature is that the ratio is right set at the moment of saving the view. My current projects views was saved without to keep this in mind and now, if I switch from view to view the ratio is corrected to different ratios. So, I don’t get a clean fix ratio. (Side effect - every automatic ratio correction cause a smaller scale of the viewport. After a few corrections the viewport is quite small.)

And if I had checked the ratio before saving the views and kept constant than how could I update the ratio of all views, if my client like to get a ratio change?

For complex scenes I have dozend of views. I think, it would be helpful if the view manager could get an extra option like “use render output ratio”. So, the render users could get viewports matching the final output and the general ratio can be easy changed. Sounds good or?

If this way would be gone for Enscape it would help if Enscape synchronize the Rhino render output size to the Enscape output size.


#12

In case you need it I have a button with a macro that maks a new floating viewport with a fixed size that I use for rendering.

! _NewFloatingViewport
_Projection=CopyActive
_-ViewportProperties
_Size
1920
1080
_Enter