Vaillancourt
Vaillancourt

Reputation: 1418

How to make an object invisible at a particular keyframe without moving it in Blender (2.59)?

I'm quite new to blender, and I'm doing some experiments with it.

I've been searching for a way to make an object disappear from sight at a particular key-frame, without moving it out of the camera view. E.g. at frame 1, cube is there, at (0, 0, 0) and at frame 2, it's not visible anymore, but still there at position (0,0,0), at frame 3 it gets visible again.

After searching the web, I came upon this page which suggests to move the object to another layer, but since it applies to blender 2.49, it seems the software has changed since then: I'm unable to find the 'Layer' option when inserting a key-frame.

I've found some other sites but either they suggest to use a technique similar to the one linked above, or they suggest to change the alpha of the texture, which I'm not interested in.

So, what's the preferred method to make an object invisible in blender 2.59?

Additional information (not relevant for the answer I'm expecting, IMO):

Upvotes: 18

Views: 79738

Answers (7)

Pilotero
Pilotero

Reputation: 1

I don't know if you have noticed that when you uncheck the viewer or render option, the orange diamonds in the Timeline disappear. To be able to see them again, you have to go to frame 0 and select the object again. It's something a bit strange.

Upvotes: 0

Bernard Fox
Bernard Fox

Reputation: 31

I found out (today!) that, in Blender 2.8 (& presumably beyond), you can control visibility of objects in animations either in viewports and/or renders. Select the object and, in the Object Properties, open the Visibility section. You will see a dot beside the Viewports and Renders options. Click on the dot in either Viewports or Renders (or both). The relevant boxes should turn green. Either make the object visible or invisible by checking or clearing its box and then click 'i' to insert a keyframe. Repeat the process in other keyframes.

Upvotes: 3

user2658640
user2658640

Reputation: 51

In version 2.9 the eye icon cannot be used to set a keyframe. I've found the best way for me is to use the Object Properties tab and under Transform set the three scale values (X,Y,Z) to zero for invisibility. You can then click the diamond to the right to set the keyframe. To make the object re-appear return the scale values to their original and click on the diamond keyframe icon again. Obviously you can make it a lot easier for yourself by applying scale to the objects first then just switch them between 0 and 1.

Upvotes: 5

Cristiano Ferro
Cristiano Ferro

Reputation: 21

Another way to do this is to make a cube around it and add a boolean modifier to the object you want to disappear, set the operation to difference and select the cube as the modifier's object target. Then turn off the cube's visibility and animate the visibility of the modifier.

Upvotes: 0

C.Rogers
C.Rogers

Reputation: 451

There are lots of ways to achieve this effect.

The easiest way is to keyframe the visibility of the object. To do this, you simply go to the outliner, and click the little eyeball next to your object name, then hover over the closed eyeball and hit "i" to keyframe. The eye will then turn yellow to indicate it's keyframed. Do the same with the camera icon (so that your render behaves the same way). Then go to the point where you want the object to appear, and click the eyball and camera again to make them reappear, then hit "i" again over each to keyframe them... Isn't blender a wonderful program? I love being able to keyframe just about everything! :D

There are also these less easy, but variously useful methods, which you may also use in case you want some sort of transition in your vanishing/appearing:

  1. My perferred way is to just move the opbejct off the screen, keyframe position, then set the animation (in the Graph Editor) curve type to "constant" (Key -> Interpolation Mode -> Constant), and move the object into place and set the keyframe where you want it to appear. It will thus instantaneously appear.

  2. Set the material properties of the object to Transparent, and choose "Z-Transparency" and set alpha to 0. Then simply keyframe the alpha (hover mouse over Alpha value and hit "i"), then go to where you want it to appear, change the alpha value to 1, and keyframe again. This will make it fade in over time, or you can change the curve to constant in the Graph editor, as described in method 1.

  3. If you want to mask the object while it is still in place, you could make a cube around it, set the cube material transparency to "mask", and then move the cube off camera to unmask the object, rather than moving the object. This is handy for when you want to partially unmask something in the course of the animation. For example, if you are creating a text overlay for a video, where you want text to appear as if it's coming out of your hand, you can animate the masked object to follow the contour of your hand as it pulls away to reveal the text.

Upvotes: 35

Cory Williams
Cory Williams

Reputation: 183

In Blender 2.65, you can animate the objects visibility toggle in your Outliner panel. Next to your scene objects there will be three icons: an eye, a cursor, and a camera.

Follow these steps to animate viewport visibility:

  • Find the object you wish to animate in the Outliner Panel

  • Mouse over the eye icon and hit "i" on your keyboard to set a keyframe.

  • Go to the next frame and turn the eye off, then hit "i" moused over it again.

Do the same thing with the camera icon to animate render visibility. I will usually keyframe both the viewport and render visibility icons in tandem so as not to forget to have these toggled when its time to render.

Upvotes: 18

Kay
Kay

Reputation: 13146

AFAIK there is no easy way to directly set an object invisible in your case. Although the visibility can be animated in Blender (in outline view mive your cursor on the eye and press i) Unity3D doesn't recognise it.

Possible workarounds:

  • Move it to (1000, 0, 0)
  • Scale it by a very small value

A more elaborated approach could be to use a driver like when turning FK/IK animation on and off dynamically via a variable.

Upvotes: 1

Related Questions