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

修改了材质而细节颜色没有跟着更新

问题

地形内细节物的颜色没有更新,或者跟材质里色彩集的颜色不一样。

解决方法

细节物件颜色是以细节设定(detail settings)中的载入。要修改「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 人觉得有帮助