# Perlin Noise only implements in one axis?

So I used the code from the tutorial here but my terrain looks completely different, as pictured. Have they changed how the perlin noise function works in Unity? Thanks.

[29957-screenshot+2014-07-29+10.11.12.png|29957]
[29958-screenshot+2014-07-29+10.09.37.png|29958]
SOLVED: I used child.transform.position.y instead of child.transform.position.z in the second value of the perlin noise function.

My Code:

``````#pragma strict
var size : int = 10;
var cube : GameObject;
var scale : float = 6.5;
var move : boolean = false;

function Start () {
for(var x=0;x<size;x++){
for(var z=0;z<size;z++){
var c = Instantiate(cube, Vector3(x,0,z),Quaternion.identity);
c.transform.parent = transform;
}
}
for(var child:Transform in transform){
var height = Mathf.PerlinNoise(child.transform.position.x/scale,child.transform.position.y/scale);
child.renderer.material.color = Color(height,height,height,height);
}
}

function Update () {
for(var child:Transform in transform){
var height = Mathf.PerlinNoise(child.transform.position.x/scale,child.transform.position.y/scale);
child.renderer.material.color = Color(height,height,height,height);
}
if(move == true){
for(var child:Transform in transform){
height = Mathf.PerlinNoise(child.transform.position.x/scale,child.transform.position.y/scale);
child.transform.position.y = height;
}
}
}
``````

I think you want to feed the Z axis of the position into the second parameter of perlin noise: not the Y.

Also you might want to keep an eye on your draw calls. That’s a lot of children.