포트폴리오

유니티 기록

자동산양 2022. 12. 27. 01:13

void Update()

{
    if (Input.GetKeyDown(KeyCode.LeftArrow)) // 키다운을 사용하여 버튼을 눌렀을때 입력받음
        {
            transform.Translate(-3, 0, 0);// 각각 x축 y축 z축 예제대로라면 x방향으로 -3만큼 이동함

        }

}

 

Translaste 이동


해당 오브젝트의 위치 값을 변화시켜주기때문에 값이 크면 뚝뚝 끊겨 이동하는듯한 느낌을 줌

 

일반적으로 공중에 떠있거나 단순 오브젝트 이동용이 적합함

translaste를 사용한 이동 느낌

Vector3 vec = new Vector3(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical"), 0); // 상하좌우로만 움직이기 떄문에 z 축은 별도로 입력을 받지 않음
        transform.Translate(vec); // 

 

Getaxis 함수를 사용

 

 

Vector3 vec = new Vector3(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical"), 0); // 상하좌우로만 움직이기 떄문에 z 축은 별도로 입력을 받지 않음
        transform.Translate(vec); // 

 

위의 함수를 오브젝트에 넣어주자

 

유니티 메뉴에서 -> Edit -> Project Manager 이동

왼쪽 탭에서 인풋 매니저에서 Horizonal은 상하 위치를 Vertical 좌우 위치를 말한다

 

현재 좌우이동에서 키다운 버튼은 음수값 키업 버튼은 양수값을 Sensitivity에 정해진 수치만큼 변환시켜준다

 

이상태로 그냥 두면 속도제한이 없기때문에 추후에 속도값 제한을 해줘야 함

 

rigidbody 이동

 

유니티 자체의 물리엔진을 사용하여 캐릭터에 중력을 적용시킬수 있음

(다만 최적화를 위해서는 좀 더 자세히 배워야 함)

 

Velocity로 속도를 조절하는법과 Addforce 로 해당 좌표에 힘을 가하는 방법이 있다

 

아무것도 없는상태에서 중력을 적용시키면 캐릭터가 계속해서 떨어지기 때문에 일단 바닥이 필요

 

Sprite를 이용해서 적당히 바닥을 만들어 준 뒤

 

캐릭터와 바닥에 Collider컴포넌트를 사용해 충돌판정을 넣어준다

Add Component로 쉽게 적용이 가능함

울퉁불퉁한 오브젝트를 사용하는게 아닌 연습이니 Box 컬라이더 2D 로 충돌을 넣어주자

 

 

캐릭터와 바닥 둘다 충돌판정이 생겼고 바닥에는 중력판정을 넣지않아

 

캐릭터만 아래로 중력을 받는 모습이다

 

오늘은 [오브젝트 이동], [충돌판정], [GetAxis]를 사용해 입력받아서 움직이는것 을 연습하였다

'포트폴리오' 카테고리의 다른 글

자기소개서 수정하기  (4) 2025.03.01
포트폴리오 묶음  (0) 2024.02.28
VBA기초부터(1)  (0) 2024.01.16
유니티 기록  (0) 2023.01.18
테이블 관리 실무  (0) 2021.12.05