문제
터레인의 디테일 오브젝트 색상이 업데이트되지 않거나 머티리얼에 설정된 색과 같은 색이 되지 않습니다.
해결책
디테일 오브젝트 색상은 디테일 설정의 Healthy 및 Dry 색상에서 가져옵니다. 터레인의 디테일 색상을 바꾸려면 Healthy 및 Dry 색상을 변경합니다.
다음 글에서 색상 관련해 자세히 읽기: 디테일 오브젝트 색상 변경
퍼포먼스상의 이유로 런타임 시에는 머티리얼에서 나오는 색상이 자동으로 새로 고침되지 않습니다. 런타임 중에 색상을 새로 고침해야 하는 경우(가령 계절적 변화를 이유로), 다음 코드를 사용하면 됩니다.
Nature Renderer 1.1.8 또는 더 높은 버전:
using VisualDesignCafe.Rendering.Nature;
GetComponent<NatureRenderer>().FlushMaterials();
그 이전 버전:
using VisualDesignCafe.Rendering.Nature;
var camera = Camera.main;
var natureRenderer = GetComponent<NatureRenderer>();
var detailPrototypes = GetComponent<Terrain>().terrainData.detailPrototypes;
for( int i = 0; i < natureRenderer.TerrainData.DetailPrototypes.Length; i++ )
{
natureRenderer.TerrainData.DetailPrototypes[i].CopyFrom(
detailPrototypes[i],
camera != null ? camera.fieldOfView : 60f,
out bool flushEverything,
natureRenderer.BillboardGrassMaterial );
}