I’m working on assets for a pre-rendered graphics game (ie old school diablo 1-2, runescape, etc). An issue I keep running into is orthographic camera scale:
The setting is such that it is independent of resolution (Output > Format > Resolution
). This makes sense from an animation perspective, changing the resolution should not change the zoom level. But from a pre-rendered graphics perspective, it’s a bit of a hassle. I have no easy way to assert that 100 pixels.x == 1 meter, for instance.
What I have to do right now for each model is:
- zoom in
- modify resolution to change the x/y scale of my framing
- repeat 1 and 2 until I get a nice crop
- whichever resolution is bigger (x or y) set that to being equal to some constant * my scale (for instance, at a scale of 1 I know that my biggest resolution should be 100 pixels)
- re-scale my resolution (the smaller one) to have the correct framing
- done
What I would prefer is a checkbox that switches to a “pixels per meter” mode. At 100 px per meter, looking perpendicularly at a flat plane of 1m x 1m, each pixel in the rendered output would be .01 meters. A render resolution of 100 x 100 would just fit the whole plane. A resolution of 50 x 50 would crop to a smaller portion of the plane. Changing resolution would act like cropping (ie zooming).
Before getting started, does this seem like a feasible first project? I’m a dev with 20 years experience, but I know most of this is about navigating a large unfamiliar codebase.
Also – if it is feasible – is this more of an add-on, or actual change to Blender?
Or, perhaps, is this better done as a script? Once I have my framing figured out, changing the output resolution to be correct is only a matter of simple math.