An always drawn on top 3D object?

pnewhookpnewhook Posts: 70
edited December 1969 in Carrara Discussion

This is hard to describe but I'll give it a shot.

I have a need to draw a 3D object such that it is always visible, even though it is inside another object, WITHOUT making that outer object transparent. The closest thing I can see that does this is the red green and blue axis that identifies where the hotpoint is of an object when you have Move mode selected. Even though that axis is clearly placed within a 3D object (like a cube primitive) it is always drawn on top where you can see it - not obscured by the object that it is around it.

Can I do this effect with a generic 3D object? For those that know OpenGL programming, the effect could be reproduced by always drawing the object last ignoring the contents of the z buffer.

Comments

  • HeadwaxHeadwax Posts: 9,988
    edited December 1969

    layering in post could be your best bet, did you need shadows cast by this object?

  • tbwoqtbwoq Posts: 238
    edited September 2013

    Render a scene, save the image, then use the image as a backdrop depending. If for the OpenGL realtime preview, you can use camera clipping, 'Distance to near plane:' to see inside some objects. Agree with head wax, postwork options might be the easiest, especially for animation.

    EDITS:For OpenGL or the assemble preview, you can also reverse polygon normals on an object mesh in the vertex modeler. Then in the assemble room select the object and in the rightside properties panel under View->Backfaces, check Hide. You will be able to see inside the reversed normal object(s) as you navigate the scene.

    Post edited by tbwoq on
  • WendyLuvsCatzWendyLuvsCatz Posts: 38,227
    edited December 1969

    tbwoq said:
    Render a scene, save the image, then use the image as a backdrop depending. If for the OpenGL realtime preview, you can use camera clipping, 'Distanace to near plane:' to see inside some objects. Agree with head wax, postwork options might be the easiest, especialy for animation.

    EDIT:For OpenGL or the assmeble preview, you can also reverse polygon normals on an object mesh in the vertex modeler. Then in the assemble room, select the object and under View->Backfaces, check Hide. You will be able to see inside the reversed normal object(s) as you navigate the scene.


    and use CamStudio to capture a video if desired.
    Ironically iClone which I use does exactly this in full render with reversed normals on ANY mesh and on the backfaces by default, I HAVE to make all my surfaces 2-sided in the material settings! A minor thing that annoys me endlessly.
  • HeadwaxHeadwax Posts: 9,988
    edited December 1969

    hya wendy love the avatar, btw thanks for being kind enough to get invoilved in the challenges (I know you only did it to support them)


    pnewhook

    there is also a proximity shader here http://www.des-web.net/html/proximity.html

    not exactly what you want as it will make part of the outer mesh invisible,
    you could try making a proxy of the shape you want to be seen
    then making that proxy invisible
    and use the proximity shader to make a perfectly shaped cutaway that will show up your real object in situ

    maybe

    I take it this is for a medical video?

  • tbwoqtbwoq Posts: 238
    edited September 2013

    I think Truespace 7.6(?) had booleans you could animate. So you could animate cutting through objects to see inside etc. Its a powerful feature I wish Carrara had. I also edited my last reply to clarify which View option(the one in the properties panel) for hiding the backfaces.

    Post edited by tbwoq on
  • HeadwaxHeadwax Posts: 9,988
    edited December 1969

    tbwoq said:
    I think Truespace 7.6(?) had booleans you could animate. So you could animate cutting through objects to see inside etc. Its a powerful feature I wish Carrara had. I also edited my last reply to clarify which View option(the one in the properties panel) for hiding the backfaces.

    that edit sounds very interesting have to check it out, thanks!

  • Philemo_CarraraPhilemo_Carrara Posts: 1,175
    edited December 1969

    Still not exactly what you request, but you could use a formula shader to control the alpha channel of the obscuring object. Just a little math using global coordinates of both objects to check whether the shaded point is masking the object. The added value is that you can create an alpha gradient.

    I cannot test it know (I'm at work) but tell me if you're interested and need some help with 3d math

  • wetcircuitwetcircuit Posts: 0
    edited December 1969

    Agree with Head Wax. 2 render passes seems the easiest solution.

  • pnewhookpnewhook Posts: 70
    edited December 1969

    head wax said:

    there is also a proximity shader here http://www.des-web.net/html/proximity.html

    not exactly what you want as it will make part of the outer mesh invisible,
    you could try making a proxy of the shape you want to be seen
    then making that proxy invisible
    and use the proximity shader to make a perfectly shaped cutaway that will show up your real object in situ

    maybe

    I take it this is for a medical video?


    Thanks!1 Sounds like I might be able to modify my concept so that this would work. I'll give it a try.

    And yes, this is for a video showcasing the capabilities of my surgical manipulator system. My concept was to show a patient, then have a part of their spinal column become visible. And I'd really like the camera to do a bit of a fly around so a static backdrop idea wont really work.

  • wetcircuitwetcircuit Posts: 0
    edited December 1969

    pnewhook said:
    And I'd really like the camera to do a bit of a fly around so a static backdrop idea wont really work.

    Static layers would not be necessary. You would render the camera animation once with the body visible, and then render again with the body hidden so you only see the spine (render the spine pass with alpha channel). The two videos will line up perfectly since they use the same camera, and you would have a choice in editing how to reveal the spine layer (fade in, circle wipe, etc).

  • pnewhookpnewhook Posts: 70
    edited December 1969

    pnewhook said:
    And I'd really like the camera to do a bit of a fly around so a static backdrop idea wont really work.

    Static layers would not be necessary. You would render the camera animation once with the body visible, and then render again with the body hidden so you only see the spine (render the spine pass with alpha channel). The two videos will line up perfectly since they use the same camera, and you would have a choice in editing how to reveal the spine layer (fade in, circle wipe, etc).

    Of course! Perfect - thanks!

  • BrianP21361BrianP21361 Posts: 808
    edited December 1969

    tbwoq,

    Infini-D had a feature where you could set on object as negative. You could use a negative object just like a positive one. I remember making an animation with a moving cutout years ago. Too bad they didn't carry that into Ray dream and then Carrara.

  • tbwoqtbwoq Posts: 238
    edited December 1969

    Hi BrianP21361.

    Yes, I found an old Infini-D features chart. It did have animated boolean rendering. Wonder why they took it out.

Sign In or Register to comment.