如何在运行时更改Unity3D地形中的像素错误

本文关键字:像素 错误 Unity3D 运行时 | 更新日期: 2023-09-27 18:27:00

如何在运行时更改"像素误差"、"基准贴图距离"、"投射阴影"、"树距离"和其他设置,而不是在检查器中使用UnityScript或C#?

我试着在activeTerrain中查看,在那里的下面,Intellisense似乎看不到任何与我上面提到的有关的东西。

如何在运行时更改Unity3D地形中的像素错误

这很奇怪。。。您的IntelliSense是否可能工作不正常?activeTerrain应该做到这一点,因为它包含heightmapPixelError(您在问题标题中指示的值),以及您列出的所有其他变量(baseMapDistancecastShadowstreeDistance。我把参考链接起来,以防你还没看。。。

经过一番研究,我找到了答案!

当您参考地形上的组件时,这相对容易。这个脚本有效:

for(var gameObj : Terrain in GameObject.FindObjectsOfType(Terrain)) {
        gameObj.GetComponent.<Terrain>().heightmapPixelError = 200;
        gameObj.GetComponent.<Terrain>().basemapDistance = 200;
        gameObj.GetComponent.<Terrain>().castShadows = false;
        gameObj.GetComponent.<Terrain>().treeDistance = 500;
        gameObj.GetComponent.<Terrain>().detailObjectDistance = 25;
      }