• 1/3

Stereoscopy in 3ds Max with StereoCam Modifier

Posted by Louis Marcoux, 2 December 2009 7:00 pm

This week, i am posting the videos that i have prepared for the 3December event. The blog post covers a wide range of knowledge on making stereoscopic CG with 3ds Max. And, most of all, you will learn the basics of making comfortable CG Stereoscopic images by taking the projection setup into consideration. 

3December Event

The 3December Online event was held last week and 6 master classes were made available for your viewing. You can find very interesting presentations visiting the dedicated page on The area:

http://area.autodesk.com/3december

There is a couple of 3ds max presentations including one from Liquid Development on the assets development for The Beatles : Rock Band game. My colleague Eddie Perlberg also does a presentation from the show floor at AU.

3December happens every year on that date and you can find tons of new material on the Area and you can attend live events in various cities around the world.

Stereoscopy videos

In order to make everybody aware of the videos i have produced for 3December, i decided to include them in this blog post. This way, long after the event will be over, you'll be able to refer back to those videos and use them for your stereo production. Also, because there is a comment section at the bottom of the page, we'll be able to continue the discussion about stereo and how to achieve great results within 3ds Max.

The videos are the most recent ones i have produced on stereoscopy. They contain new learning and concepts that i have never covered before. So, i hope you will be able to learn something new from them. I know that there are a lot of Power Point slides but those videos were intended to be a master class and it was the appropriate format for this presentation. I hope you won't mind... But don't worry, there are 3ds Max examples in there too...
At the end, you'll see that i use a Max Script that i wrote to make stereoscopic shots. The script is included below and you can use it/modify it as you wish.

Basics

Overview f the basics concepts related to stereoscopy. It's a good refresher before getting into the technicality of producing stereoscopic images.

Projection Technologies

A very brief overview of some of the technologies available today for viewing stereoscopic images.

Comfortable Stereoscopy

In this video, i review all the considerations that needs to be made to produce comfortable stereoscopic content.

Comfortable Stereoscopy | Practical Example

In this video, you'll use the rules of comfortable stereoscopy to produce a stereo image for a given setup: my office...

Stereoscopy as a Story Tool

Here, we'll see how stereoscopy can be used as a tool to better tell stories because, like many other camera effects, stereoscopy can generate emotional responses with the audience.
 

Stereo Camera Modifier in 3ds Max

This is the instruction manual of the 3ds Max modifier called "Stereo Camera". I wrote this modifier for my own use but you can download and use it in its current version by following what is explained in this video.

You can download the Max Script here:

userdata/fckdata/4952/StereoCamModifier_V1_7_3.rar (updated on july 25th 2011)

Please note that this script is not supported by Autodesk. If you find issues and limitations, you can let me know in the comments section and if i have time, i'll try to improve it. But, there is no guarantee that i will respond to every wishes that are made. If anybody else wants to work on the script and improve it, you are more than welcome to do so and share with us!

notes on june 15th 2010 update (V1.7.2):

  • added Toe-in vs Film Offset slider to blend between the 2 convergence methods
  • fixed the vertex error in languages other than english
  • made the anaglyph preview faster
  • added an option to unhide the cameras for rendering setups that have issues with the skew modifier when cameras are hidden
  • added an option to see all the camera frustrums
  • added color options for the colored filter glasses (you choose which colors to use for left and right channels depending on the glasses you have)
  • option to preview in grey mode or original viewport colors
  • added a "setup batch" button that adds the 2 stereo cameras as views in the batch renderer dialog (important: if you press this button while the dialog is opened, the views will not update. Close the dialog and reopen to update the views that have been added)

notes on July 25th 2011 update (V1.7.3):

  • Force a complete viewport redraw so that the preview function works in the new Nitrous viewport (2012).
  • Made the stereo zone's materials 2 sided so that they can be viewed correctly in the new Nitrous viewport (2012)

 

Viewing Stereoscopic Animations

This videos covers a few techniques to produce content for stereo viewers.

Conclusion

Few conclusion notes.


 

74 Comments

Louis Marcoux

Posted 10 December 2009 12:58 am

Yes. You can do animations.

uwe ziese

Posted 10 December 2009 7:44 am

Thank you for the good tutorials.

Best regards

Uwe

Louis Marcoux

Posted 11 December 2009 2:46 pm

As explained in the videos, the FOV changes because it is part of what the rig is all about. When you want to reproduce the real life point of view of a screen from the audience, the FOV is the main aspect being affected. In the videos, i also show how to setup cameras yourself with the skew modifier. It's not automatic but it will do exactly the FOV you wish for and the setup won't change the FOV for you.
For real time preview, someone suggested to me to write a screen fx shader but i have no experience in HLSL so i won't be able to make that happen. At least in the short term. If anybody knows how to do this, let me know...

gene

Posted 14 December 2009 4:14 pm

thank u louis for the tutorials.... for a 720*486 rendering is i had to change the pixel aspect ratio to 1 in the max rendering menu ..... thanks

Louis Marcoux

Posted 14 December 2009 4:19 pm

That's a good point... All comfortable stereo zones are calculated assuming a pixel aspect ratio of 1.0. The pixel aspect ratio will have an influence on the projected pixel separation...
I'll think about integrating that factor in the script. I have some ideas... Thanks for the comment gene.

Escobar

Posted 19 December 2009 1:41 am

thank you!!! i'll try to do it by myself!

Swahn_Kung

Posted 22 December 2009 11:34 am

Excellent explainations and script!

I took the liberty to customize the preview buttons into two different buttons wich lets you pick either red/cyan or green/magenta depending on what type of colours your anaglyph glasses have.

Quite easy if you have basic knowledge of MAXscript!

jseance

Posted 17 January 2010 4:46 am

First of all, thank you for the script it is useful. Most of the modifier works except the create preview. I get an error message that says unknown property: "EnableButtons" in undefined. I am currently using Max2009 so I don't know if that has something to do with it. I'll appreciate it if you can give me the answer.

thanks
javier

Louis Marcoux

Posted 25 January 2010 4:24 pm

Good to know! I'll update the script with some of the modifications and improvement i intend to do before summer... I didn't know about that Vista problem. I don't have Vista on any of my computers...

For the german version, i would need to review the script and see where that breaks... I am a bit suprised, it's like if the properties were also renamed in versions other than english...

Make sure you are on 2010 because i used some 2010 specific scripts improvements for the script...

And the script is there to be modified. I appreciate your input egz. It's great to see that the script is readable enought to be modified and adapted by others...

Swahn_Kung

Posted 9 February 2010 8:41 am

Hey Mr. Marcoux i assume you are a busy man, but is it possible to add functions for a parallel camera mode as well?
I not sure if the same set of rules applies to parallel shooting as with convergence shooting, because it would be nice to have all the visual zone indicators showing properly.

If working with CG-3d integration many production companies resort to parallel shooting the live action because of the time saved and easier/cheaper setup.

nedsknees

Posted 9 February 2010 1:30 pm

George, just do 'Run as administrator' on 3dsmax.exe. It is because of the User Account Control on Windows 7/Vista. When the stereo camera script runs it tries to create and edit an *.ini file in c:/program files/3dsmax/plugcfg and you need adminstrative privileges to make changes to that folder.

Hi Louis. Excellent script, just a few suggestions as follows.

1. In your next update any chance you can add another zero to the upper range limits for Viewer Distance and Horizontal Size for those of us who work in metric units (currently only 1000, needs to be bigger e.g. 10,000), 1000mm is not very long.

2. Stereo camera object only works properly in the viewport in DirectX9, for some reason when using DirectX10 it makes the comfort zone objects one-sided so you can't always see them, tried changing transparency quality but it does not make any difference. Not a major problem, just thought i'd let you know in case people are having display problems.

3. The following would be my priorities for further development i) a proper Target Camera option, ii) sorting out the problem with leftover parts when deleting the base camera, iii) the ability to vary the range of the comfort zones

Louis Marcoux

Posted 9 February 2010 3:17 pm

Swahn: the setup i am doing in the script is parallel based with asymmetric camera frustum (with the skew modifier). When shooting with real cameras, cameras should be parallel but you need to trim the edges of the images to make the stereo pair converge. Converging the camera's direction into one point (rotating cameras) is a trick to avoid trimming the stereo pair but it introduces keystone effect on the edges of each image. So, parallel is better to avoid distortion but you need to trim. Camera can offet the register plate to avoid trimming. That's easy in 3D CG but it real life, it takes super precise mechanism that are not cheap.
Any, my stereo rig in the script is parallel and i "trim" by offetting the register plate with the skew modifier.
For real life matching, i would encourage you to build a more sophisticated rig where you can adjust each camera individually and be able to rotate them up/down to repest the errors introduced by real life cameras.

Nedsknees: You are right about direct X issues. I face the same issues here. I think i will explore other options to display comfort zone. Also, all your suggestions are good. If i find some time soon, i'll try to update the script with some of those... I have a "to-do"list for that script that is growing up! For the comfort zone variations, that all depends on the interaxial and the convergence plane. But i want to introduce the concept of "stereo budget" which is quite common in stereo 3D productions. So i want to allow users to plan a depth budget and see it in the rig... Another thing on my list...

Thanks for all the comments.


Swahn_Kung

Posted 10 February 2010 12:16 pm

Thanks for the info Louis!

raven_man

Posted 12 February 2010 2:35 pm

My, just seen the tutorials, GREAT!, one problem i was looking forward to see how to use the rendered images to create videos that can be viewed stereoscopic with nvidia shutter glasses DepthQ 3D-projector. Can this be done in after effects nuke or some postprod software?

Louis Marcoux

Posted 12 February 2010 2:46 pm

nVidia has links on players that you can use for stereoscopic content. There are a few encoders available on the web to playback stereo content. And a few stereo players are available too and they support various types of hardware. When producing stereo content, you better create 2 image sequences and use them later to encode using the recommended encoding for the hardware you have. Most hardware manufacturers will recommend players and encoding for their device.
Side-by-Side video stream is easy to reproduce in any compositing software like Combustion or any other Autodesk Compositing solution. It's just a matter of putting the two images side-by-side and scaling them by half (horizontally) to make them fit in the output resolution.

kaczorefx

Posted 12 March 2010 5:30 pm

OK, I check it and in Max 2010 x64 the Skew modifier on a camera doesn't render.
It affects the camera view in vieports but not in renders.
That's what everyone is experiencing.
If you turn of skew modifiers on the left an right cameras the anaglyph preview looks like the renders.

Does anyone have an idea why this happens?

skeewhiff

Posted 12 March 2010 9:51 pm

Hi again,

Here is the link for the plugin for those who are interested. Its a video post tool, so kick it old school and try it out:

http://maxplugins.de/max2009_32.php?search=&sort=Author

Louis Marcoux

Posted 30 March 2010 2:23 pm

I see that some people are having some issues with the script... I wrote the script on max 2010 64 bits and it works well for me with this version... I know it's not full error proof because i wrote it without thinking about other use than mine... I decided to share because i found it useful for me and i hoped it could be useful for other people to expand from what i have done...

By doing these tutorials, my intend is not to be a tools developer but to give you the knowledge to expand and build your own work techniques. When i learned about stereoscopy, i decided to write that script to help me setup the cameras since it was always the same maths to perform and i got tired of repeating the same maths over and over again... But, i will reiterate what i said in the text of the tutorial: " I wrote this modifier for my own use but you can download and use it in its current version by following what is explained in this video. Please note that this script is not supported by Autodesk."

I want to continue to work on this script in my free time but i can't make any commitment. I take notes of all your comments because they will help me build a better tool when i have the time to do it... But, if you want to modify the script and improve it, please got for it!!! And if you can share your findings, even better!!! I know someone else did and it's a very cool setup (look in the comments to find who and where you can find it).

Anyway, just to reinforce that if the script doesn't work on your setup, i suggest that you look at the videos again to build your own manual camera rigs. It a great learning experience and maybe you'll come up with better execution techniques than mine.

And, please, share your findings!!! They will be useful for everybody.

Louis Marcoux

Posted 15 April 2010 2:51 pm

about the 1/30 ratio...

In the videos, i explain the full maths behind how you need to preserve the ratios between different virtual elements and real life elements (cameras, distance, etc). The maths can be overwhelming and a bit too precise... If you make an average of all of the common projection setups (home, theatres, computer screens, etc), it goes close to 1/30. So, when you want to do it quick, it's a good first estimate for many projection setups. But when you start to project of very big screens or untypical projections setups, that's where you need to be a little more careful and use precise values.

The rule of the 2 degrees. More maths to be more precise...

In the videos i have built here, i don't talk about a fundamental rule of tolerance for pixel seperations. Some studies have shown that from the viewers point of view, a pixel seperation of more than 2 degrees becomes uncomfortable. If you make a rough estimate of where this happens in the 3D scene, it correspond to about half the distance between the convergence plane and the cameras (and same distance beyond the convergence plane) when all the ratios are being preserved. That's the assumption i make to simplify the setup and the maths but if you want to be super precise, you can use this 2 degrees rule. If ever i get some time to re-work the script, i will probably use that rule instead to be a bit more precise when defining the comfort zones in the scene.

But in the end, when you look at a stereo image, you need to follow your intuition. If you look at an image that respect all the rules and that should be comfortable but isn't, then readjust the interaxial and reduce the stereo effect. If you want an audience to watch a long movie in stereo, you need to make sure they don't get a headache before the end...

I have gathered so much comments and suggestions from this thread and emails that when i will get a chance, i'll work on V2.0 and improve it... Now, with 3ds max 2011 being out, i am super busy but i'll try to get some time soon to make a few improvements.

For those using 3ds max in a langage other than english, there seems to be an issue with certain properties not being recognized. I'll investigate on that aspect to find out how i could work around that.

Thanks for all the feedback.

robocop

Posted 15 April 2010 3:33 pm

thank you Marcoux!
very good answer.
but.. i`m little curious - why "rule of the 2 degrees"
as i know - there is "1 degree rule"
http://www.stereoscopy.com/library/waack-ch-4.html
it`s mean that degree must be less then 70` (minutes)
70minute=1.1degree

Louis Marcoux

Posted 15 April 2010 3:46 pm

one degree to the left + one degree to the right = 2 degrees... You lost me with the minutes...

So, essentially, you imagine a line between the screen and the viewer. Pixel seperation on each side of the line should have a maximum on one degree. Total: 2 degrees.

It's a very interesting rule because it quantifies the comfort zone a bit better than the "half distance" approximation.

But again, it's all about human perception. Some stereo might work beyond the 2 degrees rule and some stereo might not work even within the 2 degrees rule.

robocop

Posted 15 April 2010 4:30 pm

yapp! i got it!

Louis Marcoux

Posted 16 April 2010 1:43 pm

regarding FOV:

Yes, it is fully normal that the camera's FOV is being affected by my scripted setup. What i am trying to do with this script is to replicate the exact physical conditions of the image being projected on a screen and seen from a viewer at a certain distance. This is crucial for good stereoscopy. If you don't take this into consideration, you end up with very random results. Our main goal when making stereo images is to make it comfortable.

If a user watches a screen from very far or very close, the FOV of the viewer (of that screen) is not the same. If you think about it, the image on the screen stays the same size but as the viewer is walking back from the image on the screen, the image start to appear smaller, reducing the FOV made by the triangle "screen left side - screen right side - viewers's point of view".

Stereo might work very well when a user is far away from the screen even if pixel separation is high. But as the viewer gets closer the the screen, the pixel separation appears bigger to the viewer and can become uncomfortable.

So, my script reproduces the real physical setup into the virtual world in order to give you an accurate representation of what will be possible to do in stereoscopy within that scene. I calculate the FOV based on the distance of the viewer from the projected image and the size of that projected image. With that setup in your scene, you're able to make quick decision about where to place things and how to scale the rig to make your scene work.

Working around the physical FOV

If you want to cheat the FOV, you can change the projected image H size parameter in the modifier. This will affect the POV. Also, if you reduce the viewer's distance, it will also increase the FOV. But remember that if you do that, you will no longer have a physically accurate representation of the projection conditions. So you'll need to do a bit more "eye work" to see what works and what doesn't on your projection setup.

Images

If you guys have images to share, please send us links. It's always cool to see what other people do.

Louis Marcoux

Posted 16 April 2010 2:39 pm

yes. i agree. But working in stereoscopy needs a shift in the way we plan shots. If we start from virtual cameras without considering the projection conditions, we end up working like if the movie was a flattie (2D). It doesn't mean it's impossible, it means that we need to "reverse engineer" from the virtual cameras until we get a good comfortable image.

So, if you are working from these types of cameras, i would suggest you discard the script and that you create your cameras manually and rig them together so that they follow the same animation (link left-right cameras to central camera and same with camera targets). Then, either you toe-in your cameras to have the same target (introducing some problems on the sides if the toe-in angle is big) or you use the skew modifier to make the camera frustum converge (to avoid problems on the side). See the "comfortable Stereoscopy" and "comfortable Stereoscopy | practical example" videos (above on this page) for details.

You need to reduce or increase the interaxial until you reach the depth level and the level of comfort you desire for the shot. If you are good with trigonometry maths, you can calculate your comfort zones based on pixel separation tolerance for your projection setup or you can make a quick approximation with the 1/30 rule. That means: place your cameras at an interaxial distance of (1/30)*(distance between convergence plane and central camera).

My script is there to create a simple setup that has predictable comfort zone and convergence plane within a 3D scene based on a physical projection setup. Your approach is different and needs a different solution. If you Google "stereoscopy" and "calculation table" for real life lenses, you will find tables that will help you with this calculation. I know that there are a few free ones out there.

robocop

Posted 17 April 2010 7:09 am

hi darthmikael, about day,two Marcus wrote:
"...I have gathered so much comments and suggestions from this thread and emails that when i will get a chance, i'll work on V2.0 and improve it... Now, with 3ds max 2011 being out, i am super busy but i'll try to get some time soon to make a few improvements."

juang3d

Posted 17 April 2010 2:44 pm

The script is working fine for me in max 2011.

Try unfreezing or unhiding your cameras, maybe is something with this.

Cheers.

Escobar

Posted 22 April 2010 1:33 pm

Hi, thank you for this script! I'm not an expert in stereoscopy but i'd like to know if the method used in this modifier is a parallel axis asymmetric frustum perspective projection with cameras Off-Axis (in Maya you can choice), I used Xidmary but I think it's just for the Toe-in method...
I'm gonna try this script, I believe that make a good stereo effect is very difficult, I hope resolve my doubts about alle those rules

Escobar

Posted 30 April 2010 1:21 pm

I tried it! Very usefull! Thank you very much for your great work, I'm waiting for the V.2.0!
If anyone needs I found it on web http://www.tawbaware.com/maxlyons/calc.htm
Thank you again Louis and I hope to do a good stereo effect now...

Louis Marcoux

Posted 6 May 2010 11:02 pm

The script is not made to render an anaglyph image. It sets up a camera rig with 2 cameras (left and right). You render them separately and you combine them using the method of your choice. Either with a special codec, with Composite (now included with max) or with double feed projection (polarized glasses).

Make sure you watch the videos on the camera rig (practical example). The script is there only to automate that process.

The preview button will work in 2010 and 2011 but not in previous versions. It takes a snapshot of the viewport and makes a quick anaglyph preview. It's not a rendering.

Regarding animations: depending on the effect desired, you can animate the stereo setup. But this is not going to be comfortable and it will be hard for the viewer. Please review the video on how to use the screen as a puppet theater. It explains why those settings need to be fixed. Stereoscopy will be comfortable if the brain is able to understand what it is seeing. By animating the interaxial, it's like if your eyes were moving away/towards each other which is hard on the eyes. So, my recommendation would be to be careful with animating the parameters of the modifier.

Louis Marcoux

Posted 26 May 2010 2:29 pm

Mifel: The camera is not rotating. It's probably a visual mislead by the skewing of the camera icon. But the projection plane of the camera is not rotating, it's only offsetting.

The skew modifier, as i explain in the videos, is there to offset the camera frustum to give the same projection effect as the film offset. Different wording, same effect.

You can mathematically calculate the film offset (from the maths i used in the script to calculate the skew value) if you really want to have that value. The offset is in mm and virtually represents how much mm you have to move the film in the gate to be able to capture the proper projection from a flat projection plane (no toe-in) and converge to a specific point. But the projection result in my script is the same as doing a film offset in mm.

My script has been created to simplify the calculations needed to create a comfortable stereo rendering. It's all about reproducing real projection setup and relationships to make sure you are working with controlled stereo zones and know where things will physically appear to be when viewed in stereoscopy.

Cyromus and others using the script in a 3ds max version using a different language than English: i am investigating why max installed in other languages than English cause problems with the script. If i find a solution for this, i will post here.

Louis Marcoux

Posted 26 May 2010 7:44 pm

Hello again,

i updated the script so that people using 3ds max in another language than English can use it. Please let me know if it works for you now.

Use the link in the text of the blog post above. You'll see that it is now V1.4 and that it has been updated on May 26th 2010.

Louis Marcoux

Posted 31 May 2010 5:53 pm

OK. For those of you who are using a 3ds max version that is not in English, i have made a new update on may 31st. This should fix the issues you are having. Let me know if it works since i don't have all the language versions to test.

Mikfr83-> i don't know if you have changed anything on the rig after you have applied the script. But i have tested on 3 machines for all the 3 renderers (Scanline, MentalRay and Quicksilver) and it renders correctly. Try a new scene with a new camera. It probably is something you changed on the rig or maybe you are not using one of the native renderers. In the last case, there is not much i can do. You'll have to check with your renderer's developers to see if they can support skewing the camera.

Louis Marcoux

Posted 31 May 2010 8:43 pm

If you render with Batch, did you save your file before? And if you render with network rendering, make sure the script is installed on all the render nodes.

If it works when you render manually, then something is happening where the skew is not rendered. That's what worries me.

Try creating your own skew modifier and then render with batch to see if it works or not. I'd like to know if it's the skew modifier itself that is the issue or the script's automatic rigging that gets something wrong.

Here it all works fine but i use the English version of 3ds max.

juang3d

Posted 31 May 2010 11:37 pm

What i use to do is to eliminate any trace of the scripted plugin before launching the render to BB, so in the end the cameras are just max cameras without any complication.

Cheers.

Mikfr83

Posted 1 June 2010 6:50 am

Hi Louis,

I work only with English version of 3dsMax.
Apparently the problem come only with your automatic rig ("Stereo Camera" modifier).
I've made my test with scanline & vray render (max 2011 & 2009)

When I create a rig manually (like your "Practical Example" video),
the skew modifier run correctly and all types of renders are ok!

Kind Regards,
Michael

Louis Marcoux

Posted 1 June 2010 1:12 pm

How about if you unhide the cameras (left and right) before you start the rendering? Does it change anything on your side?

If that solves the issue, i could add an option to hide and unhide the cameras like the comfortable stereo zones.

I created "eyes" geometry to give a sense of scale to the camera setup. By looking at the eyes and the camera setup, you have a good understanding of it's similar to the real world setup. But i could add the option to unhide the camera too so that it renders ok.

Let me know if it changes anything on your side. Like i said, here, on 3 machines with 3 different renderers, it works. So i need your help to figure out where it breaks.

Thanks.

Mikfr83

Posted 1 June 2010 2:29 pm

Ok sorry, it's because the cameras are hidden by default!
Just unhide and it's running!
Maybe in your script, unhide the cameras by default or an option like you say.

Thanks Louis!

Louis Marcoux

Posted 2 June 2010 3:04 pm

I have updated the script with a few fixes and the option to display the camera before rendering with batch or other rendering setups that don't work if the camera is hidden. Thanks Mikfr83 for helping me finding this one.

Also, i added a few other tools...

1) ability to show and hide the camera frustrums from the modifier
2) ability to change the color filters for the anaglyph preview therefore allowing you to preview with different types of glasses
3) a "setup bath" button that creates 2 views for the left and right cameras associated to the current modifier

lm

Louis Marcoux

Posted 2 June 2010 3:11 pm

Zoubein>> Usually, I would not recommend doing this because you will produce an animation that will be uncomfortable to watch. It will feel like objects are changing scale and relative position.

But, that being said, i would say that rules are there to be broken. So try it with your scene and see if it breaks or not. If the move is subtle and it works, why not. In a 2D movie (flattie), Hitchcock (and others) did really interesting camera effects by dollying the camera and doing a zoom to maintain the framing through a camera shot. The result is disorienting but also very effective. Animating the interaxial distance will be disorienting but it might give you the effect you want for the shot.

So, my advice with stereo shots like these it to try and see. Watch it the the context of other shots and see if it is comfortable to watch.

lm

Zoubein

Posted 2 June 2010 4:04 pm

Thank you for your input, I will give it a shot. So I guess its important to work out at a storyboard stage, what will work and will not work with stereoscopy. something else that i was wondering about, in some production articles like for monsters vs aliens. they talk about how they "dialed down" the 3d effect when it wasn't working for the story etc. Would that have been done in the composite or in 3d?

Louis Marcoux

Posted 2 June 2010 5:28 pm

Zoubein>> Dialing down means getting the interaxial distance to be smaller. By doing so, you reduce the stereo effects and increase the comfort zones. Dialing down stereo is the best way to get comfortable shots when the scene is very big or when the camera moves a lot in the shot.

Stereo can be very effective even if the pixel separation is not that big. So you can reduce the interaxial without worrying too much. It's better to be comfortable than hard to watch...

Doing it at compositing stage is possible but if your objects are spread into the 3D space (depth), you'll have more issues to make everything work. Better plan to do it in the 3D scene. Then, final tweaks in composite if needed. In that case, better work with render passes for front, back and middle to have better flexibility.

lm

robocop

Posted 3 June 2010 10:07 pm

Guys! Fortuitously Right now i found resource with some candy for stereo work... and there is plugin for MAX :
(it`s russian site by good guy Konstantin Smirnov.. all soft and plugins - freeware..)
http://translate.google.com/translate?js=y&prev=_t&hl=ru&ie=UTF-8&layout=1&eotf=1&u=http%3A%2F%2Fkostasoft.com%2Findex.php%3Fmod%3Dnews%26act%3Dshow%26id%3D28&sl=ru&tl=en

mybe find this usefull for you.

darthmikael

Posted 5 June 2010 4:07 am

yes, but i found this more friendly even for the begginer in the 3d post

Louis Marcoux

Posted 9 June 2010 3:29 pm

Regarding Kostasoft.com 3D Vision utility>> It's a really nice addition to my script and provides complement functionality for "real-time" preview of the stereo effect on a second monitor. If you use my script with the Kostasoft tool, it's a great stereoscopic workflow.
Unfortunately, the Kostasoft utility is not opened to scripting so there is no way i could automatically connect it to the cameras in my script. It would have been nice but for now, if you use both my script and Kostasoft, you'll need to setup the cameras manually in the utility panel for this tool.

Louis Marcoux

Posted 15 June 2010 7:09 pm

I have made a few updates to the Stereo Camera script. See in the "updates" section above for details.

Zoubein

Posted 21 June 2010 2:42 pm

I have been working on a shot where it has become necessary to animate the interaxial, it seems to work on this shot and specially when the change is quick and not noticeable. Also the element has been separated from the background that has a fixed interaxial. When the reel is ready I will put up a link.

yohann

Posted 30 June 2010 8:56 pm

Hi!

We use the StereoCam Modifier but the Scanline Render and VRay rneder don't accept the skew modifier. Why? Have any solution for this problem? I've read some comments here but don't find a solution.

manoeuvre

Posted 16 August 2010 4:50 am

Thank you, this is a very helpful set of videos.

dev_xprt

Posted 19 August 2010 1:14 pm

i am doing stereoscopy and i use mental ray rendering and your script.

my problem is, when i render glass material my left camera render with different refraction angle and right camera render with different refraction angle. So when compositing both images gives eyestrain.

i don't know the problem is from material side or render side? What should I do?

any suggestion will be helpful.


thanks in advance.
dev

Louis Marcoux

Posted 25 August 2010 1:41 pm

robocop: very nice script. I really like the parallax seperation in pixels. It's a really good tool for stereo planning. Brilliant!

Also, i like the clear description you do on your blog on how to use the real time preview with 3D Vision.

Everybody should check this out. It's really well done!

Thanks for sharing.

note on reflections: If you have objects reflected in your visible objects, you need to consider the distance of the ray going from the camera to the reflective object then to the reflected object. If that distance is outside of comfort zone, reflections will not be comfortable. Reflections are point of view dependent and, therefore, when you move the camera, reflections will change. So, check that total distance and if it's too big, then reduce your interaxial until you get that total distance within your comfort zone area.

Oh Joon-Kyun

Posted 14 September 2010 3:58 am

Hi Louis.
Thank you for videos.
I'm Korean so I can't speak english.
I use your script in max 2011 64 bit.
I think, it's very useful script.
But I can't see Preview.
When I press "Create Preview" button,
I see black or white image.
Do not work in 2011 64 bit?
I use vray 1.5 sp5 render,
V-ray messages show me two Warning

Camera matrix is not orthonomal and 'Max-compatible ShadeContext' is ON
Standard materials and lights may shade incorrectly

Why I can't see preview?
My PC
OS : Win 7 64 bit
CPU : Intel Xeon 2.33 * 2
GPU : quardro fx 3450
RAM : 6G

robocop

Posted 14 September 2010 6:17 am

annyeonghaseyo Oh Joon-Kyun!
did you try this? :
http://davidshelton.de/blog/?p=225

Oh Joon-Kyun

Posted 17 September 2010 9:31 am

Hi robocop
Thank you for your feedback(?)!
And I realy realy impressed by your Korean.

Dose it works in Nvidia 3D Vision?



sameergadve

Posted 18 September 2010 1:02 pm

Louis this was a great knowledge booster for me i cannot thank you much. I just wish the script worked with vray physical cams in the near future .

Louis Marcoux

Posted 23 September 2010 2:43 pm

Hello giorgioand (and all),

re: Unknown property: "EnableButtons" is undefined

This command is DirectX only. If you are using OpenGl as your display driver, it will not be needed. Just comment this line or delete it from the script. It should still work.

re: Vray

This script is for Scanline and Mental Ray renderers only. Vray cameras are different so they would need their own script to work in a similar way.

lm

psx2k

Posted 6 October 2010 9:56 am

Hi Louis,
i have the same problem:

when i push "create preview" it gets an error message : "Unknown property: "EnableButtons" is undefined" the error reffers to the line 1054 from the script :
"viewportbuttonMgr.EnableButtons = true"

"---------------------------
MAXScript Rollout Handler Exception
---------------------------
-- Unknown property: "EnableButtons" in undefined
---------------------------
OK
--------------------------

I commented the line 1053 and 1054 and nothing changed.
I used the scanline renderer and i choosed DirectX 10 as Viewport Driver.

What else i can do??

Or have somebody any other idea?

Thanks.

Greetz

psx2k

Posted 6 October 2010 10:43 am

i checked it in max2010 64bit and it is working, but not in max2009 64bit, why?

EDcase

Posted 14 January 2011 5:20 pm

I registered just to say "Merci beaucoup!!!"

Great tutorials and great script, thanks.

If you do ever get a chance to update it would it be possible to have an option to review a frame range in anaglyph? That would be awesome.

Cheers again,
ED

ML2010

Posted 28 March 2011 9:02 pm

About the maxscript error:
Check the name of the camera. Don't use foreign characters or hyphens in the name. It's a bug from MaxScript, not the plugin.
And I didn't check the consequences, but I think it's a bad idea to rename the camera after the modifier is applied.
cheers!

Chill3d

Posted 18 July 2011 2:31 pm

Anyone know of a script/tool that renders Side by Side images

Louis Marcoux

Posted 18 July 2011 7:18 pm

Hello all,
i will be updating the script soon with a version where the preview works in 2012. The script needs to force a redraw of the viewport in the new Nitrous Viewport (ForceCompleteRdraw() command). It's 2 lines of code that i added in the anaglyph preview function and it works. I will upload soon and put on this page.

@Chill3d: I would recommend using a viewer that takes care of taking 2 streams and displaying them side by side. That or use 3ds Max Composite to do exactly that: put the 2 images side by side.
For playback tests, i use this player: http://3dtv.at/Index_en.aspx. It has multiple display modes and it works great. If you use it in public, you need to buy the license but for personal home tests, it's free (and great!).

Louis Marcoux

Posted 25 July 2011 6:38 pm

Hello,

i have uploaded a new version of the stereo cam modifier script (V 1.7.3). This version will preview correctly in the new Nitrous viewport (2012).

Enjoy!

Martin Breidt

Posted 16 November 2011 10:10 am

Hey Louis,

thanks for the great script.

Here's a tiny suggestion for improvement: Specify the default values for world unit parameters such as interaxial etc. also in world units. Right now, interaxial is set to 2 units, whatever they are. Instead, you could use something like

units.decodeValue "6.5cm"

to plug in the correct physical dimensions. If I read your code correctly, this needs to go into several places, amongst which is the

on BTN_ResetReal pressed

event handler that could probably replaced by a single line using the above function (and probably the other occurrences of "case units.systemtype" in the code)?
Also, this would allow for "one unit = 10 cm" for example

-- MartinB

Louis Marcoux

Posted 27 January 2012 9:30 am

Worms, El-d: the problem you are experiencing is because of a permission restriction on the 3ds Max "plugcfg" folder. It's a folder inside the folder where 3ds Max is installed on your computer. Set the permission to read/write on that folder and the script won't have issues.

Oscar: The script should work on 64 bits. Just copy it on all the machines you need to open the file on. Also, you can create a stereo camera rig following what is explained in the videos. The script i wrote just to automate and simplify the process. But for customization work, you can either edit the script and change it to your needs or build a camera rig that can be used in your environment.

momopirou

Posted 19 March 2012 5:21 am

bonjour louis,
très bon tutoriaux.
alors voila ma situation: je travail sur un projet de teaser de docu-fiction en stereo.
je suis pas mal perdu dans tout ça, il vas falloir que je m'y retrouves. mais au delà de la stéréo dans MAX, je vais avoir à faire des incrustations sur plans filmés. alors est-il possible de m'en dire plus, ou de me dire ou en trouver plus, sur l'integration d'elements 3d sur images filmées le tout en stéréo (images filmées avec une camera stéréoscopique apparemment) du coup j'imagine que certaines valeurs me seront imposées par les settings de la camera réelle, comment ça marche?
ton plug-in est-il utilisable dans ce cas?
et enfin, est-il possible d'utiliser le système métrique avec ton plug-in?

je te remercie par avance, j'en ai vraiment besoin.

Louis Marcoux

Posted 30 March 2012 9:19 am

@3d_marco: I'll keep that one in mind if i ever get a chance to update the script with some of the ideas i have. But the script is not encyperted so it can be expanded to anything you want.. I added as much comments as possible in the script so that it is readable and people can make it their own. The team who worked on Hugo took the base of my script and extended it for their needs. So it's possible to do whatever you want with it.

Louis Marcoux

Posted 30 March 2012 9:24 am

@momopirou: La réponse est oui pour le système métrique. Dans l'initialisation du modifier, je vérifie les system units pour adapter l'interaxiale à des valeurs correctes. Donc, toutes les dimensions (mais pas les facteurs multiplicatifs) sont en unités de mesure.
Pour le tracking stéréo, ça prend un outil de tracking de caméra. Avec 3ds Max (subscription et suite), on offre Matchmover. Mais Matchmover n'a pas d'outils dédiés au tracking stéréo. Tu dois tracker les 2 caméras indépendament et ensuite faire des correspondances de points visuels pour mettre les 2 caméras dans le même context de référence spatial. Il y a aussi des outils plus avancés qui ont des trackers stéréos. Mais je garde ton idée en tête pour un futur tutoriel. C'est une bonne idée!

Louis Marcoux

Posted 30 March 2012 9:25 am

@Cricket: yes. You can. But i want a copy of the book!

AnimatorMing

Posted 14 June 2012 9:27 am

Hi Louis,
Thank you for the script.

I am working on a stereo project in Maya but using Max doing effects. I am planning to bring Maya's stereo camera into Max and use your stereo modifier to re-create stereo effects. But I don't know how to connect zero-parallax from maya's stereo camera to scale% setting in stereoscopic effects. Is there a way to do this?

And in Maya's stereo camera, there's no settings such as horizontal size and viewer distance. Would they affect anything when images rendered in Maya and images rendered in Max finally composited together?

thank you in advance for the answer

silenteyes

Posted 7 August 2012 4:23 pm

Hello
i m new 3D designer i want creat a similar scene nd render out soo i can saw my work on my normal lcd with green cyan glass or i required lcd digital moniotr i know i ask some stupid ques soo please help mail will help me alot
ammar.ahmed.alvi@gmail.com

AdrianWang

Posted 21 September 2012 7:46 am

Sir Louis Marcoux,
This is a very very powerful script.
But I'm got a situation is 3D screen without glasses.
And I'm need duplicate 8 cameras in between stereo distance.
Could you please update this script for us to use?

Very very thanks your help.

adrinaeax@gmail.com

broks

Posted 6 April 2013 1:18 pm

Hello Louis!
Congratulations script.
Use the script with absolute success professionally performing animations in 3ds Max (Vray) technology 3dvision.

I'm having trouble with the depht of field, can not adequately control the blur as you normally would in a vray cam. Can you help me?

4thedesign

Posted 16 April 2014 8:57 pm

Hello Mr. Louis!
Thanks for the amazing scrip!
But I have some questions, I am trying to render a 3ds max design 2012 scene(mental ray) with your script on a render farm and the rendering results are totally different from rendering in my machine, both on the 3d cameras and the quality results. Does your script accept farm rendering?
Another question: I have by mistake deleted the camera before deleting the modifier and every time I load the max file I have to skip all the errors. How can I fix that? (Even if I totally delete all the cameras and left/right cam modifier and even if I create a new camera and add a new stereo effect mod, still the problem exists) unknown property: “modifiers” in undefined, and a scrip controller pop up come on that I have to close.

The preview do not work as well.

Thanks in advance and sorry for my English i would like to send you the file to have a look if possible.

Regards
Ion

fool04

Posted 9 August 2014 9:03 am

Hi,Louis
How to Calculate the amount in skew modifier with Interaxial and Zero Parallax

Add Your Comment

You must be logged in to post a comment.

Please only report comments that are spam or abusive.