재미있는 실감미디어

꿈꾸는대로 만들어집니다.

유니티기초[유니티 기초] 23_C# 스크립트 - Input.GetAxisRaw(), transform.localScale_키보드제어 및 캐릭터 뒤집기

김혜영
2020-04-14
조회수 1614

비주얼 스튜디오 자동완성 기능 추가!! 합니다~ 저는 아래 블로그 참고했어요^^

완전 편하니 꼭 하세요^^

유튜브 영상에서도 제가 더듬 더듬 적용하는 것 보실 수 있어요 ㅎㅎㅎ

유튜브 - https://youtu.be/1Yl4ftidZ94

[사마사마의 IT이야기] https://samablog.tistory.com/156


유튜브 23 - https://youtu.be/uU_iuQ1R3NY


오늘은 키보드와 조이스틱등에 관련된 GetAxisRaw( )에 대하여 학습합니다. GetAxisRaw( )를 이용하면 적은 코드로 캐릭터를 쉽게 움직일 수 있습니다. 더불어 캐릭터와 좌우로 움직일 때 캐릭터의 방향을 바꾸는 속성 transform.localScale을 활용하여 보도록 하겠습니다. 


스크립트 레퍼런스 사이트를 참고하도록 합니다. 가장 좋은 교재인듯 합니다.

https://docs.unity3d.com/kr/530/ScriptReference/Input.GetAxisRaw.html


키보드의 AWSD 키를 이렇게 넣어야 하면 코드가 상당히 길어집니다. GetAxisRaw( ) 메서드를 활용하면 이런 긴 코드를 아주 짧게 줄일 수 있습니다. 또한 조이스틱 같은 디바이스에도 활용하기 좋습니다. 


GetAxisRaw( ) 메서드를 사용하면 키보드 입력은 항상 -1, 0 이나 1중 하나 입니다. 직접 코드를 보면서 살펴보도록 하겠습니다. 유니티에는 GetAxisRaw를 이용하면 AWSD 키와 화살표 키를 같이 쉽게 사용할 수 있습니다. 다음과 같은 코드를 작성합니다. 각각의 값을 통해 -1, 0 이나 1중 하나가 나올 경우 조건문을 이용하여 캐릭터를 각 방향으로 이동하도록 합니다. 이때 transform.localScale을 이용하여 좌우 반전을 시켜 자연스럽게 캐릭터가 이동하도록 합니다. 애니메이션의 모드를 달리는 것으로 하면 제법 캐릭터가 실감나게 움직입니다. 이제 이 코드를 좀더 간결하게 수정해 보겠습니다. 수정하지 않아도 되지만… 좀 더 간결하게 코드를 수정해보는 연습을 하는 것도 좋을 듯 합니다. 현재 코드는 거의 비슷한 코드를 사용하고 있습니다. 머리를 조금만 써볼까요?


다음과 같이 코드를 수정해 봅니다. 코드를 보고 이해가 안간다면… 유튜브 영상에서는 설명이 좀 더 자세하니 참고하시기 바랍니다. 다음과 같이 코드를 수정하니 코드가 많이 짧아졌습니다. 줄여도 되고, 줄이기 전이 더 이해가 쉽다면 사실 줄이지 않아도 됩니다. 그러나 줄이는 연습을 해보시는 것이 길게 보면 좋습니다. 또한 다음과 같은 코드는 보통 다른 개발자도 많이 사용하는 스타일입니다. 이런 스타일에도 익숙해지는 것이 좋습니다. 

^^ 다음시간에는 키보드값을 넣지 않으면 캐릭터가 움직이지 않고, 키값을 넣으면 움직이도록 보다 정교하게 만들어 보도록 하겠습니다. ^^


오늘도 수고하셨습니다. 꾸준한 공부는 쉽지 않지만… 꾸준한 공부는 쌓이면 엄청나게 큰 힘이 생깁니다. 습관이 중요한 듯 합니다. 그런면에서 카카오프로젝트로 공부를 도전하는 것은 꽤 괜찮은 듯 합니다. 의지가 약한데… 이러한 프로젝트는 의지를 꾸준하게 지속시킬 수 있는 좋은 동기부여가 됩니다. ^^



1 0

매일 한알의 마늘처럼 하나의 미션 수행!

동굴뛰쳐나가지 않고 매일 하나의 마늘을 먹기!!!

게임이나 VR, AR 에 유니티가 언리얼과 같이 많이 사용된다고 듣긴 했지만 나와는 관계없는 프로그램 같았습니다. 그러다가 우연한 계기로 게임 디자인을 하면서 유니티에 관심이 생겼습니다. 


자바스크립트가 유니티와 연동된다고 하니, 유니티가 매력있게 다가왔습니다. 유니티까지 활용한다면 작업 영역의 확장 뿐만 아니라 재미있는 콘텐츠를 제작할수 있겠다는 가능성이 보였습니다.


내가 기획하고, 디자인하고, 개발까지 하여 하나의 게임 앱을 만들수가 있다니! 얼마나 달콤한 유혹인지 모릅니다. 물론 수 많은 산을 넘고 에러를 넘고, 오류를 넘어야 하는 것은 각오를 해야 합니다. 그럼에도 불구하고 무척 매력적 입니다. 인고의 시간을 지나면 나는 상상력을 구현할수 있는 하나의 툴을, 도구를 장착할수 있는 것입니다. 아!이!언!맨! 처럼 말이지요!!!


카카오프로젝트 100은 게으른 저를 동기부여해 줍니다. 당장 통장에 계좌가 찍히는 일은 열심히 하게 되지만, 새로운것을 공부할 때는 의지가 참 약해지고 용두사미가 됩니다. 그런 의미에서 카카오프로젝트 100은 100일동안 의지를 불태울수 있는 작은 동기가 됩니다. 카카오프로젝트 시즌1에서는 자바스크립트 기초를 정리했습니다. 

시즌 2에서는 새로운 공부를 도전합니다. 바로 유!니!티!


여러분 생각은 어떤가요?

top