Welcome!

Welcome to our community forums, full of great people, ideas and excitement. Please register if you would like to take part.

This is extra text with a test link..

Register Now

Announcement

Collapse
No announcement yet.

Static Camera Script

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Static Camera Script

    Code:
    var speed : float;
    var rotationSpeed : float = 100.0;
    
    function Update () {
    	var forward : Vector3 = Camera.main.transform.TransformDirection(Vector3.forward);
    	var right : Vector3 = Camera.main.transform.TransformDirection(Vector3.right);
    	var controller : CharacterController = GetComponent(CharacterController);
    	
    	var rotation : float = Input.GetAxis ("Horizontal") * rotationSpeed;
    
    
    	if (Input.GetAxis("Vertical"))
    	{
    		controller.Move(forward * speed);    // 7 is depending the value you want to give for speed..
    	}
    	
    	if (Input.GetAxis("Horizontal"))
    	{
    		controller.Move(right * speed);
    	}
    	
    	transform.Rotate(forward);
    
    }

  • #2
    Ignore that one. This one is better. Still needs the mechanism to swap whatever is plugged into the activeCamera variable, but we can work that one out in class.

    Code:
    var speed = 6.0;
    var jumpSpeed = 8.0;
    var gravity = 20.0;
     
    private var moveDirection = Vector3.zero;
    private var grounded : boolean = false;
    
    var activeCamera : GameObject;
     
    function FixedUpdate() {
        if (grounded) {
            forward = activeCamera.transform.TransformDirection(Vector3.forward);
    	    forward.y = 0;
    	    forward = forward.normalized;
    	    right  = new Vector3(forward.z, 0, -forward.x);
    	    h = Input.GetAxis("Horizontal");
    	    v=Input.GetAxis("Vertical");
    	 
    	    moveDirection  = (h * right  + v * forward) ;
    	    moveDirection *= speed ;
    	 
    	    if (Input.GetButton ("Jump")) {
    	        moveDirection.y = jumpSpeed;
    	    }
    	}
        // Apply gravity
        moveDirection.y -= gravity * Time.deltaTime;
     
        // Move the controller
        var controller : CharacterController = GetComponent(CharacterController);
        var flags = controller.Move(moveDirection * Time.deltaTime);
        grounded = (flags & CollisionFlags.CollidedBelow) != 0;
    }
     
    @script RequireComponent(CharacterController)

    Comment

    Working...
    X