New: Nature Shaders

Interaction, Wind, Dynamic Masking, and Better Shading for your vegetation.

Learn more
This page may not work correctly inside the Unity editor. Open in browser

머티리얼에 변경이 있는데 디테일 컬러가 업데이트되지 않습니다

문제

터레인의 디테일 오브젝트 색상이 업데이트되지 않거나 머티리얼에 설정된 색과 같은 색이 되지 않습니다.

해결책

디테일 오브젝트 색상은 디테일 설정의 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 );
}

 

도움이 되었습니까?
1명 중 0명이 도움이 되었다고 했습니다.