- Home /
CharacterController doesn't rotate on my script...
I'm busy with making a fist person interface, but it doesn't work... I want to make a person that can walk, run, rotate, and - later on - shoot... I'm working with javaScript by the way... Here is my code:
var turnSpeed : float = 5;
var walkSpeed : float = 6.0;
var runSpeed : float = 10.0;
var jumpSpeed : float = 8.0;
var gravity : float = 20.0;
private var moveDirection : Vector3 = Vector3.zero;
private var turnDirection : Vector3 = Vector3.zero;
function Start () {
//Screen.lockCursor = true;
}
function Update() {
var controller : CharacterController = GetComponent(CharacterController);
if (controller.isGrounded) {
moveDirection = transform.TransformDirection(Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")));
moveDirection = moveDirection * walkSpeed;
turnDirection = transform.Rotate(Vector3(Input.GetAxis("Mouse X"), Input.GetAxis("Mouse Y"), 0));
turnDirection = turnDirection * turnSpeed;
}
if (Input.GetButton ("Jump")) {
moveDirection.y = jumpSpeed;
}
// Apply gravity
moveDirection.y -= gravity * Time.deltaTime;
// Move the controller
controller.Move(moveDirection * Time.deltaTime);
controller.Rotate(turnDirection * Time.deltaTime);
}
The main problem is that there is an error on line 22 - I'm not sure, but the error says "Cannot convert 'void' to 'UnityEngine.Vector3". And if you can help me a little bit with the running script, that would be grateful...
Answer by Jeff-Kesselman · Jun 07, 2014 at 06:19 PM
The error is exactly what it says it is.
Transform.Rotate does not return a value.
See http://docs.unity3d.com/ScriptReference/Transform.Rotate.html
I don't understand, how should I fix this? Would you give an example?
You are using Transform.Rotate wrong. It doesn't do what you think it does.
All it does is apply the rotation to a given transform, changing that transform.
Frankly Im not sure what you are trying to do there.
I'm trying to make my 'sphere' walk. But I want to let him rotate when I move my mouse... The same idea as first person shooter players...
Your answer
Follow this Question
Related Questions
Can someone help me fix my Javascript for Flickering Light? 6 Answers
Setting Scroll View Width GUILayout 1 Answer
I can do this in JS or not ??? 2 Answers
Rotating An Object On Its Axis Once 3 Answers