Do real world unit scales affect renders in Cycles or EEVEE?

(chippwalters) #1

There are many renderers, KeyShot, Vue and Unity to name two, where correct scene and object scale is a factor to render quality.

Does anyone know definitively if this is the case for Cycles? What about EEVEE? Is there a better place to ask this question? @eklein ?

1 Like

(CarlG) #2

Cycles will get into issues with lighting being to scale if the scene is not to scale, so any supplementary lighting assets would likely fail miserably.

Sometimes I will do the modelling at much higher scale, then scale it down (and apply scale!) because it makes life easier.

Grand scenes you shouldn’t model to scale - even relative scale is problematic - but rather scale the lighting. Such as a solar system to take a rather extreme example, as floating point accuracy will hurt much faster than you expect. I don’t know much about Eevee, haven’t tried scale things there.

0 Likes

(chippwalters) #3

Thanks Carl, that all makes sense. I know from work done years ago in Vue you really can’t real scale large outdoor scenes. Your point about Cycles using real scale is most helpful.

I’m curious as to why:

If you set up your units correctly, and clipping regions, wouldn’t Blender be as accurate at smaller scales as well as larger scales? Or am I missing something?

0 Likes

(CarlG) #4

Maybe, I really don’t know. that’s just how I chose to deal with it. I used to do reset to factory settings for each daily build in alpha and beta stage, but it became too cumbersome to setup clipping in all the editors. Maybe I’m doing it wrong, but it works for me :slight_smile:

1 Like

(sundialsvc4) #5

Well, as far as I know it still boils down to “blender units.” In essence, scale is relative between the various things that are on the set, and the set itself. I do believe that if you import something that references real-world units, that will be considered too.

Still – “if you get the scale wrong, nothing will ever look right.” Especially when you start moving the camera around.

1 Like

(CarlG) #6

What’s the camera got to do with anything? If the overall scale is ten times bigger, nothing will change wrt to the camera? Maybe except clipping, but that would probably have been set prior to rendering out an animation anyway. Does it affect DOF in any way?

I can understand modifiers, particle and physics stuff may be affected, but not camera movement.

0 Likes

(Gavin Scott) #7

Yes, since Cycles (and Blender in general) uses single-precision floating point for coordinates in space, you only get something like 33,000,000 “places” in the whole universe (on each axis) where a vertex can be located. So if you try to model the Earth to scale, then try to model a teapot sitting on the surface of that enormous sphere, then you run into a problem because you can only put a vertex about every half meter in space.

So relative scale is a problem when you want to have enormous things and tiny things together, and in general it all works much better if you avoid extreme excursions from the default Blender scale. If you keep things within a km or two of the origin at the default scale then the math should all work without going pear-shaped.

0 Likes

(Eric Klein) #8

Eevee works fine with large scales, something that can be done when working with outdoor landscape scenes.

Warning their is a need to extend all the default clipping ranges for lights, camera and viewport focal clip end. Floating point could be issue when rendering small object in a large scale scene.

See below test Eevee scene the plane is 10000m X 10000m, Sphere 300m radius and a cube of 200m. The extra large test file: ExtraLargeScene.blend (890.1 KB)

Eevee render for extra large scene:

0 Likes

(chippwalters) #9

I’m not really asking about an extreme dynamic ranges in scales. Say you have a room setup in real scale meters, then you scale it up 1000 times. So a 1m countertop is now 100 meters high. Does the EEVEE internals take into account the scene is now much larger?

I know things like irradiance probes need to be adjusted, as does AO distances. What else?

Same for Cycles. Does the Cycles engine take into account those types of scales differences? Do either of them “understand” Imperial vs Meters?

0 Likes

(joseph raccoon) #10

Applying scale is not always in your best interest when it comes to renders, now say for instance you get a suzzan and add some SSS to her shader and then scale her up and down, you will see that the larger she gets the less effect SSS is actually having, now if you use some drivers and a little hackish abuse of a color multiply node you can get a suzzy that will keep her SSS properties mostly the same when you scale her up and down ( it is not perfect, but it works well enough)

Now point lights are still going to be wonky with this, but sun will work just fine, and you know what…that is kinda how it should be anyway, simply put a lightbulb puts out far less energy then a star.

0 Likes

(chippwalters) #11

That is not what I’m suggesting. I’m trying to understand what effect improper scale has on rendering with regard to these two render engines.

Scale has a huge effect in other engines, as I’ve noted above. Who would be the person who would know? And specifically does Imperial vs Metric matter?

0 Likes

(chippwalters) #12

So, I guess with the inclusion of watts as a unit of light measurement, I should assume accurate scale is therefore honored and important. I still wonder if the watts setting honors both Metric and Imperial.

Question: are IES lights supported?

0 Likes

(Metin Seven) #13

In Cycles scene scale definitely matters. Due to the path tracing approach, refraction, refractive caustics, light falloff and other light phenomena behave differently if the 3D scene scale does not match real-world units. For example, light rays will have a much harder time traveling through glass with a thickness of 1 meter.

Eevee is a different story. Although it does calculate some things realistically — such as light falloff — it doesn’t work like a ray-tracer. It’s more based on trickery to gain rendering speed.

0 Likes

(joseph raccoon) #14

Keep in mind that Imperial and Metric are translations of blender units (which is scaled the same as Metric) into a human friendly format, but Most of blenders light calculations are based on the in world size of the object, but if say you wanted to port from blender to UE4 then you are going to need to adjust blender so that it lines up with UE4 units, what I’ve found that works best for me is I use the default fbx exporter and manually adjust the scale radius’s of anything I am painting in the shader I build.

A really problematic thing with each render engine is that their maths are all copyright safe approximations of an approximation of how it works in the real world that is built within a render engine that has a slew of programming limitations that they need to over come.

0 Likes

#15

The important thing is to keep the brightness of the light sources in sync when you change the scale of your scene. With a point light source, the brightness of any given point on a surface is proportional to the energy of the light divided by the square of the distance to the light. If you want to change the scale of your scene and get the same results, you need to take the amount that you are scaling the scene and increase the brightness of all the lights by the square of that amount.

0 Likes

(yogyog) #16

Apertures…

An aperture of F-stop 5.6 is 5mm wide. If you are not using real-world scale, this will be off, and the depth of field will not be realistic.

Rule of thumb - if things are on a human scale (i.e. smaller than a skyscaper and larger than a USB pen) it’s best to have them be the correct size. For things like solar-systems and singular celled organisms it’s best to just make up your own scale or do it by eye.

0 Likes

(chippwalters) #17

Thanks. All good feedback. As far as EEVEE goes, I recently rendered a castle courtyard and saw where the irradiance probes need some adjusting to work properly. Same with AO.

0 Likes