Question by
ccegeadamcc · Nov 20, 2015 at 06:42 PM ·
modelanimationsmodels3rd person controller
Changing 3rd Person Controller Character Animation Problem
Hi, i am begginer in Unity 3d. I changed 3rd Person Controller with my model. I do drag & drop and deleted Bip001. But my animations couldn't playing! (Animation names are same with Constructor.fbx). My Control Script is here( Animation names are same with Constructor.fbx in my model):
using UnityEngine;
using System.Collections;
public class PlayerControl : MonoBehaviour {
public GameControlScript control;
CharacterController controller;
bool isGrounded= false;
public float speed = 6.0f;
public float jumpSpeed = 8.0f;
public float gravity = 20.0f;
private Vector3 moveDirection = Vector3.zero;
//start
void Start () {
controller = GetComponent<CharacterController>();
}
// Update is called once per frame
void Update (){
if (controller.isGrounded) {
GetComponent<Animation>().Play("run"); //play "run" animation if spacebar is not pressed
moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, 0); //get keyboard input to move in the horizontal direction
moveDirection = transform.TransformDirection(moveDirection); //apply this direction to the character
moveDirection *= speed; //increase the speed of the movement by the factor "speed"
if (Input.GetButton ("Jump")) { //play "Jump" animation if character is grounded and spacebar is pressed
GetComponent<Animation>().Stop("run");
GetComponent<Animation>().Play("jump_pose");
moveDirection.y = jumpSpeed; //add the jump height to the character
}
if(controller.isGrounded) //set the flag isGrounded to true if character is grounded
isGrounded = true;
}
moveDirection.y -= gravity * Time.deltaTime; //Apply gravity
controller.Move(moveDirection * Time.deltaTime); //Move the controller
}
//check if the character collects the powerups or the snags
void OnTriggerEnter(Collider other)
{
if(other.gameObject.name == "Powerup(Clone)")
{
control.PowerupCollected();
}
else if(other.gameObject.name == "Obstacle(Clone)" && isGrounded == true)
{
control.AlcoholCollected();
}
Destroy(other.gameObject);
}
}
sorry for my bad english
Comment