I am trying to make a simple ball game where you roll around, similar to the one here, but 3D. I am attempting to make the camera hover slightly behind the ball as in Skyrim, but I cannot figure out how to make the ball move towards the cursor. The current issue is that I’m using Velocity3.direction, but I’m not sure how else I’d have the ball move. How would I do this? Thanks.
Here’s the camera’s code:
#pragma strict
var follow : Transform;
var myPos : Vector3;
var horizontalSpeed : float = 2.0;
function LateUpdate() {
transform.position = follow.position + myPos;
var h : float = horizontalSpeed * Input.GetAxis ("Mouse X");
transform.Rotate (0, h, 0);
}
And here’s the code for the ball:
#pragma strict
//Jumping stuff
var world = "01";
var speed : float = 10;
var jumpHeight = 8;
private var isFalling = false;
//Coins
private var coins = 0;
var coinsToWin = 1;
//Levels
var nextLevel = "0102";
function Update ()
{
//Handle ball rotation
//-Basic movement
if (Input.GetKey("w"))
{rigidbody.AddForce(Vector3.forward * speed);}
if (Input.GetKey("s"))
{rigidbody.AddForce(0,0,1*(-speed));}
if (Input.GetKey("a"))
{rigidbody.AddForce(Vector3.left*speed);}
if (Input.GetKey("d"))
{rigidbody.AddForce(Vector3.right * speed);}
//-Jumping
if (world != "01" && world != "02")
{
if (Input.GetKeyDown(KeyCode.Space) && isFalling == false)
{rigidbody.velocity.y = jumpHeight;}
}
isFalling = true;
//Coin Winning? WORK ON ACTUALLY MAKING COINS DO STUFF
if (coins >= coinsToWin)
{Application.LoadLevel(nextLevel);}
}
//Checks to make sure you're on ground before jumping
function OnCollisionStay ()
{
isFalling = false;
}