x


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.

more ▼

asked Apr 29 '13 at 11:09 AM

MPF gravatar image

MPF
16 1 1 3

(comments are locked)
10|3000 characters needed characters left

1 answer: sort voted first

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?

more ▼

answered Apr 29 '13 at 01:26 PM

delVhar gravatar image

delVhar
31 1 2

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.

Apr 29 '13 at 01:55 PM MPF

This may be helpful, try using animation.Sample() after you update the time.

http://docs.unity3d.com/Documentation/ScriptReference/Animation.Sample.html

Apr 29 '13 at 11:11 PM delVhar

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.

Apr 30 '13 at 06:40 AM MPF
(comments are locked)
10|3000 characters needed characters left
Your answer
toggle preview:

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Topics:

x5679
x692
x110

asked: Apr 29 '13 at 11:09 AM

Seen: 521 times

Last Updated: Apr 30 '13 at 06:40 AM