https://assetstore.unity.com/packages/3d/characters/creatures/dungeon-skeletons-demo-71087

 

Dungeon Skeletons Demo | 3D 생물 | Unity Asset Store

Elevate your workflow with the Dungeon Skeletons Demo asset from Polygon Blacksmith. Find this & other 생물 options on the Unity Asset Store.

assetstore.unity.com

Asset Store에서 Dungeon Skeletons를 다운 받아 인포트해서 하이라키에 끌어다 놓는다.  프리팹이 없기때문에 Models폴더에서 끌어다 놓는다

애니메이터가 연결 안되어 있기 때문에 Fox와 동일한 방법으로 만든다.

프로젝트뷰에서 우클릭 [Create]-[Animator Controller] 를 만든후 이름을 NewFoxAnim으로 한다.

더블클릭해서 Animator를 연다.

다음 폴더에서 idel을 끌어다 놓는다

Walk와 attack도 끌어다 놓고 transition을 연결한다.

애니메이션이 walk 밖에 없어서 브랜드트리는 안 만드는 것이다.

파라미터는 Trigger attack, bool move만 만들어준다.

idel>walk 트랜지션속성 Has Exit Time 언체크 Condition>move>false

walk>idel 트랜지션속성 Has Exit Time 언체크 Condition>move>false

 

완성된 SkeletonAnim을 DungeonSkeletonDemo  인스펙터 Animator컴포넌트의 Controller속성과 연결해준다.

SkeletonCtrl.cs를 다음과 같이 만들고 DungeonSkeletonDemo 에 연결해 준다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SkeletonCtrl : MonoBehaviour {
    // Start is called before the first frame update
    private Animator anim;  // 애니메이터 컴포넌트를 담을 변수
    private bool isMove;  // Move State 체크용 파라메터
    void Start() {
        anim = GetComponent<Animator>();  //애니메이터 컴포넌트를 받아온다
    }

    // Update is called once per frame
    void Update() {
        float moveSpeed = 3.0f;
        float _x = Input.GetAxisRaw("Horizontal");  //키임력을 받아
        float _z = Input.GetAxisRaw("Vertical");
        Vector3 direction = new Vector3(_x, 0, _z);  //벡터를 만들고
        isMove = false;

        if (direction != Vector3.zero) {
            isMove = true;  //움직임이 있으면 Move State로 간다
            //큐브를 이동시켜주고
            this.transform.Translate(direction.normalized * moveSpeed * Time.deltaTime);
        }
        //애니메이터 파라메터를 설정해준다
        //애니메이터 파라메터를 설정해준다
        anim.SetBool("move", isMove);
    }
}

유니티를 실행해서 WASD를 눌러보면 Fox와 DungeonSkeleton이 같이 움직인다.

+ Recent posts