// Update is called once per frame void Update() { if (!skipUpdate) { if (Application.isPlaying && GetComponent <Animation>().clip == clip && GetComponent <Animation>().isPlaying) { Debug.Log(pointer); AnimatedFrameData frdata = this.animationFrames[pointer]; for (int i = 0; i < LightmapSettings.lightmaps.Length; i++) { SwitchLM.switchmaps(i, frdata.lightmaps[i].far, frdata.lightmaps[i].near); } if (pointer < animationFrames.Length - 1) { pointer++; skipUpdate = true; } else { pointer = 0; } } else { pointer = 0; } } else { skipUpdate = false; } }
public static void SwitchLightmaps(GameObject obj, Texture2D far, Texture2D near) { if (obj.GetComponent <Renderer>() != null && obj.isStatic) { SwitchLM.switchmaps(obj.GetComponent <Renderer>().lightmapIndex, far, near); } else { Debug.Log("Lightmap Manager requires a static gameObject with a renderer to do this job."); } }
public void SwitchLightmaps(int indexfar, int indexnear) { SwitchLM.switchmaps(indexfar, indexnear, this.GetComponent <Renderer>().lightmapIndex, SwitchTexturesFar, SwitchTexturesNear); //LightmapData lmapData = new LightmapData(); //Debug.Log("Swithching textures" + indexfar.ToString() + "," + indexnear.ToString()); //if (indexfar != -1) // lmapData.lightmapFar = SwitchTexturesFar[indexfar]; //else // lmapData.lightmapFar = LightmapSettings.lightmaps[this.renderer.lightmapIndex].lightmapFar; //if (indexnear != -1) // lmapData.lightmapNear = SwitchTexturesNear[indexnear]; //else // lmapData.lightmapNear = LightmapSettings.lightmaps[this.renderer.lightmapIndex].lightmapNear; //LightmapSettings.lightmaps.SetValue(lmapData, this.renderer.lightmapIndex); //LightmapSettings.lightmaps[this.renderer.lightmapIndex] = lmapData; }