Hi, as you guys don’t know, I am new to Unity3D but I am learning quikly, so complex code is welcome.
However, coming to the point, I have blocks (huge blocks like buildings) in my game as a background, what I need is to move the objects, if it can, move the blocks randomly up and down.
So it’s creating a nice effect int the background, but I don’t want to animate it, because I am already instantiating and looping the blocks randomly in a size of x and y in the background.
Here you go! Just adjust the vaues to yourliking 
Good luck!
var maxUpAndDown : float = 1; // amount of meters going up and down
var speed : float = 200; // up and down speed
protected var angle : float = 0; // angle to determin the height by using the sinus
protected var toDegrees : float = Mathf.PI/180; // radians to degrees
function Update()
{
angle += speed * Time.deltaTime;
if (angle > 360) angle -= 360;
transform.position.y = maxUpAndDown * Mathf.Sin(angle * toDegrees);
}
Here u go!
Only when you adjust the MaxUpAndDown you have to reload the game
var maxUpAndDown : float = 1; // amount of meters going up and down
var speed : float = 50; // up and down speed
protected var angle : float = -90; // angle to determin the height by using the sinus
protected var toDegrees : float = Mathf.PI/180; // radians to degrees
protected var startHeight : float; // height of the object when the script starts
function Start()
{
startHeight = transform.localPosition.y;
}
function FixedUpdate()
{
angle += speed * Time.deltaTime;
if (angle > 270) angle -= 360;
Debug.Log(maxUpAndDown * Mathf.Sin(angle * toDegrees));
transform.localPosition.y = startHeight + maxUpAndDown * (1 + Mathf.Sin(angle * toDegrees)) / 2;
}