- Home /
Question by
Dorian75 · Dec 03, 2013 at 09:51 PM ·
controllercoroutinenewbiesimplemove
Cant make controller.SimpleMove move my char
Hello
I try to use coroutine to move my character during 2 seconds every 2.5 seconds, the walk animation works but the character wont move
What I'm doing wrong ?
@script RequireComponent(CharacterController)
var speed:float = 5;
var controller: CharacterController;
var directionChangeInterval:float = 1;
var maxHeadingChange:float = 30;
var heading: float=0;
var targetRotation: Vector3;
var forward: Vector3;
function Awake (){
transform.eulerAngles = Vector3(0, Random.Range(0,360), 0);
//StartCoroutine
WanderCycle();
}
function Update (){
controller = GetComponent(CharacterController);
transform.eulerAngles = Vector3.Slerp(transform.eulerAngles, targetRotation, Time.deltaTime * directionChangeInterval);
forward = transform.TransformDirection(Vector3.forward);
}
function WanderCycle(){
while(true) {
yield Walk();
yield Work();
}
}
function Walk(){
controller.SimpleMove(forward * speed);
animation.CrossFade("Walking",0.2);
yield WaitForSeconds(2.0);
}
function Work(){
animation.CrossFade("Working",0.2);
yield WaitForSeconds(2.5);
}
Comment
Your answer
Follow this Question
Related Questions
MMD How to export model and animations to Unity as 3rd person controller? 2 Answers
The name 'Joystick' does not denote a valid type ('not found') 2 Answers
Follow script problem 1 Answer
3rd person character movement problems 1 Answer
3D characther controller dash ability with coroutine doesnt work 1 Answer