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

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

问题

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

解决方法

细节物件颜色是以细节设定(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 人觉得有帮助