Сообщение от seaman
Зачем в while это? У Вас что анимация не зацикленная?
|
Дело в том, что стандартная анимация в Character Controller не работает. Пришлось свой скрипт писать.

#pragma strict
var runclip : AnimationClip;
var idleclip : AnimationClip;
var jumpclip : AnimationClip;
var fight1clip : AnimationClip;
var spawnGO : GameObject;
function Start ()
{
animation.AddClip(runclip, "run");
animation.AddClip(idleclip, "idle");
animation.AddClip(jumpclip, "jump");
animation.AddClip(fight1clip, "fight1");
}
function Update ()
{
var controller : CharacterController = GetComponent(CharacterController);
if(Input.GetAxis("Vertical") || Input.GetAxis("Horizontal"))
{
if(controller.isGrounded)
{
animation.CrossFade("run");
}
}
if(!Input.GetAxis("Vertical") && !Input.GetAxis("Horizontal") && !Input.GetKey(KeyCode.LeftControl))
{
if(controller.isGrounded)
{
animation.CrossFade("idle");
}
}
while(controller.isGrounded != controller.isGrounded)
{
animation.CrossFade("jump");
}
if(Input.GetKey(KeyCode.LeftControl))
{
if(!animation.IsPlaying("jump") && !animation.IsPlaying("run"))
{
animation["fight1"].speed = 8;
animation.CrossFade("fight1");
}
}
if(transform.position.y < -10)
{
var ygo = spawnGO.transform.position.y;
var xgo = spawnGO.transform.position.x;
var zgo = spawnGO.transform.position.z;
transform.position = Vector3(xgo,ygo,zgo);
}
}
Такие вот дела...