🌃
【Unity】完全に暗闇にするための5つの手順
1.Directional Lightを非アクティブ、または方向を上向きに変更する。
2.lightningsettingを開き、Intencitymutipliierを0に。SkyboxのSourceがColorならBlackにする。
SkyBoxの時↓
Colorの時↓
3.背景も真っ暗にしたいのならカメラのClearFlagをDont Clearに。
4.オブジェクトが光っている場合、マテリアルを確認して以下項目変更
Terrainも光るので使用している場合はTerrainコンポーネント→LeyaersからMetalicを1に。
5.Bakeされている(光を既に張り付けた)状態だとオブジェクトはライトにかかわらず光るのでClearBakedDataを行う
レンダリングをリアルタイムにしたい場合やBake状態を無効にするにはLightningのGnerateLightningの三角ClearBakedDataからできます。
焚火以外全く見えない状態
完成です
上の5つの項目を切り替えるスクリプト
public bool night;
public GameObject playerLight;
public Terrain terrain;
public TerrainLayer[] terrainLayer;
void Start()
{
terrainLayer = terrain.terrainData.terrainLayers;
if (night == true)
{
directionalLightOb.SetActive(false);
RenderSettings.reflectionIntensity = 0;
RenderSettings.ambientSkyColor = new Color(0, 0, 0);
for (int i = 0; i < terrainLayer.Length; ++i)
{
terrainLayer[i].metallic = 1;
}
playerLight.GetComponent<Light>().enabled = true;
}
else
{
playerLight.GetComponent<Light>().enabled = false;
}
}
Discussion