어제는 "Unlimited+ for Mecanim by Mixamo" 라는 유니티 패키지를 구입했습니다. Mixamo 에서 운영하는 애니메이션 클립 상점을 유니티 에디터에 확장해주는 플러그인으로 많은 애니메이션 클립을 무료로 다운로드 할 수 있는 패키지입니다. 유니티 에셋 스토어에서 캐릭터 모델을 샀는데 필요한 애니메이션 동작이 빠져있는 경우가 다반사이며 이럴때 이런 애니메이션 상점에서 원하는 동작을 찾아서 내 캐릭터에 입혀볼 수 있습니다. 앞으로 이 툴은 3D 게임 제작에 유용하게 활용될 것으로 기대하고 있고 당장 지금 진행하는 3D 액션 게임 프로토타이핑 에서부터 적용하게 될 것입니다. 아래 동영상에 등장하는 캐릭터 모델은 15달러에 구입한 "Adventurer Character" 이며 상점 패키지는 750달러에 구입한 "Unlimited+ for Mecanim by Mixamo" 라는 것입니다.

[메카님 연습 패키지] MecanimFighterBegin.unitypackage

[메카님 데모 페이지] http://www.hompydesign.com/tmp/mecanim_test

[메카님 파이터 PC 제어 코드 소스]

using UnityEngine;
using System.Collections;
public class IdleRunAttack : MonoBehaviour {
    protected Animator animator;
    public float DirectionDampTime = .25f;
    public bool ApplyGravity = true;
    void Start () {
        animator = GetComponent<Animator>();
    }
    void Update () {
        if (animator == null) return;
        AnimatorStateInfo stateInfo = animator.GetCurrentAnimatorStateInfo(0);            

        if (stateInfo.IsName("Base Layer.Run")) {
            if (Input.GetButton("Jump")) animator.SetBool("Jump", true);                    
        } else {
            animator.SetBool("Jump", false);
            if (stateInfo.IsName("Base Layer.Idle")) {
                if (Input.GetButton("Fire1")) animator.SetBool("Attack", true);
                if (Input.GetButton("Fire2")) animator.SetBool("Attack2", true);
            } else {
                animator.SetBool("Attack", false);
                animator.SetBool("Attack2", false);
            }
        }
        float h = Input.GetAxis("Horizontal");
        float v = Input.GetAxis("Vertical");
        animator.SetFloat("Speed", h*h+v*v);
        animator.SetFloat("Direction", h, DirectionDampTime, Time.deltaTime);    
    }
}
2013/02/08 06:51 2013/02/08 06:51

트랙백 주소 :: 이 글에는 트랙백을 보낼 수 없습니다

댓글을 달아 주세요