Home Technical Talk

Any ideas how this is done?

Hey guys,

I just came across this video on Vimeo, and aside from the tidy animation, I was wondering how the background is done at about 0.41.

The ball is clearly 3D, but the background is 2D. I'm guessing some kind of compositing went on but I'm not sure what:

http://vimeo.com/10823553

Replies

  • cryrid
    Options
    Offline / Send Message
    cryrid interpolator
    Compositing would be the easiest method. The bits the ball is interacting with can be modeled as well, just not rendered / added to the ball's pass (I'd probably render it as its own pass, just so I can use it as a guide so that I can draw over it and have the result perfectly match what the ball is interacting with). Finally both would get composited over the blue grid bg. You could also project the shadow of a ball onto a plane and add that in behind the ball.
  • Tom Ellis
    Options
    Offline / Send Message
    Cheers Cyrid, that makes sense.

    So the BG was comped in too? How are the shadows done? Rendered out as another pass using a dummy backdrop to catch the shadow?
  • r_fletch_r
    Options
    Offline / Send Message
    r_fletch_r polycounter lvl 9
    2 passes. the ball and the shadow.

    to do the ball you can just render it how you like and comp it using the alpha.
    I would personally create some proxy geometry for the hit points so they occlude the light a little. you'd make these so they only cast shadows and dont render.

    for the shadows you can do simple ones like that in AE using the 3D layers or just by duplicating and offseting the layer.

    If you did them in 3D you'd use a matte shadow shader. basically these shaders pick up shadowing. ao and bounce light from objects in the scene but have no shading of their own.

    If you want to do it in max you can use the matte shadow shader, or in mental ray the matteshadow / reflection shader.

    gimme a shout if you want a hand setting it up, I did this alot in my last job. (i had to integrate alot of 3D characters with photo backgrounds.)
  • Tom Ellis
    Options
    Offline / Send Message
    Ah ok I see. That's a great explanation thanks R Fletch, I should be able to get it together from your write-up but I'll pm you if I get stuck.

    Thanks again.
  • xXm0RpH3usXx
    Options
    Offline / Send Message
    xXm0RpH3usXx polycounter lvl 13
    if you use vray you can animate the ball and put a plane where the blueprint would be, give it a white material, rightclick it and under vray options you need to set the alpha distribution to -1 and affect color and shadows ticked.
  • Mark Dygert
    Options
    Offline / Send Message
    It looks like it was rendered with a background image (environment background) or against a simple plane.
    r_fletch_r wrote: »
    2 passes. the ball and the shadow.

    to do the ball you can just render it how you like and comp it using the alpha.
    I would personally create some proxy geometry for the hit points so they occlude the light a little. you'd make these so they only cast shadows and dont render.

    for the shadows you can do simple ones like that in AE using the 3D layers or just by duplicating and offsetting the layer.

    If you did them in 3D you'd use a matte shadow shader. basically these shaders pick up shadowing. ao and bounce light from objects in the scene but have no shading of their own.

    If you want to do it in max you can use the matte shadow shader, or in mental ray the matteshadow / reflection shader.

    gimme a shout if you want a hand setting it up, I did this alot in my last job. (i had to integrate alot of 3D characters with photo backgrounds.)
    Technically the ball and the shadows are on the same pass? The 2nd pass would be the background if it isn't included in the scene someway.

    I think you're dead on, using the matte shadow shader, but you have to remember to turn off shadow casting for those pieces that its applied to (right click, object properties, uncheck renderable) otherwise the objects will cast shadows also. The only thing that should be casting shadows is the ball.

    It's also important to remember that the geometry matte shadow is applied to will also clip and mask out the object like the ball. So to make this scene work like shown you should probably stick to ortho view as perspective could cause the ball to go behind the clipping geometry and be masked out, which could look weird because people assume a blueprint is flat.
  • r_fletch_r
    Options
    Offline / Send Message
    r_fletch_r polycounter lvl 9
    It wasnt rendered on the BG, if you look there are very nasty aliasing issues around the ball. Looks like they rendered with motion blur, which isnt a good idea when your doing passes. much better to render a motion vector pass and do it in post. that way its applied after any other post work and you dont get nasty aliasing.

    You generally do the shadow on a seperate pass to make compositing more flexable. but i guess in max terms its the same pass but a seperate element.
  • Mark Dygert
    Options
    Offline / Send Message
    Yea it does look like it was rendered on a different background color, and saved with pre-multiplied on, rookie mistake =P
  • r_fletch_r
    Options
    Offline / Send Message
    r_fletch_r polycounter lvl 9
    a note on the clipping.

    The shader on the occluders is totally irrelevant in this case. you dont let them render, only cast shadows. I usually place them just below the hit point. so that the 3d element gets the shaowing but doesnt get a tell tale ring aound the intersection point (AO)

    Also mentalrays Matte shadow shader isnt self shadowing, doesnt cast self AO and has no diffuse component. its a damn clever shader.

    To clarify the work flow.

    the bacground plane would have a shadow catcher on it. like MatteShadow or matteshadow/reflection.

    the occluders would be a suitable colour but not renderable. they cast FG and shadow the object with AO.

    Id never render the occluders in the same pass as the shadow catcher. the occluders would be in the same pass as the ball.

    When i talk of passes im talking of seperate render jobs, not render elements. Elements are cool and all but are pretty rigid in what they allow you to do.
  • Tom Ellis
    Options
    Offline / Send Message
    Thanks guys,

    Is this all Max specific?

    I'm using Maya, (mentalRay) and I'm fine with getting the elements out in passes, but not sure about the shadow catcher.
  • r_fletch_r
    Options
    Offline / Send Message
    r_fletch_r polycounter lvl 9
    Maya has those shaders hidden for some reason. Try 'use background' or if you will need to do a little script editing to get at the more powerfull stuff (not hard just a bit of editing)
  • chronic
    Options
    Offline / Send Message
    chronic polycounter lvl 10
    This is a great discussion on rendering for comp, and I'd like to offer this video series I made for any help it might provide.
    http://www.cgbootcamp.com/tutorials/2009/10/19/cg-and-video-compositing-01-match-lighting-with-video.html
  • Tom Ellis
    Options
    Offline / Send Message
    Ok thanks, I'll get into it and see how I get on.

    Cheers for the link Chronic. Are you sure that was all done in Maya? On the ortho obstacle course kinda bit with the 'construction line' drawing, I'm sure that's done in post?

    Unless the guy made a texture for the backdrop using an orthographic render for a template, then rendered with the dummy objects invisible. Although that sounds like a convoluted workflow, and I don't even know if it'd work well.

    EDIT: Ah, you edited your post.
  • chronic
    Options
    Offline / Send Message
    chronic polycounter lvl 10
    @Creationtwentytwo - I was looking at the wrong clip
  • Tom Ellis
    Options
    Offline / Send Message
    Just to clarify here, I should be rendering out as an image sequence rather than a movie right?

    I need to brush up on my After Effects knowledge, but can I import image sequences of various passes and comp them easily?

    For example, comp the passes in the same way for each frame in a 'one click' way, ie. not having to comp every frame by hand from scratch?
  • r_fletch_r
    Options
    Offline / Send Message
    r_fletch_r polycounter lvl 9
    Yes, render them out as a images sequence with a format like tif, tga, or png, something lossless with alpha.
    when you import them to AE it will load the entire sequence as 1 clip. any grading or manipulation you do will effect the whole clip.
  • Tom Ellis
    Options
    Offline / Send Message
    Ok thanks, man I really need to learn AE properly. I'm fine with getting it out of Maya, just really don't know what I'm doing in After Effects. I've got a subscription to Digital Tutors, I think they've got some pretty comprehensive stuff on the subject.
  • Mark Dygert
    Options
    Offline / Send Message
    I'm not sure if it was included with Maya (I think it was) but max2011 came with "Composite 2011" (formerly Toxic). It's a node based editor to composite things. Its pretty straight forward after you get the hang of the work flow. It has some very simple videos and good documentation to get you up and running.

    I agree AE can be a bit of a nightmare especially for something this simple.

    [ame]http://www.youtube.com/watch?v=7yZ8DAuu3Kg[/ame]
  • Tom Ellis
    Options
    Offline / Send Message
    Ah thanks Mark. Yeah Maya has Composite (I think since 2010, although it may have been Toxik then), although I've never used it.

    Definitely looks like a better option for what I'm wanting to do.
  • r_fletch_r
    Options
    Offline / Send Message
    r_fletch_r polycounter lvl 9
    Either program should do this very simply, Its just a case of layering the sequences. I dont use AE much but from memory it would just be a case of importing your sequences and dragging them onto the timeline. pretty simple stuff.
  • maze
    Options
    Offline / Send Message
    thats comp, you might give a try to nuke, really robust for this kind of work. just like they said render your passes and combine them in a comp software. The lines and stuff thats up to you. I ll suggest you do something of your own really. I ll probably do all that in illustrator, bring it to photoshop for subtle texturing and then render and comp it.
  • Mark Dygert
    Options
    Offline / Send Message
    I agree it shouldn't be that hard in AE, create a new comp, import files, drag, drop, export image sequence (no need to render).

    AEThumb.jpg

    In the projects window, right click, choose new comp, adjust the settings.
    In the projects window, right click, choose import files, remember to check on sequence.
    Right click your imported sequence and choose interpret footage > Main, if everything looks ok click ok.

    Note: In Interpret Footage, you can change the FPS (defaults to 30 even if you set your comp to say 24). Also adjust the alpha settings, Premultiplied looks good in the viewport but renders with a halo (like in the ball example), straight unmatted will look like ass in the viewport but will output much better.

    Then drag the files from the left project window into the right composition window, down in the lower plane you can drag and adjust the layers to reorder, hide or adjust their properties like opacity.

    Then go File > Export > Image Sequence.
  • Tom Ellis
    Options
    Offline / Send Message
    Thanks guys, worked perfectly with a little test setup I did.

    Maze - Yeah I've heard good things about Nuke, but I've got a license of AE so may as well use it!
  • Tom Ellis
    Options
    Offline / Send Message
    Ok I've got problems again :)

    All my render passes are black with no alpha info. They have an alpha channel, but it's empty.

    So I'm not sure how to overlay them. For example, the spec pass is just a flat image with a black background, as are all the other layers, so I can't composite them.

    The masterBeauty renders out with a premultiplied alpha, but none of the passes do. I've tried with TIFF/TGA with no joy.

    Any ideas?
  • r_fletch_r
    Options
    Offline / Send Message
    r_fletch_r polycounter lvl 9
    The black shouldnt be a problem for the spec. Spec is additive so you use screen or addition to apply it. any black areas are just ignored.
    what other layers are you using?
  • Tom Ellis
    Options
    Offline / Send Message
    I'm using DiffuseColor, Spec, AmbientColor, Incandescence, and Shadow.
  • r_fletch_r
    Options
    Offline / Send Message
    r_fletch_r polycounter lvl 9
    All those bar Shadow/Diffuse are additive. for the others you can propably just pull the alpha from the beauty pass and use that. out of interest why are you splitting it up so much?

    beauty, shadow and bg would be plenty
  • Mark Dygert
    Options
    Offline / Send Message
    Yea fletch is right, typically you render out a alpha mask and use that whenever you need to mask things out.
  • Tom Ellis
    Options
    Offline / Send Message
    Ok thanks guys.

    Ok it's pretty much all working except for the shadow.

    I'm just getting a black output with no alpha, or an empty alpha on the shadow pass.

    In the scene, I've just got a plane background with a useBackground applied to it.
  • r_fletch_r
    Options
    Offline / Send Message
    r_fletch_r polycounter lvl 9
    this is the shadow for the bg right?
    this is how i would render it
    Create a new render layer.
    Add the bg and the ball.
    switch the primary visibility of the sphere to off.
    put use bg on the plane.
    render that. providing it works like mip matte shadow you will have a black render with the shadow in the alpha. render that.
  • Tom Ellis
    Options
    Offline / Send Message
    Ok yeah that works, thanks a lot Fletch.
  • Tom Ellis
    Options
    Offline / Send Message
    Ok just an update on this because it was bothering me.

    Apparently the useBackground shader is broken when using render passes. It won't render shadow passes, which is why I was getting a black result.

    The workaround is a bit unnecessarily complex but it works, you need to create a custom contribution pass, with a writeToColorBuffer node and an mia_x_passes and it works out fine.

    Of course the method suggested above works just as well, but it's annoying the useBackground doesn't work as it should.
Sign In or Register to comment.