【发布时间】:2013-08-10 16:15:12
【问题描述】:
如何在运行时而不是在 Inspector 中使用 UnityScript 或 C# 更改像素误差、底图距离、投射阴影、树距离和其他设置?
我尝试在 activeTerrain 中查看,在其下方,Intellisense 似乎看不到与我上面提到的内容相关的任何内容。
【问题讨论】:
标签: c# .net unity3d unityscript
如何在运行时而不是在 Inspector 中使用 UnityScript 或 C# 更改像素误差、底图距离、投射阴影、树距离和其他设置?
我尝试在 activeTerrain 中查看,在其下方,Intellisense 似乎看不到与我上面提到的内容相关的任何内容。
【问题讨论】:
标签: c# .net unity3d unityscript
这很奇怪...您的 IntelliSense 是否有可能没有以正确的方式工作? activeTerrain 应该可以解决问题,因为它包含 heightmapPixelError(您在问题标题中指明的值)以及您列出的所有其他变量( baseMapDistance、castShadows 和 treeDistance)。我链接了reference,以防万一你还没看……
【讨论】:
经过一番研究,我找到了答案!
在 Terrain 上引用 Component 相对容易。该脚本有效:
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;
}
【讨论】: