3
$\begingroup$

I have a character walking in an environment texture image (HDRI) and a camera pointing at him, if camera is just in the same position, ok!, but if camera is rotating or following a path, there is no relation between the walking charater and the background environment and in some circunstances it seems the character is walking backward (damn!). How can solve this easily? help.

$\endgroup$
  • $\begingroup$ I think you could use some backdrops between character and background environment. Due to distance, closer objects will seem to move faster, so you need backdrops closer than the horizon. $\endgroup$ – MCunha Feb 3 '17 at 10:55
  • $\begingroup$ You may want to watch this year's Blender Conference talk Proximity Light from HDRIs for Better Integration. $\endgroup$ – dr. Sybren Dec 30 '17 at 22:59
4
$\begingroup$

The issue is that the background HDRi is infinitely far away. Moving the camera parallel to a moving object will not create the illusion of movement, since the background will always be the same: there is no shift in perspective or elements that transform somehow.

A camera move like this

enter image description here

Will result in:

enter image description here

The HDRi is generated at a single point in space and is valid for only that point. So the only possible motion that would be realistic is rotation with no camera displacement. Any displacement would require different visual information for every position in the 3d world (like in Google Street view, where you have the 360 view for one point, translating the view will generate a completely new view)

In real life the motion in the background would be according to the distance from the camera to the object, objects that are close would appear to move at a faster speed than those very far away.

enter image description here

Possible solutions would be to use different layers of background planes that would move at different rates. In the far background the HDRi could even remain stationary without braking the illusion of movement.

As an alternative the moving element could move in a circular path around the camera and the camera just rotate following the moving object, the background would seem to move (when in reality the view is changing). This would create the illusion like it does in cartoons where the characters move in an ever looping background.

enter image description here

enter image description here

Alternatively the moving object could stay stationary and by animating the coordinates for the background, the background could rotate creating the illusion of movement.

In the World section of the Material nodes add a Texture Coordinate node and a Mapping node to control the placement of the Environment texture. By changing the rotation on the mapping node you can place the HDR where you need it.

enter image description here

enter image description here

$\endgroup$
1
$\begingroup$

I experienced this exact same problem in blender 2.77. I upgraded to 2.78a and my environment maps were no longer locked to the camera. One fellow on IRC stated that 2.77a worked fine for him.

$\endgroup$
1
$\begingroup$

You could rotate your HDRI based on the player's velocity as well.Like this, sorta

$\endgroup$
  • $\begingroup$ Please add more detail on what to do exactly, $\endgroup$ – cegaton Feb 22 at 23:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.