最終效果
眩光素材
鏈接:https://pan.baidu.com/s/1qlFSJSju6ZjwCylwkh14eA?pwd=veww
提取碼:veww
眩光配置
眩光其實可以簡單的理解為太陽或月亮
全局燈光配置
想要相機顯示眩光,需要在相機添加Flare Layer組件
天空盒配置
天空盒資產(chǎn)
配置天空盒,開啟霧
代碼控制天空盒 環(huán)境 霧 燈光晝夜交替變化
public class DayAndNight : MonoBehaviour
{
[Header("霧的顏色漸變")]
[SerializeField] private Gradient fogGradient;
[Header("環(huán)境光顏色漸變")]
[SerializeField] private Gradient ambientGradient;
[Header("太陽光顏色漸變")]
[SerializeField] private Gradient directionLightGradient;
[Header("天空盒色調(diào)漸變")]
[SerializeField] private Gradient skyboxTintGradient;
[Header("方向光源")]
[SerializeField] private Light directionalLight;
[Header("天空盒材質(zhì)")]
[SerializeField] private Material skyboxMaterial;
[Header("白天持續(xù)時間(秒)")]
[SerializeField] private float dayDurationInSeconds = 60f;
[Header("天空盒旋轉(zhuǎn)速度")]
[SerializeField] private float rotationSpeed = 1f;
private float currentTime = 0; // 當前時間(0-1)
private void Update()
{
UpdateTime();
UpdateDayNightCycle();
RotateSkybox();
}
// 更新當前時間
private void UpdateTime()
{
currentTime += Time.deltaTime / dayDurationInSeconds;
currentTime = Mathf.Repeat(currentTime, 1f);
}
// 更新白天黑夜循環(huán)效果
private void UpdateDayNightCycle()
{
// 計算太陽的位置
float sunPosition = Mathf.Repeat(currentTime + 0.25f, 1f);
directionalLight.transform.rotation = Quaternion.Euler(sunPosition * 360f, 0f, 0f);
// 更新霧、環(huán)境光、太陽光和天空盒的顏色
RenderSettings.fogColor = fogGradient.Evaluate(currentTime);
RenderSettings.ambientLight = ambientGradient.Evaluate(currentTime);
directionalLight.color = directionLightGradient.Evaluate(currentTime);
skyboxMaterial.SetColor("_Tint", skyboxTintGradient.Evaluate(currentTime));
}
// 旋轉(zhuǎn)天空盒
private void RotateSkybox()
{
float currentRotation = skyboxMaterial.GetFloat("_Rotation");
float newRotation = currentRotation + rotationSpeed * Time.deltaTime;
newRotation = Mathf.Repeat(newRotation, 360f);
skyboxMaterial.SetFloat("_Rotation", newRotation);
}
// 在應用程序退出時重置天空盒顏色
private void OnApplicationQuit()
{
skyboxMaterial.SetColor("_Tint", new Color(0.5f, 0.5f, 0.5f));
}
}
配置參數(shù)
配置20 25 30 70 75 80位置的燈光顏色,具體的需要根據(jù)自己的天空盒 環(huán)境等,調(diào)配出適合的顏色和過渡
效果
加眩光
參考
【視頻】https://www.youtube.com/watch?v=ME6Bh9Hclgk
完結
贈人玫瑰,手有余香!如果文章內(nèi)容對你有所幫助,請不要吝嗇你的點贊評論和關注
,以便我第一時間收到反饋,你的每一次支持
都是我不斷創(chuàng)作的最大動力。當然如果你發(fā)現(xiàn)了文章中存在錯誤
或者有更好的解決方法
,也歡迎評論私信告訴我哦!
好了,我是向宇
,https://xiangyu.blog.csdn.net
一位在小公司默默奮斗的開發(fā)者,出于興趣愛好,最近開始自學unity,閑暇之余,邊學習邊記錄分享,站在巨人的肩膀上,通過學習前輩們的經(jīng)驗總是會給我很多幫助和啟發(fā)!php是工作,unity是生活!如果你遇到任何問題,也歡迎你評論私信找我, 雖然有些問題我也不一定會,但是我會查閱各方資料,爭取給出最好的建議,希望可以幫助更多想學編程的人,共勉~文章來源:http://www.zghlxwxcb.cn/news/detail-836547.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-836547.html
到了這里,關于【unity小技巧】unity3d環(huán)境帶霧的晝夜系統(tǒng)變化的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!