Skip to content

Instantly share code, notes, and snippets.

@anchan828
Last active December 11, 2015 07:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anchan828/4567374 to your computer and use it in GitHub Desktop.
Save anchan828/4567374 to your computer and use it in GitHub Desktop.
Animatorで重力
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(Animator))]
[RequireComponent(typeof(CharacterController))]
public class RobotController : MonoBehaviour
{
private Animator animator;
private CharacterController characterController;
void Start ()
{
animator = GetComponent<Animator> ();
characterController = GetComponent<CharacterController> ();
}
void Update ()
{
animator.SetFloat ("run", Input.GetAxis ("Vertical"));
animator.SetFloat ("dir", Input.GetAxis ("Horizontal"));
}
private Vector3 gravityVelocity = Vector3.zero;
void OnAnimatorMove ()
{
Vector3 pos = animator.deltaPosition;
transform.rotation = animator.rootRotation;
if (characterController.isGrounded == false) {
pos += gravityVelocity += Vector3.down * animator.gravityWeight * Time.deltaTime;
} else {
gravityVelocity = Vector3.zero;
}
characterController.Move (pos);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment