Jump to content

Pivot point for Cubemaps and Dynamic Reflection


photo

Recommended Posts

We have noticed that on export that all surfaces in a mesh used the object pivot point when calculating cubemaps and dynamic reflection.

 

The results are that the reflections from surfaces not close to the origin do not look good.

 

I would like to suggest that the cubemaps origins are centred on each surface rather than the mesh origin.

Link to comment

Hi Unigine Crew,

 

This is a good request to change to the method used to calculate dynamic reflection and reflection cube maps.

 

The current method appears to calculate the cube maps from the pivot of the mesh. This is not ideal and causes wrong reflections on reflective surfaces (we know there is an adjust value - but this is impractical to use on mass).

 

eg. car glass and car bodies - where the pivot is at the base of the object. - currently wrong reflections

eg. buildings / objects exported at world locations. Pivots are sometimes a long way from the centre of surfaces and impossible to line up manually.

 

Other engines we use calculate the bounding box of each surface within the mesh that contain shaders similar to unigine "mesh_cube_reflection_base" and create cube maps oriented and based on the center of the bounding box surface bounds.

 

The main reason for this is:

1. To calculate more accurate cube reflections

2. To optimise workflow.

 

PS. Why are 2 surfaces required for reflection and refraction - one for each shader?

Why not have an additional shader option on mesh_cube_reflection_base so it can be both. We hacked one a while back and it worked ok.

<material name="mesh_reflection_cube_base" parent="mesh_base" editable="0">

 

<!-- states -->

<state name="refraction" hidden="0"/>

 

 

Regards,

Nat.

Link to comment
×
×
  • Create New...