본문 바로가기
유니티

유니티 11일차

by 육지상어 2021. 2. 28.
728x90
반응형

3D 프로젝트 하나 다운로드 후에, 씬을 불러오고, 파라미터 스피드와 점프를 추가해주고
cPlayer를 하나 추가해준다. 그리고 헤지 익시트를 다 체크 해제하고, 스피드 0 이상이면 달리기로, 하고 애니메이션 속도를 조정하고,
점프 는 불형태, 스피드는 인티저형태로

Animator Anim;
SpriteRenderer SRen;
Rigidbody2D Rig;
int fSpeed;
// Start is called before the first frame update
void Start()
{
Rig = GetComponent();
Anim = GetComponent();
SRen = GetComponent();
}

// Update is called once per frame
void Update()
{
    if (Input.GetButton("Horizontal"))
    {
        fSpeed = 5;
        float h = Input.GetAxis("Horizontal");
        Vector3 velocity = Vector3.right * h * fSpeed * Time.deltaTime;
        transform.position += velocity;
        //좌우이동
        Anim.SetInteger("Speed", fSpeed);
        if (h > 0)
        {
            SRen.flipX = false;
        }
        else if (h < 0)
        {
            SRen.flipX = true;
        }
    }
    else if (Input.GetKeyDown(KeyCode.Space))
    {
        Anim.SetTrigger("Jump");
        Rig.AddForce(new Vector3(0, 300, 0));
    }
    else
    {
        fSpeed = 0;
        Anim.SetInteger("Speed", fSpeed);
    }
}

}

그리고 컴퍼넌트를 박스 콜라이더 2D를 추가해준다. (바닥 충돌 대비) 크기를 1, 2.5로 지정해준다.
충돌을 위해 필요한 리디드바디 2D를 넣는다.

그리고 하이라이키 2d 뉴 스프라이트를 넣는다. 스프라이트를 이름을 Ground로 바꿔준다.
그리고 에셋에서 크리에이트 스프라이트 - 스퀘어를 만들고, 하이라이키 그라운드 안에 넣는다.

그리고 포지션을 y-2 스케일을 x10을 넣는다. 그리고 그라운드에도 박스 콜라이더 2D를 넣는다.
그리고 플레이어에 스크립트를 넣어주고, 또 뉴 스프라이트를 만들어서 천장을 만들어준다.
왜냐면 끝없이 점프해버리니깐...

그다음 포지를 1.5 -0.5
스케일 1 0.3

그다음 플랫폼 이펙터 투디를 추가해준다. 박스 콜라 투디 추가해주고, 유주 바이 이펙트 체크해준다.
스페이스 아크를 180에서 100으로 수정해준다.

그리고 프로젝트에 다크나이트를 넣는다. 이미지 타입을 스프라이트 2d ui로 바꾼다.
스프라이트 모드를 멀티플로 바꾼다.

스프라이트 매니저가 없으면 윈도우->패키지 매니저에서 2D스프라이트를 설치한다.
그리고 다크나ㅣㅇ트 이미지를 슬라이스 오토매닉 후 어플리
블랜드 트리 애니메이ㅕㄴ -> 애니메이션을 최적화 하능 기능, 불필요한 작업을 최소화 하는 작업

윈도우 애니메이션 애니메이션 다크나이트 자른거 첫번째까 하이라이키 추가 후, 애니메이션 크리에이트 후(다크 아이들), 0번 프레임을 넣고, 1번 타임라인에는 에드 키프레임으로 복붙해준다.

그다음 다크 포워드를 넣고 샘플프레임 12, 그리고 앞으로 걷는 4ㅐ의 이미지를 애니메이션 창에 한번에 넣기

그다음은 다크 레프트 만들고 12 샘플스. 왼족 걷기 4장 넣기

이제 애니메이션 창에서 프롬 뉴 블랜드 트리를 클릭하기. 애니메이션 클립 4개는 다 지워주기

블랜드 더블 클릭 후, 블랜드 트리 넣고 블랜드 타잎 심플 다이렉셔널

그 후 파라미터 무브 x 무브 y로 잡고 그리고 + 버튼을 눌러 에드 모션 필드 후
포워드 백 라이트 레프트 추가. 포지션을 해준다.

씨 무브먼트 스크립트 추가한다.

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

public class cBlendTree : MonoBehaviour
{
Animator Anim;

// Start is called before the first frame update
void Start()
{
    Anim = GetComponent<Animator>();
}

// Update is called once per frame
void Update()
{
    if (Input.GetButton("Horizontal") || Input.GetButton("Vertical"))
    {
        Anim.SetBool("Move", true);
        float h = Input.GetAxisRaw("Horizontal");
        float v = Input.GetAxisRaw("Vertical");
        //Input.GetAxisRaw : -1 또는 1을 반환

        Anim.SetFloat("MoveX", h);
        Anim.SetFloat("MoveY", v);
    }
    else
    {
        Anim.SetFloat("MoveX", 0);
        Anim.SetFloat("MoveY", 0);
        Anim.SetBool("Move", false);
    }
}

}

요거 해준다.

그리고 씨 블랜드 트리를 닼나에 넣어준다.

그리고 패키지 다운받고, 레빗 애니메이션을 선택해준다. 애니메이션 탭을 누르고
클립을 추가하고, 어택이라 바꾸고 스타트 40 엔드 70으로 바꿈
90130
140
160 히트
등으로 바꾸고 하이라이키에 올린다.
그다음 큐브를 추가한다.

그리고 메테이얼에 들어가 쉐이더를 레거시 쉐이더. 버택스릿으로 한 후, 컬러를 좀 더 회색으로 올리면 색이 밝아진다.
다음은 프로잭트에서 크리에이트 애니메이션 컨트롤러 누른다.
그다음 토끼 애니에서 끌어서 쓴다.

  1. 처음엔 아이들
  2. wsad를 누르면 런(인트형)
  3. Q를 누르면 어택 ( 트리거
  4. E를 누르면 히트 애니( bool
반응형

'유니티' 카테고리의 다른 글

유니티 15일차  (0) 2021.03.28
유니티 13일차  (0) 2021.03.06
유니티 10일차  (0) 2021.02.28
유니티 9일차  (0) 2021.01.24
유니티 8일차  (0) 2021.01.17

댓글