- Home /
OnLevelWasLoaded Pause Before Drawing
I'm noticing that OnLevelWasLoaded() is being called as expected, but there is a delay from when it gets called until things begin drawing to the screen.
The reason this is an issue is because I'm telling Scaleform to do things when the level was loaded, but by the time things get drawn to the screen in Unity, it's already been processed by Scaleform.
Is there a way for me to know when things are drawing to the screen after level load?
Thanks so much
Answer by ThePunisher · Apr 30, 2014 at 09:15 PM
You could have a very specific object visible by your game's main camera that has a script on it with OnBecameVisible defined. It must have a renderer on it though.
http://docs.unity3d.com/Documentation/ScriptReference/MonoBehaviour.OnBecameVisible.html
Example code:
public class TellMeWhenYouStartDrawing : MonoBehaviour
{
private void OnBecameVisible()
{
Debug.Log("pikaboo");
}
}
This object would have to be part of the new level being loaded though as it would only get called the first time it becomes visible to a camera.
Oh, that's interesting. O$$anonymous$$ thanks let me give it a shot.
Np, just make sure the object will actually be visible to a camera. Careful though, I do think the method is called for every camera that can see the object. If you want to check against a specific camera then I believe you can do Camera.current.name.
Oh, I take that back, it seems it was only called once even though I had two cameras that could see the object.
Your answer
Follow this Question
Related Questions
Load Level 01 Progress Screen 0 Answers
AsyncOperation.progress, I'm missing something here... 1 Answer
Game freezes loading a new scene with Android split application (APK + OBB) 1 Answer
WaitForSeconds not working in OnTriggerEnter event 2 Answers
How to create a delay so object isn't instantiated until after an animation finishes? 2 Answers