- Home /
How do you get the Terrain Size (C#)?
Hello! I tried getting the Terrain Size, according to the Manual, but it didn't work. What did I do wrong?
Error: Expression denotes a "type", where a "variable" was expected.
void Start () {
GameObject GameTerrain = GameObject.Find("Terrain");
Vector3 Dimensions;
Dimensions = GameTerrain.GetComponent(Terrain).TerrainData.size;
}
Answer by davis252 · Apr 24, 2017 at 02:29 PM
You can use the type in triangle brackets like so:
Vector3 mySize = GameObject.Find("Terrain").GetComponent<Terrain>().terrainData.size;
Answer by Graham-Dunnett · Feb 07, 2015 at 10:09 AM
The terrain docs:
http://docs.unity3d.com/ScriptReference/Terrain.html
say that terrain data is called terrainData (lowercase t).
Yes, I tried that, but then I get three errors ins$$anonymous$$d of just one error. $$anonymous$$y code is like this right now:
void Start () {
GameObject GameTerrain = GameObject.Find("Terrain");
Vector3 Dimensions;
Dimensions = GameTerrain.GetComponent(Terrain).terrainData.size;
}
But now I get these three errors: 1. Expression denotes a "type", where a "variable" was expected 2. The best overloaded method match for "UnityEngine.GetComponent(System.Type)" has some invalid arguments 3. Argument #1 cannot convert "object" expression to type "System.Type"
Your answer
Follow this Question
Related Questions
Distribute terrain in zones 3 Answers
Multiple Cars not working 1 Answer
Terrain Textures, bigger is better? 1 Answer
SetAlphaMaps Opacity Gradient 0 Answers
Android OnGUI Font size problem. 0 Answers