본문 바로가기

유니티14

#22 빌드하기, 구글 플레이에 게임 출시하기 1.빌드하기 1.유니티 > File > Build Settings 선택 2.Build Setting창 > 씬 추가 버튼으로 게임 씬 추가하기 > 씬 순서 정하기 > Build App Bundle 체크하기 3.Build App Bundle을 체크하고 빌드를 하려면 NDK가 필요한데 NDK가 없는 상태에서 빌드를 하면 현재 유니티 버전에 맞는 NDK가 필요하다고 에러 메세지를 보여준다. 에러 메시지에서 요구하는 NDK를 다운받아서 설정하면 된다. 4.NDK 설정하기 4.1.NDK 다운 받기 링크 developer.android.com/ndk/downloads 4.2.링크 하단의 지원되지 않는 ndk 다운로드 페이지에서 이전 버전 받기 가능 4.3.필요한 버전의 NDK 다운 후 원하는 위치에 NDK 압축 풀기.. 2020. 8. 23.
#15 맵 구현하기 #장애물 랜덤 배치 기능, 플레이어 스폰 기능은 게임 매니저에서 다루기, 이번 글에서는 맵 제작 관련 정보를 작성함1.정의플레이어가 게임 플레이를 진행하는 공간이다.맵에는 적 스폰 구역, 플레이어 스폰 구역, 이동 불가 장애물들이 존재맵에서는 게임 시작 시 지정된 장애물 배치 구역에 랜덤하게 장애물을 배치 2.기획 의도2.1.기획 배경초기 기획으로 게임 시작마다 절차적 맵 생성으로 랜덤 맵을 생성하여 맵의 구조를 매번 다르게하여 플레이어의 지루함을 완화하고자 했으나 기술 구현하기 어려워서 빠른 포기했다. 그래서 통짜맵으로 구현하되 랜덤 맵 대신 지루함을 완화할 방법을 생각해봤다. 먼저 어떻게 작동되는지 생각해봤다. 적이 스폰되서 플레이어를 추적한다. 이동 경로 존재. 이동경로가 매번 바뀌면 전략적인 전투.. 2020. 7. 29.
RectTransformUtility.ScreenPointToLocalPointInRectangle RectTransformUtility.ScreenPointToLocalPointInRectangle public static bool ScreenPointToLocalPointInRectangle(RectTransform rect, Vector2 screenPoint, Camera cam, out Vector2 localPoint); ScreenPoint(스크린좌표)를 RectTransform의 LocalPoint(캔버스좌표?)로 변환합니다. Camera의 매개 변수는 ScreenPoint(스크린 좌표)와 연관된 카메라이어야 한다. 캔버스에서 RectTransform이 Screen Space-Overlay 모드로 설정된 경우 cam 매개 변수는 null 이어야 한다. (그래서 EnemyHpBar 구현할 .. 2020. 4. 11.
유니티 Layer - UI 출력 우선 순위 정하기 1.인스펙터창 > 레이어 > 레이어 추가하기 > Sorting Layers 2.가장 위에 있는 것이 제일 먼저 출력된다.(제일 아래에 출력됨) 3.UI 인스펙터창 > Sprite Renderer > Sorting Layer에서 레이어를 지정할 수 있다. #아마도 이미지를 사용하는 UI에서만 사용 가능한 것 같다. Slider에는 Sorting Layer가 없어서 Canvas를 이용해서 UI 출력 우선 순위를 정했다. 참고링크 https://uheeworld.tistory.com/28 2020. 4. 11.
유니티 Canvas 1.Canvas - Render Mode Screen Space - Overlay 이 렌더링 모드는 씬에 렌더링 된 UI 요소를 화면에 배치합니다. 화면 크기와 해상도가 변경된 경우, Canvas는 스크린에 일치하도록 자동으로 크기를 변경합니다. Screen Space - Camera 이것은 Screen Space - Overlay와 비슷하지만, 이 렌더링 모드에서 Canvas는 지정된 거리의 Camera 앞에 배치됩니다. UI 요소는 이 카메라에 의해 그려져, 이 카메라의 설정을 변경하는 것은 UI 요소의 모양에 영향을 끼치는 것을 의미합니다. 카메라가 Perspective로 설정되어 있는 경우, UI 요소는 원근법으로 그려지며, 원근 왜곡의 양은 카메라의 Field of View에서 제어할 수 있습니.. 2020. 4. 11.
#11 적 HpBarUI 구현하기 1.구현 의도(Simple is best. 너무 복잡하게 생각하지말자) 쿼터뷰 시점에서 플레이어에게 한 눈에 파악 + 직관적이게 적의 Hp 정보 제공하기 1.1.적 HpBarUI 위치 1.HpBar 없음 적 HpBar가 없으면 감에 의존해서 처리해야한다. 경험이 쌓이면 빠르게 적을 처치할 수 있으나 다수의 적과의 전투에서는 어느 적이 체력이 감소된 적인이 판단이 불가능하고, 신속하게 적의 수를 줄여야하는데(체력이 적은 적을 식별)판단 근거를 찾을 수 없다. 따라서 HpBar 필요 2.적 캐릭터 바닥 쿼터뷰 시점이여서 바닥의 원형 HpBar이면 식별하기 좋으나 기존의 타겟팅UI와 겹치고, 여러 적이 뭉쳐있으면 HpBar 겹쳐지는 문제가 발생한다. 3.적 캐릭터 머리 위 대다수의 게임에서 볼 수 있는 가장 .. 2020. 4. 11.
Unity Remote 5 Unity Remote5 소개 유니티에서 개발 중인 모바일 게임을 디버깅없이 모바일 기기에서 테스트할 수 있게 도와주는 앱이다. Unity Remote5 사용 방법 0.안드로이드 기반으로 설명합니다. 1.스마트폰에서 구글플레이 > Unity Remote5를 설치한다. 2.스마트폰 > 설정 > 개발자 옵션 > USB 디버깅 On 3.설정 > 보안 > 출처를 알 수 없는 앱 허가 4.스마트폰에서 Unity Remote5 실행 5.스마트폰을 컴퓨터에 연결하기(PTP방식 또는 MIDI 또는 이미지 전송으로 연결) 6.연결 시 USB 디버깅 허용하기 7.유니티에서 SDK 설치 및 세팅하기(구글 검색 추천) 8.Unity > Edit > ProjectSettings > Editor > Device를 Any Andr.. 2020. 4. 4.
유니티 시네머신 간단 소개 시네머신은 카메라의 움직임을 손쉽게 제어할 수 있는 유니티 공식 패키지이다. 시네머신을 이용하면 복잡한 코드없이 간편하게 다양한 카메라 연출을 사용할 수 있다. 롱테이크 연출이나 여러 카메라 사이에서의 부드러운 전환을 구현할 수 있다. https://unity.com/kr/unity/features/editor/art-and-design/cinemachine 시네머신 | Unity Unity의 시네머신으로 복잡한 카메라의 움직임을 어떻게 만드는지 알아보세요. 타겟 추적, 구성, 블렌딩 및 자르기까지 쉽고 직관적으로 작업할 수 있습니다. unity.com 사용 방법 1.유니티 상단 탭 Windows > PackageManager > Cinemachine을 선택하고 Install하기 2.사용할 메.. 2020. 4. 4.
Coroutine() Coroutine() 코루틴은 함수 실행 시 일시 중지를 할 수 있는 메서드이다. 코루틴으로 함수 실행을 일시 중지하고, 중지 동안에는 프로그램의 다른 코드를 실행한다. 일시 중지가 끝나면 프로그램의 처리가 코루틴의 마지막 실행줄로 되돌아간다. 그리고 남은 처리를 이어서 진행한다. 코루틴은 최적화하기 좋다. 너무 많이 반복할 필요가 없을 때, 함수를 매 프레임마다 많이 호출하면 오버헤드가 발생될 때 코루틴을 사용하여 호출 간격을 줄일 수 있다. Coroutine() 문법 IEnumerator 코루틴이름() { //코루틴으로 실행할 기능 for (var f = 1.0; f >= 0; f -= 0.1) { var c = renderer.material.color; c.a = f; renderer.materi.. 2020. 3. 22.