//Disable directional light and set ambient color to white for an albedo result void LightSetup() { //Set up lighting for a proper albedo color lights = FindObjectsOfType <Light>(); foreach (Light light in lights) { if (light.type == LightType.Directional) { light.gameObject.SetActive(false); } } //Store current settings to revert to ambientMode = RenderSettings.ambientMode; ambientColor = RenderSettings.ambientLight; enableFog = RenderSettings.fog; //Flat lighting RenderSettings.ambientMode = UnityEngine.Rendering.AmbientMode.Flat; RenderSettings.ambientLight = Color.white; RenderSettings.fog = false; //To account for Forward rendering being slightly darker, add a light if (useAlternativeRenderer) { if (!renderLight) { renderLight = new GameObject().AddComponent <Light>(); } renderLight.name = "renderLight"; renderLight.type = LightType.Directional; renderLight.transform.localEulerAngles = new Vector3(90, 0, 0); renderLight.intensity = renderLightBrightness; } }
static bool FindSun() { if (sun == null) { sun = UnityEngine.Object.FindObjectsOfType <Light>() .FirstOrDefault((Light light) => light.type == LightType.Directional && light.name == "Directional Light"); if (sun == null) { return(false); } moon = UnityEngine.Object.Instantiate <Light>(sun); if (sun == moon) { throw new Exception("sun and moon are the same!"); } moon.color = new Color(moon.color.r * 0.7f, moon.color.g * 0.85f, moon.color.b); Vector3 sunDefault = sun.transform.rotation.eulerAngles; defaultAltitude = sunDefault.x; defaultAzimuth = sunDefault.y; defaultIntensity = sun.intensity; defaultRotation = RenderSettings.skybox.GetFloat("_Rotation"); defaultExposure = RenderSettings.skybox.GetFloat("_Exposure"); defaultAmbientMode = RenderSettings.ambientMode; defaultAmbientLight = RenderSettings.ambientLight; defaultFogColor = RenderSettings.fogColor; Debug.Log(string.Format("[DayNight] defaults:\n" + " >altitude={0}\n" + " >azimuth={1}\n" + " >intensity={2}\n" + " >rotation={3}\n" + " >exposure={4}\n" + " >ambient mode={5}\n" + " >ambient light={6}\n" + " >fog color={7}", defaultAltitude, defaultAzimuth, defaultIntensity, defaultRotation, defaultExposure, defaultAmbientMode, defaultAmbientLight, defaultFogColor)); Debug.Log("skybox shader: " + RenderSettings.skybox.shader.name); } return(true); }
static int QPYX_set_ambientMode_YXQP(IntPtr L_YXQP) { try { UnityEngine.Rendering.AmbientMode QPYX_arg0_YXQP = (UnityEngine.Rendering.AmbientMode)ToLua.CheckObject(L_YXQP, 2, typeof(UnityEngine.Rendering.AmbientMode)); UnityEngine.RenderSettings.ambientMode = QPYX_arg0_YXQP; return(0); } catch (Exception e_YXQP) { return(LuaDLL.toluaL_exception(L_YXQP, e_YXQP)); } }
static int set_ambientModeter(IntPtr L) { try { UnityEngine.Rendering.AmbientMode arg0 = (UnityEngine.Rendering.AmbientMode)LuaDLL.luaL_checknumber(L, 1); UnityEngine.RenderSettings.ambientMode = arg0; return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int set_ambientMode(IntPtr L) { try { UnityEngine.Rendering.AmbientMode arg0 = (UnityEngine.Rendering.AmbientMode)ToLua.CheckObject(L, 2, typeof(UnityEngine.Rendering.AmbientMode)); UnityEngine.RenderSettings.ambientMode = arg0; return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
void OnEnable() { sunProperties = GetComponent <SunProperties> (); m_TimeOfDayManager = FindObjectOfType <TimeOfDayManager> (); m_PrevAmbientMode = RenderSettings.ambientMode; RenderSettings.ambientMode = UnityEngine.Rendering.AmbientMode.Trilight; if (sunProperties != null) { sunProperties.ambientMultiply = ambientMultiply; sunProperties.Run(); } }
void OnEnable() { sunProperties = GetComponent<SunProperties> (); m_TimeOfDayManager = FindObjectOfType<TimeOfDayManager> (); m_PrevAmbientMode = RenderSettings.ambientMode; RenderSettings.ambientMode = UnityEngine.Rendering.AmbientMode.Trilight; if (sunProperties != null) { sunProperties.ambientMultiply = ambientMultiply; sunProperties.Run (); } }
static void RenderSettings_ambientMode(JSVCall vc) { if (vc.bGet) { var result = UnityEngine.RenderSettings.ambientMode; JSApi.setEnum((int)JSApi.SetType.Rval, (int)result); } else { UnityEngine.Rendering.AmbientMode arg0 = (UnityEngine.Rendering.AmbientMode)JSApi.getEnum((int)JSApi.GetType.Arg); UnityEngine.RenderSettings.ambientMode = arg0; } }
static StackObject *set_ambientMode_13(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj) { CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain; StackObject *ptr_of_this_method; StackObject *__ret = ILIntepreter.Minus(__esp, 1); ptr_of_this_method = ILIntepreter.Minus(__esp, 1); UnityEngine.Rendering.AmbientMode value = (UnityEngine.Rendering.AmbientMode) typeof(UnityEngine.Rendering.AmbientMode).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack)); __intp.Free(ptr_of_this_method); UnityEngine.RenderSettings.ambientMode = value; return(__ret); }
static int set_ambientMode(IntPtr L) { #if UNITY_EDITOR ToluaProfiler.AddCallRecord("UnityEngine.RenderSettings.ambientMode"); #endif try { UnityEngine.Rendering.AmbientMode arg0 = (UnityEngine.Rendering.AmbientMode)ToLua.CheckObject(L, 2, typeof(UnityEngine.Rendering.AmbientMode)); UnityEngine.RenderSettings.ambientMode = arg0; return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
private void Start() { initialFogEnabled = RenderSettings.fog; initialFog = RenderSettings.fogColor; initialFogStart = RenderSettings.fogStartDistance; initialFogEnd = RenderSettings.fogEndDistance; initialAmbientMode = RenderSettings.ambientMode; initialAmbientLight = RenderSettings.ambientLight; initialFarClip = cam.farClipPlane; if (fadeQuad != null) { fadeQuad.material.renderQueue = 3500; } else { Debug.LogError(name + ": NebulaCameraFog missing assigned Fade Quad! Nebula fog fading will not work correctly!"); } }
public LOAmbient(EditorFacility facility, EditorLevel level, GameObject[] gameObjects, Camera camera, int layer) { mainCamera = camera; newLayer = layer; currentFacility = facility; originalCullingMask = camera.cullingMask; originalClearFlags = camera.clearFlags; originalAmbientLight = RenderSettings.ambientLight; originalSkybox = RenderSettings.skybox; originalLightmapData = LightmapSettings.lightmaps; originalAmbientMode = RenderSettings.ambientMode; // Create fake skybox skyCamera = new GameObject("NightSkyboxCamera", typeof(Camera)); // skyCamera.AddComponent<Camera>(); skyCamera.GetComponent<Camera>().depth = mainCamera.depth - 1; skyCamera.GetComponent<Camera>().clearFlags = CameraClearFlags.Skybox; skyCamera.GetComponent<Camera>().cullingMask = 0; nightSkyboxMaterial = new Material(originalSkybox); // GalaxyTex_PositiveX should be viewed outside window // Debug.Log("LightsOut: Loading Night Sky Textures"); foreach (Material material in Resources.FindObjectsOfTypeAll<Material>()) { Texture texture = material.mainTexture; if (texture) { switch (material.name) { case "ZP": nightSkyboxMaterial.SetTexture("_FrontTex", material.mainTexture); break; case "ZN": nightSkyboxMaterial.SetTexture("_BackTex", material.mainTexture); break; case "XP": nightSkyboxMaterial.SetTexture("_LeftTex", material.mainTexture); break; case "XN": nightSkyboxMaterial.SetTexture("_RightTex", material.mainTexture); break; case "YP": nightSkyboxMaterial.SetTexture("_UpTex", material.mainTexture); break; case "YN": nightSkyboxMaterial.SetTexture("_DownTex", material.mainTexture); break; default: break; } } } skyCamera.AddComponent<Skybox>(); skyCamera.GetComponent<Skybox>().material = nightSkyboxMaterial; if (facility == EditorFacility.VAB) { switch (level) { case EditorLevel.Level1: break; case EditorLevel.Level2: break; case EditorLevel.Level3: foreach (GameObject gameObject in gameObjects) { ChangeLayersRecursively(gameObject, newLayer, "model_vab_interior_floor_cover_v20"); } break; } } else if (facility == EditorFacility.SPH) { switch (level) { case EditorLevel.Level1: break; case EditorLevel.Level2: break; case EditorLevel.Level3: foreach (GameObject gameObject in gameObjects) { // These are all subsets of model_sph_interior_lights_v16 // Component_611_1 to 6 is window reflection // ChangeLayersRecursively(gameObject, newLayer, "Component_611_1"); // ChangeLayersRecursively(gameObject, newLayer, "Component_611_2"); // ChangeLayersRecursively(gameObject, newLayer, "Component_611_3"); ChangeLayersRecursively(gameObject, newLayer, "Component_611_4"); ChangeLayersRecursively(gameObject, newLayer, "Component_611_5"); ChangeLayersRecursively(gameObject, newLayer, "Component_611_6"); ChangeLayersRecursively(gameObject, newLayer, "Component_749_1"); // Glow from Side Lights! ChangeLayersRecursively(gameObject, newLayer, "Component_750_1"); // Lights! } break; } } }
private void CheckAmbientAndCorrection() { if (_editor == null) { return; } if (!_editor._isAmbientCorrectionOption) { //Ambient 보정 옵션이 False이면 처리를 안함 return; } //현재 Ambient 색상과 모드를 확인하자 UnityEngine.Rendering.AmbientMode ambientMode = RenderSettings.ambientMode; Color ambientColor = RenderSettings.ambientLight; if (ambientMode == UnityEngine.Rendering.AmbientMode.Flat && ambientColor.r <= 0.001f && ambientColor.g <= 0.001f && ambientColor.b <= 0.001f) { //Ambient가 검은색이다. return; } //이전 ////Ambient 색상을 바꿀 것인지 물어보자 #region [미사용 코드] //int iBtn = EditorUtility.DisplayDialogComplex( // _editor.GetText(TEXT.DLG_AmbientColorCorrection_Title), // _editor.GetText(TEXT.DLG_AmbientColorCorrection_Body), // _editor.GetText(TEXT.Okay), // _editor.GetText(TEXT.DLG_AmbientColorCorrection_Ignore), // _editor.GetText(TEXT.Cancel) // ); //if(iBtn == 0) //{ // //색상을 바꾸자 // MakeAmbientLightToBlack(); //} //else if(iBtn == 1) //{ // //무시하자 // _editor._isAmbientCorrectionOption = false; // _editor.SaveEditorPref(); //} #endregion //조건문 추가 19.6.22 : 현재의 기본 Material Set이 Ambient Color 색상이 검은색을 필요로할 경우 if (_targetPortrait != null) { apMaterialSet defaultMatSet = _targetPortrait.GetDefaultMaterialSet(); if (defaultMatSet != null) { if (!defaultMatSet._isNeedToSetBlackColoredAmbient) { //현재의 Default MatSet이 검은색을 필요로 하지 않는 경우 return; } } } //이후 : 별도의 다이얼로그 표시 apDialog_AmbientCorrection.ShowDialog(_editor, (int)position.x, (int)position.y); }
static int set_ambientMode(IntPtr L) { UnityEngine.Rendering.AmbientMode arg0 = (UnityEngine.Rendering.AmbientMode)ToLua.CheckObject(L, 2, typeof(UnityEngine.Rendering.AmbientMode)); UnityEngine.RenderSettings.ambientMode = arg0; return(0); }
public LOAmbient(EditorFacility facility, EditorLevel level, GameObject[] gameObjects, Camera camera, int layer) { mainCamera = camera; newLayer = layer; currentFacility = facility; originalCullingMask = camera.cullingMask; originalClearFlags = camera.clearFlags; originalAmbientLight = RenderSettings.ambientLight; originalSkybox = RenderSettings.skybox; originalLightmapData = LightmapSettings.lightmaps; originalAmbientMode = RenderSettings.ambientMode; // Create fake skybox skyCamera = new GameObject("NightSkyboxCamera", typeof(Camera)); // skyCamera.AddComponent<Camera>(); skyCamera.GetComponent <Camera>().depth = mainCamera.depth - 1; skyCamera.GetComponent <Camera>().clearFlags = CameraClearFlags.Skybox; skyCamera.GetComponent <Camera>().cullingMask = 0; nightSkyboxMaterial = new Material(originalSkybox); // GalaxyTex_PositiveX should be viewed outside window Debug.Log("LightsOut: Loading Night Sky Textures"); foreach (Material material in Resources.FindObjectsOfTypeAll <Material>()) { Texture texture = material.mainTexture; if (texture) { switch (material.name) { case "ZP (Instance)": nightSkyboxMaterial.SetTexture("_FrontTex", material.mainTexture); break; case "ZN (Instance)": nightSkyboxMaterial.SetTexture("_BackTex", material.mainTexture); break; case "XP (Instance)": nightSkyboxMaterial.SetTexture("_LeftTex", material.mainTexture); break; case "XN (Instance)": nightSkyboxMaterial.SetTexture("_RightTex", material.mainTexture); break; case "YP (Instance)": nightSkyboxMaterial.SetTexture("_UpTex", material.mainTexture); break; case "YN (Instance)": nightSkyboxMaterial.SetTexture("_DownTex", material.mainTexture); break; default: break; } } } skyCamera.AddComponent <Skybox>(); skyCamera.GetComponent <Skybox>().material = nightSkyboxMaterial; if (facility == EditorFacility.VAB) { switch (level) { case EditorLevel.Level1: break; case EditorLevel.Level2: break; case EditorLevel.Level3: foreach (GameObject gameObject in gameObjects) { ChangeLayersRecursively(gameObject, newLayer, "model_vab_interior_floor_cover_v20"); } break; } } else if (facility == EditorFacility.SPH) { switch (level) { case EditorLevel.Level1: break; case EditorLevel.Level2: break; case EditorLevel.Level3: foreach (GameObject gameObject in gameObjects) { // These are all subsets of model_sph_interior_lights_v16 // Component_611_1 to 6 is window reflection // ChangeLayersRecursively(gameObject, newLayer, "Component_611_1"); // ChangeLayersRecursively(gameObject, newLayer, "Component_611_2"); // ChangeLayersRecursively(gameObject, newLayer, "Component_611_3"); ChangeLayersRecursively(gameObject, newLayer, "Component_611_4"); ChangeLayersRecursively(gameObject, newLayer, "Component_611_5"); ChangeLayersRecursively(gameObject, newLayer, "Component_611_6"); ChangeLayersRecursively(gameObject, newLayer, "Component_749_1"); // Glow from Side Lights! ChangeLayersRecursively(gameObject, newLayer, "Component_750_1"); // Lights! } break; } } }