8
$\begingroup$

splitscreen

In this example (not my animation), the right half is rendered, while the left half is unrendered (like what you would see in the Viewport when set to Solid mode). As objects cross the center of the screen, they become rendered/unrendered.

This is done to show viewers what's going on behind the scenes, so they can see how the shot was constructed.

How could such an effect be created in Blender? I am particularly interested in doing the left half (the unrendered bit).

$\endgroup$
3
  • 1
    $\begingroup$ I'd use a render border to render only one half of the shot, then overlay that onto an OpenGL render. $\endgroup$
    – PGmath
    Jan 7 '16 at 19:07
  • 1
    $\begingroup$ If using nodes isn't needed (they won't be taken into account while in viewport) you can define a render border; then while in camera view Shift+Z toggle will make render just like on refernce image. $\endgroup$
    – Mr Zak
    Jan 7 '16 at 19:16
  • 1
    $\begingroup$ How's this look? (That's a frame from an animation which is too big to upload and I'm having trouble compressing it.) $\endgroup$
    – PGmath
    Jan 7 '16 at 20:04
9
$\begingroup$

You may easily achieve this effect using Compositing Nodes. I'll show you how to do it both for a still image and animation.

  • STILL IMAGE

enter image description here

First select the Slot 1 in the UV Editor window and render your scene using a Full render (F12). enter image description here enter image description here

Then change the slot to Slot 2, but this time render the active viewport using the Open GL render. Remove all the materials from your model. Check the Only Render checkbox, located in a Display panel of the Properties Shelf (N) and click the camera icon located at the bottom bar of the 3D window. enter image description here enter image description here

Save both images to your computer.
enter image description here

Now go to the Node Editor, press the Compositing nodes button and check the Use Nodes and Backdrop checkboxes. Then set up the nodes as pictured below. First add two Image nodes (Shift+A-->Input-->Image) and open both images you've rendered. Next create a simple b&w texture in gimp (with the same resolution as rendered images).

enter image description here

Use it as a Factor for mixing two renders (add a Color node [Shift+A-->Color-->Mix] and plug the image to its Fac socket. Add a Viewer node (Shift+A-->Output-->Viewer) to see the compositing result. enter image description here


  • ANIMATION

    enter image description here

You may do it in similar way. Go to Render header and set up things as you like in Dimensions panel. In the Output panel choose the path to the folder you want your rendered frames to be saved (in my case I created a new folder and named it 'full render'). Change the file format to JPEG.
enter image description here

Now choose the Render Animation (Ctrl+F12). enter image description here

When finished with rendering, change the path to another folder (I created a second one and called it 'openGL').
enter image description here

Press the OpenGL render animation button (the one next to OpenGL render button).
enter image description here

You have now two rendered image sequences in two folders. Set up the nodes as pictured below. Instead of adding Image nodes, add two Image Sequence ones (Shift+A-->Input-->Image Sequence). Load the rendered pictures for each of them. enter image description here

With setup like this go once again to the Output panel, click on the file directory browser and create a new folder for the final animation. Change the file format to for example AVI Raw. Render your scene once again using F12 button.
enter image description here

$\endgroup$
4
  • $\begingroup$ This has the disadvantage that you must render the entire image, only to crop off half of it, thus doubling rendertimes. $\endgroup$
    – PGmath
    Jan 8 '16 at 16:33
  • $\begingroup$ I would not say it's doubling the rendertimes, since OpenGL rendering is super fast (especially for scenes with no materials/textures). However you're right- that isn't a perfect method. I'm still thinking about doing it in a better/faster way. Maybe'll post another answer soon :). $\endgroup$
    – Paul Gonet
    Jan 8 '16 at 16:58
  • $\begingroup$ You're right, it won't double the OpenGL rendertime, but it will for the normal render (almost). I'm working on a way to do it with render borders, should be done in a few minutes. $\endgroup$
    – PGmath
    Jan 8 '16 at 16:59
  • $\begingroup$ Good point. A trick with overlaying half of the full render over the OpenGL one (as you said in your comment) will surely reduce the rendertime. Waiting for your answer. $\endgroup$
    – Paul Gonet
    Jan 8 '16 at 17:14
3
$\begingroup$

I would do this by using a render border to render only half the image, then overlaying it onto an OpenGL render.

[enter image description here

First set the render border to render only one half of the camera under Outliner (set to Datablocks) > Scenes > [Scene Name] > Render Data. To render just the right half I set the Border Minimum X to 0.5.

enter image description here

Then name your output file to something like ..._render_ and render out the image sequence as .PNGs.

Next rename your output file to something like ..._OpenGL_. Then (making sure you are in the camera view with Numpad 0) render as an OpenGL animation from the 3D view footer or Info Header > Render > OpenGL Render Animation.

enter image description here

Now go the the Video Sequence Editor (VSE) and use Add > Image to import the two image sequences (one sequence at a time). Place the ..._render_... one above the ..._OpenGL_... one.

enter image description here

Lastly, set the Blend on the top strip to Alpha Over under N toolbar > Edit Strip.

enter image description here

Now you're ready to change the output filename to something like ..._split_ and render normally with F12.

$\endgroup$
1
  • $\begingroup$ Working on compressing the final render gif... $\endgroup$
    – PGmath
    Jan 8 '16 at 17:18

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.