prehistoric cave (Stereoscopic 360 degree panaorama for VR)

I’ve been trying to think of something interesting to create in blender, and with all the VR headsets coming out now I thought it would look amazing to make something fully immersive.

A bit of preliminary looking around shows that it’s possible to make 360 degree panoramas in blender, also with stereoscopic views! I wanted something that surrounds the viewer, so how about a cave?

My idea so far is to have two (more?) prehistoric humans sitting around a campfire in a cave at night.
I’ll start with a still scene, but hope to make it into a (looping?) video sequence in the end.

The viewer will be “inside” one of the people and will be able to look down and see themselves. To simplify things I’ll use makehuman. I think if I chop off the head of the person the viewer is inside and kind of squish the neck into a point just below the origin of the camera it will look ok unless the viewer looks directly downwards.

The point is for the viewer to look around, so in addition to the another person across the campfire I’m thinking to include cave paintings, rocks, some water? Any suggestions are welcome!

Here is the current state (colours/textures are just preliminary):
I have tested the images in Oculus 360degree photo viewer, but they should be compatible with any VR viewer.

(This image is not surround or stereoscopic)

Attachments


I messed around a while to get to this stage, so I will post some of my previous test images and experiments as well.

These are the blender settings I am using to generate the panoramas (blender 2.77):

First set the views to stereo 3D.
/uploads/default/original/4X/7/b/e/7be29cd7621b6166485af0c19339fed25e6c8680.jpgstc=1
Then select the camera and change it into a panoramic camera (equirectangular) and stereoscopy in “off-axis” mode.
Interocular distance (IOD) is slightly different for each person, but 60-70mm is typical.
I’m keeping the recommended convergence plane distance of 30x the IOD.


The convergence plane is the distance at which your eyes are looking at the same spot, so objects closer than this will pop towards the viewer (if looking at the stereo image on a flat screen), and objects further away will appear on the other side of the screen. The eye strain and difficulty focusing on close objects that you get when watching a badly made 3D movie is when something is too much closer than the convergence plane.

So try not to have any objects much closer to the viewer than this distance (a bit is ok).
The IOD also changes the perceived scale of objects in the scene, but I haven’t experimented much with it.

Finally in the output settings, use a 2:1 ratio of width vs height. A power of 2 may suit the hardware better, but is probably not too important. There is a lot of stretching in some areas of the equirectangular image, so high resolution is needed to keep the detail. I’m using 4096x2048 resolution for the final images, but normally rendering at 25% or 50% for testing. It took 1.5 hours on a GTX980 to render the current image in full resolution, with only 128 samples.


Selecting top-bottom “stereo 3D mode” doesn’t seem to actually do anything, blender still outputs separate _L and _R images. I’m using the following command in linux to stack them vertically in the correct position (uses imagemagick):
convert img_L.png img_R.png -append img.png

To stack horizontally use +append

Attachments




Test image for 3D panorama

Attachments


I’ve been trying to improve the look of the fire.
The actual fire simulation looks a little bit “muddy” but I can’t increase the resolution while still rendering on GPU.

I had an idea to improve the look of the logs though: Areas of the wood that are close to other objects stay hotter as the heat is not radiated away. Sounds very similar to AO where objects closer to something else receive less ambient light.

So I baked the AO maps for the logs and ash and am using them to control the emission of a hot glow.

There is no texture/bump on the logs yet, but I think the emission areas look pretty good.

Attachments


I have now added the people (using makehuman) and posed them.

The viewer is “in” a male body, in VR they can look down and see chest/arms/legs.
I chopped off the head of the makehuman model and placed the camera approximately where the eyes were.

Looking straight down of course it looks weird, but it is quite an effort to get your head looking fully down in VR anyway, so I think it’s not a problem.

A bigger problem is that the close parts cause eye strain as they are much closer than the convergence plane.
Not sure how to deal with that yet.

Across the fire is a female character, who will be looking into the camera.
I had to angle her and rotate the smoke domain so that her feet aren’t in the domain, as it caused some odd colouring.

Both will be wearing some kind of primitive leather/fur based clothing, I just added an approximate mesh for modesty so far.

Attachments


I have now added a heat distortion effect for the fire, as it adds some more movement to the scene and makes it a bit more interesting.

It is based on a technique from Richard van der Oost, using particles with particularly coloured emission shaders as the input to a distort node in the compositor.

Here is the effect (rendered without flames).
I think it is a little bit too strong at the moment, I’ll keep tweaking the particle size and distortion amount.

I agree, the distorsion is to strong and obvious for my taste asswell.
Also put some more detail to the wood too, and I do not mean to add the woody textures and bumps, but make them less like a parallelipiped shape ( it feels like the wood is coming from a fence that blocked the entrance to the cave) and instead more like it is coming from the near forest.


Other than that I am sad that I do not have an VR headset:spin:

Attachments



Hi ColorPixel, thanks for your comment.

I agree the wood could do with more of a raw fresh-from-the-woods kind of look.
Currently it is more like chunks cut by axe.
I’ll replace the split logs with more natural uneven branched logs, and some thinner branches might be good too.

Also I want to add many small burned bits of wood, so I might as well do it all together with a physics simulation for placement.

I’m mainly posting normal camera images as they are easier to see on a normal screen, but it already looks pretty nice in VR.
Hopefully by the time I finish this you will have a VR headset :slight_smile:

Looking at your images, it missed the option for spherical stereo, which will look incorrect… as in the 3d will be totally correct straight ahead… at 90 degrees there will be no 3d effect… and 180 degrees (behind) it will be inversed.

you need to make sure you are using a nightly build (https://builder.blender.org/download/) otherwise it wont work correctly… once you have downloaded it, open up your file, and under stereoscopy enable spherical stereo

Thanks for that tip doublebishop, that really improved things!
There is no eye strain any more now, even for close objects like “the viewers” shoulders.

I suspected the stereo was being inverted behind the viewer but didn’t know about the spherical stereo option in the latest builds.

It’s good to see another Aussie on these forums too (though I’m in Japan now) :slight_smile:

Here is a full 360 degree stereoscopic render with spherical stereo enabled:

Attachments


Today I had a go at improving the look of the ash in the fire.
Since I’ll be redoing all the wood, I need to sort out what is underneath it first.

I decided to use a physics simulation and a group of chunky ash-like objects to get the complexity and randomness of ash.
A baked AO map is used to control the emission shader, as I described before for the logs.
I’ll bake it again and tweak the brightness when logs are added later, as other nearby objects in the fire will change the distribution of heat.

This is a proof of concept, not the final result, so any comments or suggestions would be appreciated!

For now I think:
Glow is a bit too hot/bright
Glow should reduce further from the fire, eg the scattered pieces
Sharp edges from low-poly objects are ok, the fire and heat distortion will mask it.
The big chunky pieces might be better placed manually.

Attachments


I adjusted the particle emitter to have slightly fewer big chunks, and concentrated the pile a bit more so it is less flat.
Adding a radial gradient to the glow really makes it look a lot more realistic.

I’m pretty satisfied with the ashes now, and will move on to the sticks/logs on top.

Attachments


those are some nice looking ashes, good work!

Great results :d love to see how they add up to the whole setup. Keep up the good work!

Great job with the ashes. I’m loving it!!

I have been modelling some more realistic wood as suggested by ColorPixel.
It now looks a lot more irregular and natural.

The “broken” ends of the smaller pieces aren’t so great, but will be mostly masked by flames/texture so are acceptable.
The AO map was re-baked with the logs in place, and now has a nice strong glow under the central log in particular.

Next step is to texture the wood.

Attachments