배경 포그 값 스크립트로 제어하기
게임을 제작할때 메인 전투씬이 있고 그 곳에 배경씬을 로드되는 식으로 제작될 때가 있습니다.
이때의 문제점이 각각의 배경마다의 포그값이나 후처리 값을 가지고 갈 수 없는 문제점이 있습니다.
그럴 때 로드될 배경씬에 포그값 정보에 대한 것을 스크리트로 처리하게 되면 사용이 가능해 집니다.
1. 스크립트 제작
using UnityEngine;
using System.Collections;
public class RK_Fog : MonoBehaviour {
public bool isFogOnOff = false;
public Color RkFogColor;
public enum RkFogMode : int
{
Linear = 0,
Expotential = 1,
ExpotentialSquared = 2,
}
public RkFogMode RkFogModeEnum;
public float LinearStart = 0.0f;
public float LinearEnd = 10.0f;
public float ExpotentialDensity = 0.01f;
// Use this for initialization
void Start () {
if (isFogOnOff == true) {
RenderSettings.fog = true;
RenderSettings.fogColor = RkFogColor;
if ((int)RkFogModeEnum == 0) {
RenderSettings.fogMode = FogMode.Linear;
RenderSettings.fogStartDistance = LinearStart;
RenderSettings.fogEndDistance = LinearEnd;
}
if ((int)RkFogModeEnum == 1) {
RenderSettings.fogMode = FogMode.Exponential;
RenderSettings.fogDensity = ExpotentialDensity;
}
if ((int)RkFogModeEnum == 2) {
RenderSettings.fogMode = FogMode.ExponentialSquared;
RenderSettings.fogDensity = ExpotentialDensity;
}
} else {
RenderSettings.fog = false;
}
}
// Update is called once per frame
void Update () {
}
}
2. 제작 된 스크립트를 씬에 오브젝트를 만들어 배치합니다.