{ "code": { "language": "C#", "content": [ { "line": 1, "text": "{" }, { "line": 2, "text": "using UnityEngine;" }, { "line": 3, "text": "public class TerrainLoader : MonoBehaviour" }, { "line": 4, "text": "{" }, { "line": 5, "text": " private string terrainName = \"MountainTerrain\";" }, { "line": 6, "text": " private int lodLevel = 2;" }, { "line": 7, "text": " private Terrain terrain;" }, { "line": 8, "text": " private bool isLoaded = false;" }, { "line": 9, "text": " public string debugstr = \"Loading...\";" }, { "line": 10, "text": "" }, { "line": 11, "text": " void Start()" }, { "line": 12, "text": " {" }, { "line": 13, "text": " LoadTerrain();" }, { "line": 14, "text": " }" }, { "line": 15, "text": "" }, { "line": 16, "text": " void LoadTerrain()" }, { "line": 17, "text": " {" }, { "line": 18, "text": " if (isLoaded)" }, { "line": 19, "text": " return;" }, { "line": 20, "text": "" }, { "line": 21, "text": " TerrainData terrainData = Resources.Load<TerrainData>(terrainName);" }, { "line": 22, "text": " if (terrainData == null)" }, { "line": 23, "text": " {" }, { "line": 24, "text": " debugstr = \"Terrain data not found!\";" }, { "line": 25, "text": " return;" }, { "line": 26, "text": " }" }, { "line": 27, "text": "" }, { "line": 28, "text": " terrain = Terrain.Instantiate(terrainData, new Vector3(0, 0, 0), Quaternion.identity);" }, { "line": 29, "text": " terrain.transform.localScale = Vector3.one * Mathf.Pow(2, lodLevel);" }, { "line": 30, "text": " isLoaded = true;" }, { "line": 31, "text": " debugstr = \"Terrain loaded!\";" }, { "line": 32, "text": " }" }, { "line": 33, "text": "" }, { "line": 34, "text": " void Update()" }, { "line": 35, "text": " {" }, { "line": 36, "text": " if (!isLoaded)" }, { "line": 37, "text": " LoadTerrain();" }, { "line": 38, "text": " }" }, { "line": 39, "text": "" }, { "line": 40, "text": " void OnGUI()" }, { "line": 41, "text": " {" }, { "line": 42, "text": " GUI.Label(new Rect(0, 0, 200, 200), debugstr);" }, { "line": 43, "text": " }" }, { "line": 44, "text": "" }, { "line": 45, "text": "}" } ] } }