inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

새싹부터 시작하는 Unity 게임 개발

캐릭터 이동 구현 (Transform Movement)

캐릭터 이동 구현 rotation 값 변경

해결된 질문

254

water_pokemon

작성한 질문수 1

0

강의 자체에서는 Scale 값을 음수로 변경해서 캐릭터의 방향을 전환했는데 혼자서 rotation 값으로 방향 전환을 해보려다 실패해서 질문 남깁니다.

이 내용을 기반으로

if(Input.GetKey(KeyCode.RightArrow))
{

    transform.Translate(speed * Time.deltaTime, 0, 0);
    transform.eulerAngles= new Vector3(0f, 0f, 0f);

} else if (Input.GetKey(KeyCode.LeftArrow)) {
    transform.Translate(-speed * Time.deltaTime, 0, 0);
    transform.eulerAngles= new Vector3(0f, 180f, 0f);
}

 

코드를 이렇게 작성했는데 캐릭터 자체의 방향 전환만 되고

방향키대로 움직이지 않습니다.

Rotation 값으로 캐릭터의 방향 전환을 하려면 어떻게 코드를 수정해야 할까요?

C# unity collider .csv json-parsing

답변 2

0

Pinous

안녕하세요! 너무 늦게 답변드려 죄송합니다.

 

일단 기본적으로 'Tranlsate' 함수는 물체의 이동을 손쉽게 구현 할 수 있는 하나의 유니티 내장 함수라고 생각하시면 됩니다.

Translate는 기본적으로 로컬 좌표에서 동작을 하게 됩니다. 로컬 좌표라는 것은 캐릭터의 현재 회전 값에도 영향을 받기에, 회전이 반대편으로 되어 있다면 해당 캐릭터가 바라보는 방향이 설정이 되면서 -값을 곱해주셔도 캐릭터의 회전이 적용되어 앞으로 나아가는 현상이 생기게 됩니다.

 

좀 더 쉽게 설명드리면 Translate는 기본적으로 'Space.Self'라는 로컬 좌표이고, 캐릭터의 바라보는 방향에 영향을 받아서 캐릭터를 180도 회전을 시키면 바라보는 방향이 반대가 되면서 생기는 문제입니다.

 

이 경우 Translate를 월드 좌표로 변경을 해 주시면 됩니다.

image.png


Translate를 월드 좌표계로써 물체의 이동을 처리하시려면 함수 끝 부분에 ','와 함께 Space.World를 작성해주시면 되겠습니다.

1

water_pokemon

감사합니다 해결됐습니다!

0

Pinous

안녕하세요! 현재 제가 외부에있어서 내일 밤중으로 최대한 확인해보고 이유와, 해결 방안을 말씀드리겠습니다. 조금만 기다려주세요..!ㅠㅠ

유니티 허브 다운로드

1

24

2

Rider 설치시 타깃 프레임워크 설정

0

25

2

강의자료 누락

0

17

1

비쥬얼 스튜디오에서 unity연결이 없습니다.

0

44

2

UserDataManager 클래스 hasSaveError 처리

0

24

2

제공해주신 자료에 스크립트들이 빠져있습니다

0

23

2

플레이어를 왜 ECS로 만드는 건가요?

0

26

1

OAuth방식 강의 문의

0

44

1

싱글턴패턴

0

30

2

anim.SetTrigger("IsHit")이 해제가 안됩니다.

0

54

1

Dictionary 관련 메소드 사용 질문 드립니다.

0

66

1

8:56초 b.Remove(3) 부분 설명에 대해 질문드립니다.

0

55

2

2D게임에서 트램플린 Trigger감지관련

0

111

1

Tilemap Collider 2D 사용 시 평지에서 캐릭터가 안 움직이는 현상

1

168

1

Game화면에서 캐릭터가 끊기듯 움직입니다.

0

159

1

Start 자동 완성이 안됩니다.

0

179

2

섹션2. 메서드와 접근자에서 잘못된 설명이 있어요.

0

202

2

애니메이션 점프 적용되지 않는 문제

0

319

2

안녕하세여 3D 오브젝트 Material 관련 질문입니다

1

231

1

제가 놓친 부분이 있는데 혹시 어디서 확인할 수 있나요...?

1

324

2

화면 설정 문의의 건

2

249

2

anim.SetBool

1

309

2

Start문 자동완성

2

233

1

2D Object에 Square가 안나옵니다 ㅠ

2

439

2