김산나
[멋쟁이사자처럼부트캠프 유니티 게임 개발 7기] 2026년 1월 28일 회고록 - 1945 조이스틱 (터치 인터페이스), 안드로이드 빌드 세팅 본문
[멋쟁이사자처럼부트캠프 유니티 게임 개발 7기] 2026년 1월 28일 회고록 - 1945 조이스틱 (터치 인터페이스), 안드로이드 빌드 세팅
김산나 2026. 1. 28. 17:342026_01_28 강의 요약본
오늘은 수업이 짧았다.
오후에는 게임 기획 시간을 주셧기 때문이다.
1. 터치 조이스틱
안드로이드 빌드를 목표로 만든 프로젝트인만큼 조작을 터치패드 조이스틱으로 바꿀 필요가 있었다.
https://assetstore.unity.com/packages/tools/input-management/joystick-pack-107631
Joystick Pack | 입출력 관리 | Unity Asset Store
Get the Joystick Pack package from Fenerax Studios and speed up your game development process. Find this & other 입출력 관리 options on the Unity Asset Store.
assetstore.unity.com
에셋은 이걸 사용했다.
무료 중에서도 괜찮은 조이스틱 에셋이 매우매우 많았다.
사용법

이걸 "Canvas"의 자식 오브젝트로 생성해 둔다.

그럼 조이패드가 화면에 뜬다.

그리고 플레이어 움직임을 설정해 주어야 한다.
public DynamicJoystick Joy
float moveX = Joy.Horizontal;
float moveY = Joy.Vertical;
Vector2 moveDirection = new Vector2(moveX, moveY);
rb.linearVelocity = moveDirection * moveSpeed;
x, y의 벡터값을 다이나믹 조이스틱 컴포넌트에서 받아온다.
그 값을 리지드 바디 물리값에 넣어주면 된다.
이 게임 미사일 날리는 기능도 있다.
버튼을 추가하자.
UI에 버튼이 두 개 씩이나 있는데...
그건 안 쓸 예정.
선생님 피셜 반응속도가 안 좋다고 한다.
그래서 캔버스의 이미지에

Event Trigger을 달아준다. Down은 누를 때, Up은 뗄 때다. 뭐 종류가 개 많던데 아마 인풋 시스템 종류에 따라 다르게 사용하라고 많은듯?
누르고 있으면 레이저 게이지 상승, 떼면 레이저 게이지 차는 게 중단되고 미사일이 나간다.
코드를 보자.
public void Fire()
{
Instantiate(bullet[power], pos.position, quaternion.identity);
}
public void LazerOn()
{
CanLazer = true;
}
public void LazerOff()
{
CanLazer = false;
}
// 원래 쓰던 발사 코드. Update에 있음.
public void Shoot()
{
if(Input.GetKeyDown(KeyCode.Space))
{
Instantiate(bullet[power], pos.position, quaternion.identity);
}
else if(Input.GetKey(KeyCode.Space) || CanLazer == true)
{
gage.fillAmount = gValue;
gValue += Time.deltaTime;
if (gValue >=1)
{
GameObject go = Instantiate(lazer, pos.position, Quaternion.identity);
Destroy(go, 3);
gValue = 0;
}
}
else
{
gValue -= Time.deltaTime;
if(gValue <=0)
{
gValue = 0;
}
gage.fillAmount = gValue;
}
}
버튼 클릭은 미사일 발사, 레이저 게이지 트리거 담당을 한다.
Update에서 레이저 관련 메소드가 돌아가면서 레이저 게이지를 관리함.
나름 손맛 좋게 완성되었다.

커서 변경 비법은 다음 챕터에.
2. 안드로이드 빌드
안드로이드 빌드... 거 뭐 빌드 세팅에서 안드로이드만 하면 되는 거 아닙니까?
그런 줄 알았는데 은근 까다로운 녀석이었다.
1) 씬 확인
본인이 만든 씬이 안 들어가는 경우가 있다. (경험담)
씬 리스트를 확인하자.
2) Project Setting > Player

윗쪽이 게임 아이콘, 아래가 게임 커서이다. 커서는 PC 전용인듯?

다음은 창 화면 조정이다.
지금은 전체화면 세팅이고, 누르면 창모드 사이즈 조정도 할 수 있다.
아래는 뭐 창 크기 조정 가능하게 할거냐 등등의 많은 설정이 있다.


대충 이 창 없앨 수 있는 섹션이다.
게임 시작하면 저게 떴는데, 이젠 커스텀 가능.
걍 없애고 완전 자기맘대로 만들어도 좋다.

나머지는 잘 모르겠고 이 부분이 좀 중요한데, 키를 발급해야 정상적으로 APK가 나온다.

유니티 깔 때 아래 두 개도 체크해야 이게 정상적으로 발급된다.
꼭 깔도록.

처음이라면 Create New 해서 키를 생성한다. (깃이 발견해서 업로드 안 되게 조심한다)
그 다음 내용 채워서 Load Key하면 됨. 다 채울 필요는 없고 위부터 New Key Values에서 이름? 까지만 해도 됐던 것 같다.
나머지 중 회사이름 등등은 처음 프로젝트에 회사 이름같은 거 적어두면 그거대로 들어감. 기한은 50으로 알아서 들어가 있었다.
대충 이렇게 하고 Build하면 된다.
정상적으로 켜지긴 하는데 5프레임 나오길래 관뒀다.
최적화를 공부하고 싶다...
===========================================================
조이스틱을 구현할 수 있게 되었다 !
안드로이드 빌드를 할 수 있게 되었다 !
