반응형

안녕하세요. #애드소프트 입니다.

오늘은 어제 작업하다만 기능을 완성 시킬려고 합니다.

아무도 보지 않는 글을 어김없이 찾아와서 쓰고 있습니다. ㅎㅎ

조이스틱(게임패드)를 넣었는데 크기가 너무커 화면을 많이 가려지게 되더군요.

이것은 쉽게 수정 가능합니다.

파란색 원을 드레그 하여 크기를 조정하고, 오브젝트를 선택하여 이동하시면 됩니다.

점프 기능을 추가해보겠습니다.

Hierarchy 창에서 Canvas 밑에 Button을 추가합니다.

그 다음 위치와 크기를 조이스틱 처럼 이동 시킨 후 다음 작업을 시작합니다.

Inspector 창에서 Image 속성을 보면 위 화면 처럼 나오는데 붉은색으로 표시된 타겟 버튼을 누르시면

소스 이미지를 변경할 수 있습니다. 간단히 샘플에 들어 있는 Knob를 선택했습니다.

단순히 버튼 모양을 원으로 바꾸는 작업입니다.

그리고 버튼에 적혀진 택스트는 지워줬습니다. 간단히 지울 수 있으니 한번 찾아보시기 바랍니다

다음 창에서 PlayerController를 열어 Visual Studio 2019를 실행합니다.

상단에 다음 변수를 선언합니다.

public Button jumpButton; 
private bool bJumpButtonClick = false;

Update 함수를 다음과 같이 수정합니다.

protected override void Update() 
{ 
	if (controlEnabled) 
    { 
    	move.x = joystick.Horizontal; 
    	if (jumpState == JumpState.Grounded && bJumpButtonClick) 
        	jumpState = JumpState.PrepareToJump; 
        else if (!bJumpButtonClick) 
        { 
            	stopJump = true; Schedule<PlayerStopJump>().player = this; 
        } 
        else 
        { 
        	move.x = 0; 
        } 
        
        UpdateJumpState(); 
        base.Update(); 
     }
}

맨 아래에 다음코드를 삽입합니다.

public void JumpOnClick() 
{ 
	bJumpButtonClick = true; 
} 

public void JumpOnClickUp() 
{ 
	bJumpButtonClick = false; 
}

 

소스 수정이 끝났으니 수정 후 유니티로 돌아 옵니다.

잠시 소스가 적용되는 동안 버퍼링 되니 기다려 줍니다.

 

Hierarchy창의 Player를 선택한 후 Inspector 창의 PlayerController 스크립트에 추가된 Jump Button 속성에

Canvas에 생성 된 버튼을 드래그하여 적용 시켜 줍니다.

 

마지막으로 Hierarchy창의 Button 오브젝트를 찾아 선택합니다.

Button 속성을 보면 On Click () 항목이 비어 있는데 여기 밑쪽을 보면 Add Component라는 버튼이 있습니다.

Event => Event Trigger를 찾아 추가해주시고 Add New Event Type버튼을 누른 후 Point Down과 Pointer Up을 찾 아 주가해 줍니다.

추가된 트리거 안에 + 버튼을 누르시면 새로운 함수를 연결 할 수 있도록 항목이 생깁니다.

처음 드랍박스에는 Editor And Runtime을 선택합니다.

이걸 선택하는 이유는 유니티 플레이어에 적용되는지 간단히 확인하기 위함입니다.

첫 드랍박스 밑에 있는 타켓 속성은 옆에 있는 원을 찾아 누른 후 검색창에 Player라고 검색한 후

플레이어 오브젝트를 선택하여 줍니다.

Down 트리거의 함수는 PlayerController -> JumpOnClick 함수를 선택합니다.

Up 트리거의 함수는 PlayerController -> JumpOnClickUp 함수를 선택합니다.

플레이 버튼을 눌러 보시면 동작하는 것을 확인 하실 수 있습니다.

화면을 가로모드로 고정해야 겠어요. ㅎㅎ

앞이 안보이니 게임이 재미가 없을 것 같습니다.

File -> Build Settings -> Player Settings 로 이동합니다.

위 이미지에서 보이는 Auto Rotation을 변경하면 될 것 같네요.

Landscape Right나 Landscape Left 맘에 드시는 방향을 선택하면 되겠네요.

기준 화면에서 왼쪽이나 오른쪽이나 돌리는 방향을 말하는거 같습니다.

다음은 무엇을 해볼 지 고민 좀 해보고 돌아 오도록 하겠습니다.

수고하셨습니다.

반응형
반응형

안녕하세요.

오늘은 학습도구를 이용하여 게임 이름 설정 및 안드로이드 빌드 방법 및 안드로이드 상에서 터치를 구현하도록 하겠습니다.

게임 이름 설정은 튜토리얼에 잘 기록 되어 있으니 참고 하시면 좋을거 같습니다.

전 게임 이름을 Running Franken 이라고 하였습니다.

링크를 따라 제작 하셨다면 화면색은 저렇진 않아도 앞에 메뉴바가 나오는거 까진 가능 할 것으로 보입니다.

튜토리얼을 쭉 찾아봤지만 모바일을 위한 스크립팅이 없어 추가 해 보기로 했습니다.

저의 목표는 안드로이드에서 구동하는 것이니까요

우선 모바일 개발을 위한 유니티의 터치 시스템은 터치의 여러 속성을 모니터링 할 수 있는것으로 보입니다.

우선 터치의 여러 속성중 터치가 될때 즉 화면이 눌러질때 상태에 대해 보겠습니다.

Began

손가락으로 화면을 누르기 시작했다.

Moved

손가락으로 화면을 누른채 이동했다.

Stationary

손가락으로 화면을 누른채 대기중이다

Ended

손가락으로 화면을 더이상 누르지 않는다

Cancelled

이 터치에 대한 추적을 취소했다

유니티에서 터치 될때 동작 방식 정도는 알고 넘어가는게 좋을거 같아 설명해 뒀는데 저희는 미리 잘 만들어 진게 있다면 찾아 쓰는게 최고 겠지요?

Asset Store탭으로 이동해보면 검색 창이 하나 있습니다. 거기에 Joystick Pack 이라고 검색합니다.

내려 보시면 다음과 같은 에셋을 찾을 수 있습니다.

꽁짜니 그냥 다운받아 줍니다.

 

 

다운 받고 난 후에는 Import라고 바뀌어 있습니다. 눌러서 프로젝트로 가져옵니다.

 

다음과 같은 창이 뜨면 Import 눌러 프로젝트에 포함시켜 줍니다.

Hierarchy 창에서 마우스 오른쪽을 눌러 Canvas를 하나 만들어 줍니다.

Hierarchy 창의 Canvas가 생성되면 Project 창에서 Joystick Pack을 찾고

서브 항목 중 Prefabs를 찾습니다.

Prefabs로 이동 후 fixed Joystick을 찾아 생성한 Canvas 밑으로 끌어다 놓습니다.

다시 Player 오브젝트를 선택합니다.

Inspector 창에서 Player Controller (Script)를 찾아 속성 중 PlayerController찾아 더블클릭해 줍니다.

그러면 Visual Studio 2019가 열리며 소스를 불러옵니다.

조이스틱 정보를 사용할 변수를 선언합니다.

Update 함수를 다음과 같이 수정합니다.

 

public Joystick joystick; 
...
protected override void Update() 
{ 
	if (controlEnabled) 
    { move.x = joystick.Horizontal; 
...

잘이해가 안되신다면 다음 코드를 봐주세요.

저장 후 Unity로 돌아 옵니다.

Unity에서 Hirerarchy의 Player 오브젝트를 다시 선택해 보면

Inspector창의 Player Controller 스크립트 속성 중 좀전에 추가한 Joystick이 생성 되어 있습니다.

이 곳으로 Canvas에 생성한 Fixed Joystick 오브젝트를 끌어다 놓습니다.

한번 플레이 해 볼까요?

위의 빨간 표시된 버튼을 누르시면 실행 됩니다.

조이스틱 창이 엄정 크지만 동작을 하긴 합니다. ㅎㅎ

오늘은 시간이 없어 여기에서 정리해야 할 듯 합니다.

다음에는 조이스틱 크기와 위치를 조정하고 점프 기능도 추가 해보도록 하겠습니다.

반응형
반응형

게임 개발을 최초로 해보기 위해 Unity 설치해 보았습니다.

설치를 위해서는 일단 유니티 홈페이지로 이동해야겠죠? ㅎㅎ

웹페이지에 접속하시면 다음과 같이 홈페이지가 열릴 것입니다.

저는 이미 회원가입을 했지만 처음 들어와 보신 경우에는 회원가입을 먼저 해줍니다.

회원가입은 어렵지 않으니 후다닥 끝내버리시면 됩니다.

회원가입을 완료하셨다면 로그인 후 중간에 파란 버튼 "시작하기"를 선택하시면 됩니다.

시작하기를 누르면 다음과 같이 페이지가 열립니다.

 

돈을 내고 구매하라고 안내를 하지만 당황하지 마시고 개인을 선택합니다.

저희는 개인이니 Personal 버전을 다운로드하시면 되는데 12개월 동안 매출이 10만 달러(1억)이 넘지 않을 경우 사용 가능합니다.

Personal 버전의 시작하기 버튼을 선택합니다.

선택하셨다면 다음 페이지로 이동됩니다.

처음 접속한 분이라면 첫 사용자를 시작하시고 재방문 사용자라면 여기로 이동하기를 선택하면 됩니다.

첫 사용자의 시작하기 버튼 선택 시 위 이미지와 같이 동의 및 다운로드 버튼을 선택하시면 다운로드가 가능합니다.

재방문 사용자라면 써보신 경험이 있으실 테니 패스하도록 하겠습니다.

다운로드가 완료되면 UnityHubSetup.exe 파일이 다운받아집니다.

이걸 설치하면 완료되는 것이 아니고 Unity Hub라는 프로젝트 및 설치, 학습 등 포털 개념의 관리자 프로그램이 설치됩니다.

설치는 간단합니다.

동의함을 선택하시고

설치 버튼만 누르시면 설치가 완료됩니다.

설치가 완료되었다면 실행해야겠죠?

실행해 봅니다.

실행 시 위와 같은 프로그램이 실행됩니다.

프로젝트 탭으로 실행되지만 설치를 위해 설치 탭으로 이동해 줍니다.

저는 두 개의 버전을 설치해 보았는데 처음 들어오시면 아무 항목도 없을 겁니다.

설치를 해야 하니 추가 버튼을 누르시면 됩니다.

검색이라는 버튼이 있는데 저 버튼은 이미 설치된 유니티를 등록할 수 있도록 도와줍니다.

저희는 설치를 해야 하니 추가 버튼을 누르겠습니다.

추가 버튼을 누르면 여러 버전이 나오는데 권장 릴리스를 선택하기 길 권장합니다.

LTS 버전이라고 되어 있는 것이 있는데 이것은 Long Term Support라고 하여 장기 지원 버전을 의미합니다.

한마디로 안정적인 버전을 의미하며 장기간 기술 지원을 약속하다는 의미이기도 합니다.

본인에게 맞는 버전을 선택하시고 다음을 선택해 줍니다.

저는 다른 버전은 다 설치가 되어 있어 2020.1.13 f1을 선택하였습니다.

선택하면 다음과 같은 창을 볼 수 있게 되는데 여기서 지원하고 싶은 플랫폼을 선택하면 됩니다.

기본적으로 선택되는 것만 설치해도 웬만한 기기는 다 지원되니 참고하시면 됩니다.

여기서 안드로이드 배포를 원하신다면 SDK & NDK, JDK를 설치해 주는 걸 권장합니다.

설치 방법은 Android Build Support에서 확장 버튼을 선택하면 선택하실 수 있습니다.

확장되어 나오는 두 개 모두 선택하길 권장합니다.

저는 개인적으로 수동으로 설치된 것이 있기 때문에 설치하지 않겠습니다. 모든 버전에 다 설치할 경우 디스크 용량이 너무 많이 차지하여 따로 설치했습니다.

완료를 누르시면 설치가 시작됩니다.

개발 툴이 없다면 비주얼 스튜디오도 자동 선택되어 있을 겁니다. 체크 해제하지 마시고 같이 설치해 주세요.

완료 버튼을 누르면 위 이미지와 같이 설치가 시작됩니다. 프로그레스 바가 완료되면 사용할 수 있습니다.

유니티 설치하는 방법을 다뤄 보았습니다.

긴 글 읽어 주시느라 수고하셨습니다.

다음 포스트에서는 #2에서는 튜토리얼 이용하는 방법을 다뤄 보겠습니다.

열심히 공부하러 가봐야겠네요

반응형

+ Recent posts