- Home /
Toggle Active state of GameObject without blink
I have a problem with an animated GameObject, in that if I change the .time of the animation rapidly (via a slider object from NGUI, specifically, though I don't think the source of the .time change matters), the GameObject doesn't seem to update visually in the viewport. If I manully check/uncheck the active state of the GameObject, it'll update fine. If I do it through script, it works fine - BUT I need it to happen every, say, 0.1 or 0.5 seconds. That's no problem, except doing
problemobject.SetActive(false);
problemobject.SetActive(true);
makes the object "blink" - and doing it regularly doesn't look, for lack of a better term, "nice".
So, what I'm looking for (if it exists) is some way to force an update of a GameObject, that won't blink it if executed rapidly.
Answer by delVhar · Apr 29, 2013 at 01:26 PM
Switching off the game object will also switch off its renderer, causing the blink. Do you need to disable the whole object? Would it be possible to just disable certain components?
I haven't found any component that will trigger the "update" so far, but yeah something that will force an update, like toggling the active state, without turning off the renderer is what I'm looking for.
This may be helpful, try using animation.Sample() after you update the time.
http://docs.unity3d.com/Documentation/ScriptReference/Animation.Sample.html
Thanks for taking the time! Unfortunately, animation.Sample didn't help me either - I've tried a lot of things, so far without success. At this stage, I'm starting to suspect it may simply be the size and length of the animated piece (100 elements, several thousand frames in length) that's causing it., because Unity may not be designed or extensively tested with that sort of thing.
Toggling the active state of the parent object is so far the only thing that re-evaluates it. Turning the renderer off and on on individual sub-objects does not work (surprisingly!), nor do toggling individual sub-objects' active state. If I inspect the sub-elements' Transform in the inspector, I can see that their values are not what they're supposed to be in the animation at that time either, though, so I suppose that's why toggling them won't help: they're still at the position they "think" they're supposed to be at.
Your answer
Follow this Question
Related Questions
Problems sampling animation in editor 0 Answers
how to make multiple objects move in sequence 0 Answers
Play animation OnTriggerEnter (C#) 1 Answer
5.4.0f3 Animation clip inspector changes have caused clips to slide. 0 Answers
Move cube forward 0 Answers