Hi,
I’ve got an idea to split some of my heavy coroutines to execute them in multiple frames. but I got some weird result, in some cases it’s working and in some it’s not.
here is a piece of code that doesn’t work:
IEnumerator LoadSettings()
{
loading = true;
QualitySettings.masterTextureLimit = 4 - GameSettings.TextureQuality;
QualitySettings.lodBias = GameSettings.LODBias;
QualitySettings.anisotropicFiltering = GameSettings.Anisotropic ? AnisotropicFiltering.Enable : AnisotropicFiltering.Disable;
QualitySettings.antiAliasing = GameSettings.AntiAliasing;
//if user wants some dyamic lighting we must enable useLightProbe option in every meshRenderer and SkinnedMeshRenderer
if (!GameSettings.DynamicLighting)
{//user doesn't want dynamic lighting
var meshRenderers = FindObjectsOfType<MeshRenderer>();
var skinnedMeshRenderers = FindObjectsOfType<SkinnedMeshRenderer>();
foreach (var meshRenderer in meshRenderers)
{
meshRenderer.useLightProbes = false;
yield return null;
}
foreach (var skinnedMeshRenderer in skinnedMeshRenderers)
{
skinnedMeshRenderer.useLightProbes = false;
yield return null;
}
}
else
{//user wants dynamic lighting
var meshRenderers = FindObjectsOfType<MeshRenderer>();
var skinnedMeshRenderers = FindObjectsOfType<SkinnedMeshRenderer>();
foreach (var meshRenderer in meshRenderers)
{
meshRenderer.useLightProbes = true;
yield return null;
}
foreach (var skinnedMeshRenderer in skinnedMeshRenderers)
{
skinnedMeshRenderer.useLightProbes = true;
yield return null;
}
}
yield return null;
//user can customize game resulotion to decrease or increase the fill rate of the game
Screen.SetResolution(GameSettings.ResulotionWidth, GameSettings.ResulotionHeight, true);
//locking the aspect
var _cameraGameObjects = FindObjectsOfType<Camera>();
foreach (var camera in _cameraGameObjects)
camera.GetComponent<Camera>().aspect = 1920f / 1080f;
loading = false;
}
I used Visual Studio and inserted some breakpoints and I noticed my code doesn’t reach to this line:
skinnedMeshRenderer.useLightProbes = true;
I am pretty sure that I have some SkinnedMeshRenderers in my scene.
So whats the problem with this coroutine?