안드로이드용 애플리케이션 제작. Unity를 사용하여 애플리케이션 개발 Android용 3D 게임 만들기

개발 모바일 애플리케이션컴퓨터 업계에서 가장 수익성이 높은 직업 중 하나입니다. Android 게임을 만드는 데는 수백 또는 수천 달러가 들며 수익은 최대 백만 달러에 이를 수 있습니다. 이와 관련하여 많은 사람들이 전화 응용 프로그램 개발에 관심이 있습니다. 이 기사에서는 컴퓨터를 사용하여 처음부터 Android 게임을 만드는 방법을 배우며 어떤 엔진과 디자이너를 선택하는 것이 더 좋습니다.

없음 성공적인 게임아름다운 그래픽 없이는 할 수 없으므로 디자인 생성은 개발의 가장 중요한 단계 중 하나입니다. Android OS에서의 디자인은 "디자인 문서" 또는 디자인 문서를 사용하여 구현됩니다. 자세한 연구와 함께 장난감 만들기를 시작해야 합니다. 파일에는 다음이 포함됩니다.

  1. 개체 모델;
  2. 기능 사양;
  3. 게임 콘텐츠;
  4. 상호 작용.

각 요점을 더 자세히 살펴보겠습니다.

개체 모델

각 항목의 기능에 대한 정보입니다. 개체 모델은 캐릭터의 게임 특성을 개선할 뿐만 아니라 아이템을 사고 파는 기능을 담당합니다.

기능 사양

게임 플레이, 각 캐릭터의 주요 기능을 설명합니다. 또한 기능에 대해 설명합니다. 게임 아이템- 무기, 구급 상자, 갑옷 및 기타. 본질적으로 기능 사양은 게임 프로세스가 발생하는 규칙입니다. 이 섹션이 잘 풀릴수록 고품질 Android 게임을 더 쉽게 만들 수 있습니다.

게임 콘텐츠

이것은 게임의 텍스트 채우기입니다. 캐릭터의 대화와 피해를 입히기 위해 어떤 무기를 사용할 수 있는지, 얼마나 많은 체력을 소모하는지, 다양한 장비를 사용할 때 어떤 특성이 증가하는지 설명합니다. 그것은 또한 포함 상세 설명모든 항목.

상호 작용

인터페이스는 사용자가 게임과 상호 작용하는 방식입니다. 여기에는 캐릭터와 메뉴 섹션을 제어할 수 있는 버튼이 포함되어 있습니다(예: 플레이, 점수, 설정, 상위 플레이어, 도움말). Android 애플리케이션 제작 경험이 없다면 직접 제작하기 전에 Play Market에서 다운로드하여 인기 게임을 분석하고 최고의 솔루션을 프로젝트에 이전하세요.

게임 엔진

모든 게임의 핵심은 엔진입니다. 개발하고 실행할 수 있는 소프트웨어입니다. 여기에는 렌더링 엔진, 물리 엔진, 사운드, 애니메이션 등을 포함한 전체 범위의 프로그램이 포함되어 있습니다. 프로그램 작성 프로세스를 용이하게 하기 위해 타사 개발자는 특별히 Android 애플리케이션을 위한 자체 게임 엔진을 만듭니다.

각각은 서로 다른 기능을 제공합니다. 일부는 3D용으로, 다른 일부는 2D용으로 설계되었으며 다중 플랫폼 지원이 가능합니다. 그러한 엔진은 엄청나게 많지만 초보자라면 필요한 모든 기능이 거기에 있기 때문에 가장 인기있는 엔진 중 하나를 선택하는 것이 좋습니다.

UDK

토크 2d/3d

게임 디자이너란?

Constructor는 게임 엔진과 통합 개발 환경을 결합한 프로그램입니다. 생성자는 프로그래밍 기술이 없는 사람들이 개발 프로세스에 액세스할 수 있도록 합니다. 일부 디자이너는 특정 장르의 게임을 만들 수 있도록 허용하고 다른 디자이너는 최대 기능을 제공하지만 훨씬 더 많은 비용이 듭니다. 모바일 애플리케이션의 초보 제작자에게 디자이너의 선택은 가장 중요한 순간 ​​중 하나입니다. 미래 애플리케이션의 운명은 그 기능에 달려 있기 때문입니다.

생성자를 사용하면 Windows, Android 및 iOS용 다양한 장르의 게임을 만들 수 있습니다. 제안 큰 선택기성품 위치, 개체, 캐릭터 및 사운드 디자인으로 인해 첫 번째 Android 게임을 만드는 데 많은 시간이 걸리지 않습니다. JS 및 C++ 프로그래밍 언어에 익숙한 사용자는 임베디드 GML을 사용할 수 있습니다. 유일한 단점은 프로그램이 러시아어로 번역되지 않는다는 것입니다.

결론

Android 게임을 만드는 것은 쉽지는 않지만 매우 수익성이 높은 비즈니스입니다. 게임을 개발하고 돈을 벌기로 결정했다면 먼저 아이디어를 생각해 보세요. 다음으로 "디자인 문서"를 작성하고 그 잠재력을 극대화할 수 있는 게임 엔진을 결정합니다. 그런 다음 생성자에서 애플리케이션 생성을 직접 진행할 수 있습니다.

동영상

프로세스에 대해 자세히 알아보려면 안드로이드 게임 만들기, 이 활동에 대한 비디오 시리즈를 확인하십시오.

Unity는 대부분의 현대 게임다른 플랫폼에서. 엔진을 통해 컴퓨터(Windows, Linux, MacOS), 휴대폰, 태블릿 컴퓨터(Android, iOS)에서 실행되도록 지향된 게임을 만들 수 있습니다. 게임 콘솔플레이스테이션, 엑스박스, 닌텐도.

Unity에서 게임을 만드는 방법은 무엇입니까?

Unity는 구성 요소 지향 개념을 기반으로 합니다. 사실, 모든 게임은 추가 구성 요소로 희석된 대량의 개체로 구성됩니다. 예를 들어, 플랫포머를 생성하는 동안 게임 오브젝트를 생성하고 캐릭터 표시를 담당하는 그래픽 구성 요소와 마우스, 키보드, 조이스틱을 사용하여 캐릭터의 제어를 제공하는 제어 구성 요소를 추가로 첨부합니다. 또는 터치스크린. 엔진은 이러한 모듈의 수에 제한을 두지 않습니다. 필요한 만큼 GameObject에 구성 요소를 추가할 수 있습니다. 엔진에 대한 모든 작업은 GameObject의 생성과 그에 적합한 구성 요소의 적용을 기반으로 합니다.

초보자는 프로세스의 명백한 단순성에 의해 오도될 수 있지만 이는 사실이 아닙니다. 유니크하고 유니크한 작품을 만들기 위해 인기 게임처음부터 많은 구성 요소를 작성해야 합니다. 보다 구체적으로 Unity 환경에서는 이를 스크립트라고 합니다. 기본 스크립팅 언어는 C#이지만 JavaScript와 Boo(Python의 자른 버전)도 부분적으로 사용됩니다. 고유한 구성 요소를 만드는 것은 쉬운 일이 아닙니다. 고전 프로그래밍과 직접적으로 연결된 복잡한 절차라고 할 수도 있습니다. 프로그래밍에 대한 충분한 수준의 지식 없이는 어려울 것입니다.

지원되는 플랫폼

많은 대규모 프로젝트는 엔진과 호환되는 수많은 플랫폼으로 인해 Unity를 선호합니다. 완성된 애플리케이션은 모든 컴퓨터 운영 체제, 인기 있는 모바일 플랫폼 및 SmartTV에서 실행할 수 있습니다. 특정 플랫폼용 브라우저 게임 및 애플리케이션( 타이젠 OS처럼)은 주로 Unity에서 개발됩니다.

그러나 모든 것이 여기에서 그렇게 순조롭지는 않습니다. 필요한 경우 저수준 코드를 기반으로 특정 알고리즘을 작성할 수 있습니다. 동일한 Android의 경우 Java에 대한 철저한 지식이 필요합니다.

iOS도 마찬가지입니다. 다른 것 iOS 기능 Apple의 컴퓨터 또는 태블릿에서만 개발할 수 있다는 것입니다. Macbook 또는 이와 유사한 장치가 없으면 게임 출시가 빠르게 중단되고 Unity는 이와 관련이 없으며 Apple 자체도 유사한 제한을 부과합니다. 결론은 간단합니다. iOS 개발 계획이 있는 경우 사전에 조립에 적합한 장치를 선택해야 합니다.

엔진에서 게임을 개발하는 방법과 위치는 무엇입니까?

우리는 Windows와 Mac OS X 모두에서 긴 게임 개발 프로세스를 수행할 수 있습니다. 이미 Linux용 편집기 버전이 있지만 아직까지는 안정적인 작업을 기대할 수 없습니다. 개발자는 Unity 에디터 내에서 게임을 만드는 데 대부분의 시간을 보냅니다. 우리는 여전히 스크립트 코드를 작성할 시간이 많습니다. 표준 MonoDevelop 또는 타사 편집기에서 작성할 수 있습니다. 이제 그들은 Visual Studio와 Sublime Text를 적극적으로 사용하지만 적절한 구성에서만 사용합니다.

안녕하세요 여러분! 이 엔진으로 게임을 만드는 방법을 배웠으므로 여러분에게도 똑같이 가르치고 싶습니다. 먼저 Unity3d 자체, 3D 모델 편집기 및 어깨에서 자라는 곧은 팔이 필요합니다.

1. 프로그램 학습

우선 Monodevelop을 설치하는 것이 좋습니다! Unity가 무엇인지 알아봅시다. Unity는 멀티 플랫폼 게임 개발 환경입니다. 모든 제 3자가 적어도 한 번은 게임을 만든 것은 단순함과 이해하기 쉽기 때문입니다.

위의 스크린샷을 고려하십시오.

  • 무대는 창의적인 샌드박스입니다.
  • 프로젝트 - 여기에 모든 애니메이션과 모델, 사운드 및 텍스처가 있습니다.
  • 상단 도구 모음에서 모델을 설치하려면 자산-새 자산 가져오기를 선택합니다. Assets-Import Package-Custom Package도 가능합니다. 두 번째 경우 패키지는 .unity 확장자에 있어야 합니다.
  • 계층 - 장면의 모든 개체입니다. 여기에서 개체에 대한 부모를 만듭니다. 계층 메뉴에서 개체를 다른 개체로 이동하기만 하면 연결됩니다. 결과는 일종의 폴더가 될 것입니다.
  • 도구 모음 - 도구 목록. 여기에서 2D, 3D 모드를 활성화할 수 있습니다.
  • 인스펙터 - 애니메이션, 스크립트 등을 추가하는 개체의 기능입니다. 여기에서 도구를 사용할 수 있습니다. 카메라 이동, 개체 이동, 늘이기, 개체 회전.


이제 애니메이션, 스크립트 등을 추가할 수 있는 개체 메뉴가 표시됩니다.

이 메뉴를 사용하면 문제가 없을 것이라고 생각합니다.
개체를 만들려면 클릭합니다.

일반적으로 우리는 프로그램을 연구했으며 곧 우리 자신의 게임을 작성할 수 있습니다.

2. 간단한 게임 만들기

먼저 Create-Terrain 영역을 생성해 보겠습니다. 잔디와 나무를 추가하십시오. 오른쪽의 땅을 클릭하면 창이 나타나고 나무, 풀을 선택합니다.


또한 산과 범프를 만듭니다. 그런 다음 Charcher 컨트롤러 팩을 프로젝트에 로드합니다. 그런 다음 표준 자산-캐릭터 컨트롤러 프로젝트가 있는 창에서 검색하고 1인칭 보기(캡슐) 또는 3인칭 보기(기계공)를 선택합니다.
첫 번째 사람이라면 그냥 바닥에 놓으십시오. 세 번째에서 애니메이션을 다운로드해야합니다. 또한 장면 조명을 Create-Directional Light로 설정하는 것이 좋습니다.


음악을 추가하려면 원하는 항목으로 드래그하세요.
게임이 준비되었지만 컴파일하는 방법은 무엇입니까?

이렇게 하려면 파일-빌드 설정-플레이어 설정(레이블 및 이름용)으로 이동합니다. 플랫폼을 선택하고 짜잔, 끝입니다. 이렇게 하려면 Android SDK를 설치해야 합니다. 하지만 거기에서 SDK가 있는 폴더를 지정해야 하고 SDK뿐만 아니라 원하는 수준의 API가 필요합니다(예: Android 4.2에는 API 17이 있음). 예를 들어 게임을 Android 4.0 이상에서 실행하려면 이러한 API를 설치해야 합니다.

다음 기사에서는 Android 또는 iOS용 컨트롤을 설정하는 방법과 스크립트를 직접 작성하는 방법을 알아보겠습니다.

게시물 조회수: 19 374

Unreal Engine을 사용하여 Android에서 자신만의 게임을 만드는 방법에 대해 이야기했습니다. 이 기사에서는 똑같이 인기 있는 또 다른 게임 개발 엔진을 살펴보겠습니다. 단일성.

Unity는 인디 개발자들 사이에서 매우 유명한 엔진입니다. 사실, 그것은 당신이 개발할 수 있는 크로스 플랫폼 엔진입니다. 3D- 그리고 2D-계략. Unity를 다른 엔진과 차별화하는 기능은 초보자를 위한 낮은 진입 임계값과 전문가를 위한 풍부한 툴킷입니다. 크로스 플랫폼을 사용하면 데스크톱 게임에서 모바일 게임에 이르기까지 모든 플랫폼용 애플리케이션을 개발할 수 있습니다.

이와 별도로 Unity는 완전 무료 제품이 아니기 때문에 구독 시스템을 언급할 가치가 있습니다. 여러 유형의 구독이 있습니다.

  • 개인의. 엔진의 모든 주요 기능이 포함된 무료 버전입니다. 다음과 같은 제한이 있습니다. 연간 소득 또는 모금된 금액은 다음을 초과할 수 없습니다. 100000$ .
  • 을 더한. 당 월 $35다양한 보고서 및 분석이 제공되며 시작 화면을 변경하는 기능, 20% - 에서 구매 시 할인 에셋 스토어및 다양한 사소한 혜택. 다음과 같은 제한이 있습니다. 해당 연도의 소득 또는 모금 금액은 다음을 초과할 수 없습니다. 200000$ .
  • 찬성. 당 월 $125버전의 모든 이점을 포함합니다. 을 더한추가로 전문적인 서비스와 프리미엄 지원을 제공합니다. 회전율이나 자금 금액에 대한 제한이 없습니다.
  • 비즈니스용 별도 버전(대기업에서 사용).

따라서 예산이 적은 인디 개발자들은 이 버전에 만족해야 합니다. 개인의또는 을 더한그렇지 않으면 구독해야 합니다 찬성. 이 기사에서 우리는 무료 버전첫 번째 실행을 위해.

1단계 Unity 설치

Unity 설치를 시작하려면 Unity 스토어 웹사이트로 이동해야 합니다. 여기에서 구독 유형을 선택하라는 메시지가 표시됩니다. 위에서 언급했듯이 우리는 개인의.

그런 다음 사용 약관에 동의하고 설치 프로그램을 다운로드하라는 메시지가 표시됩니다. 당신은 또한 확인할 수 있습니다 시스템 요구 사항유니티와 함께 ​​일할 수 있습니다.

설치 프로그램을 실행하면 설치할 구성 요소를 선택하라는 메시지가 표시됩니다. Android 애플리케이션을 만들어야 하므로 다음 확인란을 선택합니다. 안드로이드 빌드 지원. 또한 원하는 경우 Unity 대신 설치할 수 있습니다. 비주얼 스튜디오 커뮤니티 2017프로그래밍을 위해 씨#.

그런 다음 남은 것은 설치 경로를 선택하고 Unity 설치를 시작하는 것입니다.

2단계: Unity 등록 및 설정

설치를 완료하고 Unity를 실행하면 계정으로 로그인하라는 메시지가 표시됩니다.

그런 다음 다시 구독을 선택하라는 메시지가 표시되며 개인 정보에도 중점을 둡니다. 이 경우 회사의 연간 수입이 $100,000 미만인지 또는 Unity가 교육 목적으로 사용되는지 확인해야 합니다.

마지막으로 Unity를 설치하는 목적과 수행하는 작업에 응답해야 하는 소규모 설문조사에 참여하는 것이 좋습니다.

3단계. 새 프로젝트 만들기

Unity를 구성하면 프로젝트 선택/생성 화면으로 이동합니다. 여기를 클릭 새로운새 프로젝트를 생성합니다.

그런 다음 나타나는 창에서 프로젝트 이름과 프로젝트가 위치할 디렉터리를 입력하라는 메시지가 표시됩니다. 또한 상자를 확인하는 것을 잊지 마십시오 3D 3D 모드에서 편집기를 사용합니다.

이 작업이 완료되면 다음을 클릭하십시오. 프로젝트 생성프로젝트를 생성합니다. 그런 다음 미리 생성된 장면이 있는 편집기 창이 열립니다.

지금은 프로그래밍의 복잡성을 다루지 않고 완성된 게임을 예로 들어 설명하겠습니다. 이를 위해 있다 에셋 스토어, 유료 및 무료 모두 기성품 모델, 애니메이션, 사운드(심지어 게임까지)가 많이 포함되어 있습니다.

에셋 스토어를 열려면 메뉴에서 다음이 필요합니다. 창문선택하다 에셋 스토어(키 조합 Ctrl-9).

스토어 창이 열립니다. 검색창에 입력 " 플래피 버드 스타일 예제 게임"를 클릭하고 프로젝트에서 사용할 무료 예제를 엽니다.

클릭 다운로드따라서 다운로드한 다음 프로젝트로 가져올 수 있습니다. 이렇게 하려면 수입, 그 후에 가져오기 후에 프로젝트 설정이 변경된다는 경고가 나타납니다.

가져오기에 동의하면 가져올 구성 요소를 선택해야 하는 창이 나타납니다. 모두 선택하고 클릭 수입.

가져오기가 완료되면 프로젝트 브라우저에 새 파일이 표시됩니다. 게임 파일들입니다. 편집기에서 장면을 열려면 플래피 버드스타일 - 장면그리고 더블클릭 기본.

결과적으로 게임 장면이 3D 편집기 창에 나타납니다.

버튼을 클릭하면 Unity에서 게임이 어떻게 작동하는지 확인할 수 있습니다. 플레이편집기 창 위.

4단계 Android 도구 구성

메모:당신이 사용하는 경우 안드로이드 스튜디오, 그러면 이미 모든 것이 설치되어 있습니다. 필요한 구성 요소다음 단계로 안전하게 이동할 수 있습니다.

Android에서 결과 게임을 어셈블하려면 다음 도구를 설치해야 합니다.

  • 자바 개발 키트(JDK). Java 웹 사이트에서 다운로드할 수 있습니다. 링크를 클릭하면 맨 위에 표시됩니다. 자바 플랫폼(JDK), 클릭 다운로드비문 옆에 있는 운영 체제다운로드를 시작합니다. 그런 다음 설치 프로그램의 지침을 따르십시오.
  • 안드로이드 SDK. 가장 간단한 방법으로최신 버전을 설치하려면 이 SDK와 함께 제공되는 Android Studio를 다운로드해야 합니다. 이렇게 하려면 Android Studio 웹사이트로 이동하여 안드로이드 스튜디오 다운로드. Android Studio 설치 프로그램은 Android 개발에 필요한 핵심 Android SDK 구성 요소를 설치합니다.

5단계. 프로젝트 시작 준비

먼저 개발 플랫폼을 Android로 변경해야 합니다. 이렇게 하려면 Unity에서 파일 메뉴를 열고 빌드 설정을 선택합니다.

나타나는 창에서 다음을 선택하십시오. 기계적 인조 인간그런 다음 누르십시오 스위치 플랫폼.

플랫폼 스위치는 Android 앱을 빌드할 것임을 알려줍니다. 이는 우리가 애플리케이션을 빌드할 때 Unity가 APK 파일. 또한 플랫폼 전환은 Unity가 프로젝트의 모든 자산을 다시 가져오도록 합니다. 소규모 프로젝트에서는 시간이 오래 걸리지 않지만 대규모 프로젝트에서는 이 작업에 시간이 오래 걸릴 수 있습니다.

이제 애플리케이션의 패키지 이름을 제공해야 합니다.

메모:패키지 이름은 응용 프로그램의 고유 식별자이며 역방향 DNS 형식으로 작성됩니다. com.회사명.제품명. 에 애플리케이션을 게시한 후 구글 플레이패키지 이름은 더 이상 변경할 수 없습니다.

이렇게하려면 메뉴로 이동하십시오. 편집하다그리고 선택 프로젝트 설정 - 플레이어.

Unity의 오른쪽에는 애플리케이션 버전, 대상 및 최소 SDK, 아이콘 선택 등과 같은 다양한 설정이 포함된 창이 열립니다. 여기에 블록이 필요합니다. 다른 설정찾기 신분증필드에 패키지 이름을 설정하십시오. 패키지 이름. 원하는 경우 다른 설정을 변경할 수도 있습니다.

이제 Android SDK 및 JDK에 대한 경로를 지정하는 것만 남아 있습니다. 이렇게 하려면 메뉴로 이동하여 편집 환경 설정.

나타나는 창에서 다음으로 이동하십시오. 외부 도구그리고 필드에서 SDK그리고 JDK적절한 경로를 지정한 다음 창을 닫습니다.

6단계: 애플리케이션 빌드 및 실행

이제 첫 번째 Unity 앱을 빌드할 시간입니다. 이렇게 하려면 메뉴에서 선택하십시오. 파일 - 빌드 설정. 조합하려는 장면을 추가해야 하는 창이 열립니다. 편집기에 이미 이 장면이 열려 있으므로 클릭하기만 하면 됩니다. 열린 장면 추가어셈블리에 추가하려면 추가한 후 장면 목록에서 볼 수 있습니다.

누르는 일만 남았다 짓다, 그 후에 Unity는 애플리케이션 빌드를 시작합니다. 그 전에 수집된 애플리케이션 파일을 저장할 폴더와 APK 파일 이름을 선택하라는 메시지가 표시될 수 있습니다.

메모:이 순간 Android SDK에 알파 버전이 설치된 경우 빌드 도구(버전 28.0.0-rc1), Gradle을 빌드할 때 오류가 발생합니다. 이 문제를 해결하려면 Android SDK에서 이 버전을 제거하기만 하면 됩니다.

결과적으로 빌드된 APK 파일은 지정한 폴더에 나타나며 에뮬레이터나 실제 장치에 설치할 준비가 됩니다.

빌드된 APK 내부에 무엇이 있는지 봅시다. 이를 위해 유틸리티를 사용합니다. APK 분석기, Android Studio에 포함된

압축되지 않은 APK 파일 크기는 21.1MB, 압축된 20.9MB. 그래프에서 볼 수 있듯이 대부분의 볼륨은 Unity에서 추가한 타사 라이브러리로 채워져 있습니다. 그런 다음 자산조립된 장면에서 사용되는 모든 리소스가 있습니다. 파일 class.dex만 포함 89 수업과 479 행동 양식.

게다가 보면 AndroidManifest.xml, 응용 프로그램은 하나의 활동으로 구성됩니다.

결론

그게 다야. 이 기사에서는 Unity를 설치 및 구성하는 방법과 첫 번째 Android 앱을 구축하는 방법을 배웠습니다.

Android용 간단한 게임이나 애플리케이션을 빠르고 비교적 쉽게 만드는 방법은 무엇입니까? Unity3D 엔진 작업을 다루는 아래 기사에서 이에 대해 읽어보십시오.

컴퓨터 게임을 합니까? 그렇다면 다음 게임 블록버스터를 통과하는 과정에서 "하지만 여기에서는 내가 잘못했을 것입니다!"와 같은 생각을 한 적이 있을 것입니다. 스스로 개발자가 되고 싶습니까? 그런 다음, 작지만 매우 재미있는 "모험"을 제공합니다.)

엔진이란 무엇이며 왜 필요한가요?

이전에는 최초의 컴퓨터, 게임 및 프로그램이 소위 "하드코어" 방식으로 만들어졌습니다. 즉, 본격적인 개발을 위해서는 자신의 프로그래밍 언어를 철저히 알고 간단한 메모장으로 거의 모든 게임(픽셀 그래픽 및 특수 효과 포함!)을 작성할 수 있는 상당히 숙련된 프로그래머가 필요했습니다. 그런 사람들은 거의 없었고 그들은 높이 평가되었습니다 (그리고 여전히 가치가 있습니다) ...

오늘날 프로그래밍 주제에 진입하는 문턱이 크게 낮아졌습니다. 그리고 이것은 문헌과 모든 종류의 교육 자료의 가용성뿐만 아니라 점점 더 단순화되는 개발 프로세스에 의해 촉진됩니다. 요즘은 '엔진'이라고 하는 상당히 편리한 개발 환경이 등장하면서 진정한 '하드코어'인 사람을 만나는 일은 거의 없습니다.

엔진의 본질은 단순화된 비주얼 모드에서 필요한 모든 게임 개체를 가져와 가상 스테이지에 배열하고 모든 매개변수를 구성할 수 있다는 것입니다. 즉, 프로그래머의 임무는 게임 로직을 올바르게 작성하는 것뿐입니다!

그러나 이전 "하드 코어"방식으로 작성된 해당 프로젝트와 비교하여 프로젝트 크기가 약간 증가하여(때로는 여러 번!) 작업의 편의를 위해 비용을 지불해야 합니다. 이러한 이유로 일부 개발자는 엔진을 좋아하지 않거나 필요한 구성 요소 만 사용되는 자체 엔진을 작성하려고합니다 ...

하지만 당신과 나는 진정한 프로그래머와는 거리가 멉니다 :) 따라서 대중적이고 강력한 Unity3D 엔진을 기반으로 간단한 Android용 게임을 만들어 보겠습니다.

Unity3D에서 프로젝트 시작하기

그렇다면 Unity3D를 사용하기로 선택한 이유는 다음과 같습니다.

  • 본격적인 2D 및 3D 게임을 만드는 능력;
  • 모든 장치에 대해 완성된 게임을 컴파일하는 기능;
  • 엔진 제어의 상대적 용이성;
  • 플러그인을 연결하여 기능을 확장할 수 있습니다.
  • 게임의 최종 어셈블리의 상대적으로 작은 크기(다른 엔진에 비해).

물론 Unity3D의 주요 장점은 다양성과 멀티플랫폼입니다. 완성된 게임(조금 조정하면) PC(Windows, Linux 또는 MacOS), Android, PlayStation 또는 XBox로 이식할 수 있습니다! 이렇게 하려면 엔진 자체만 다운로드해야 합니다. 엔진 자체만 다운로드하면 되는데, 이 엔진은 기가바이트 이상인 "무게"와 필요한 SDK(개발이 계획된 경우) 모바일 플랫폼또는 콘솔). Windows용 게임을 만들고 싶다면 아무것도 다운로드할 필요가 없지만 Android용 게임을 만들 예정이므로 Android SDK(Software Development Kit)도 다운로드해야 합니다. 보다 편리하게 작업할 수 있도록 ZIP 아카이브로 SDK를 다운로드하는 것이 좋습니다.

모든 것이 다운로드되면 편리한 Android SDK 폴더에 압축을 풀고 Unity3D 자체 설치를 진행할 수 있습니다. 일반 Windows 프로그램과 같이 설치되므로 설치에 문제가 없습니다. 설치 후 엔진이 시작되고 먼저 새 프로젝트를 만들어야 합니다.

이렇게 하려면 모든 시작 및 소개 창을 닫고 "파일" 메뉴에서 "새 프로젝트"를 선택해야 합니다. 열리는 창에서(위의 스크린샷 참조) 프로젝트 저장 폴더(이름은 프로젝트 이름과 동일함)를 지정하고, 일부 표준 기능 세트를 가져오고(필요하지 않음) 작동 모드를 지정합니다. 모드로 2D를 선택하고 "만들기" 버튼을 클릭합니다. 이것으로 작업의 준비 부분이 완료되었습니다 :)

엔진 인터페이스 및 프로젝트 계층

프로젝트를 생성한 후 Unity3D 작업 공간에 로드됩니다.

이 작업 공간 자체는 모듈식 구조로 되어 있으며 원하는 대로 이동할 수 있는 여러 개의 중첩된 창으로 구성됩니다. 다음과 같이 설정했습니다(왼쪽에서 오른쪽으로, 위에서 아래로).

  1. 계층 창 - 장면에서 활성 및 비활성 개체의 계층적 위치를 표시합니다. 기본적으로 목록에 바로 있는 유일한 개체는 기본 카메라입니다.
  2. 장면 창 - 전체 게임 장면과 그 위에 있는 개체(카메라, 사운드, 텍스처 등 포함)를 표시합니다.
  3. Inspector 창 - 계층 구조 또는 스테이지에서 선택한 개체의 모든 속성을 표시하고 이를 편집, 보완 또는 삭제할 수 있습니다.
  4. 게임 창 - 카메라에 보이는 게임 세계를 표시하고 가상 게임 테스트 창의 크기를 픽셀 단위로 선택할 수 있습니다. 또한 게임 창의 풀 사이즈(Maximize on Play) 확장을 활성화하고 개발자를 위한 다양한 정보 표시를 활성화/비활성화할 수 있습니다.
  5. 프로젝트 및 콘솔 창. 프로젝트 창은 업로드된 이미지, 사운드, 모델 등 프로젝트 리소스를 탐색하는 데 사용됩니다. 또한 이 창(컨텍스트 메뉴)을 통해 다양한 유형과 스크립트의 빈 게임 개체를 새로 만들 수 있습니다. 콘솔 창은 오류 메시지(빨간색), 경고(노란색) 및 사용자가 요청한 다양한 디버깅 정보(회색)를 표시하는 데 사용됩니다.
  6. 자산 레이블 창은 프로젝트 창에서 선택한 개체 또는 파일의 미리 보기를 표시하는 검사기 창의 아래쪽 부분입니다.

위의 모든 것 외에도 상단 중앙에있는 세 개의 버튼에주의하십시오. 이를 통해 프로젝트를 시작하고 일시 중지하고(예를 들어 계층 구조에서 수행 중인 작업을 확인하기 위해 디버깅할 때 유용함) 그에 따라 프로젝트를 끌 수 있습니다.

우리는 악기 시뮬레이터를 만들 것입니다: "tabla"라는 인도 민속 드럼, 따라서 시작하기 위해 프로젝트에 소리와 그림이 저장될 두 개의 빈 폴더를 만들 것입니다. 프로젝트 탐색기 창(프로젝트)에서 컨텍스트 메뉴를 호출하고 "만들기" 목록에서 "폴더" 항목을 선택하여 새 폴더를 만들 수 있습니다.

여기에서 이러한 폴더의 이름을 지정하는 방법에 대해 몇 마디 말할 가치가 있습니다. 시뮬레이터와 같은 간단한 게임의 경우 원칙적으로 폴더는 원하는 대로 "이름"을 지정할 수 있지만 엔진에 의해 예약되어 있기 때문에 사용하지 않는 것이 더 나은 두 개 이상의 이름이 있습니다. 리소스 및 플러그인이라는 이름입니다. 대규모 프로젝트에서는 Resources 폴더가 즉시 생성되고 모든 게임 "예비 부품"(그림, 사운드, 모델, 텍스처 및 조립식)이 이미 이 폴더에 저장되어 있습니다(하위 폴더로 정렬됨). 플러그인에는 이름에서 알 수 있듯이 모든 추가 타사 기능 세트(소위 "자산"(자산))가 저장되며, 그 중 Unity3D용 확장을 위한 저장소인 에셋 스토어에 몇 가지가 있습니다.

파일 가져오기 및 게임 개체 만들기

새 게임 프로젝트를 만들기 전에 작업에 필요한 모든 파일을 미리 준비하는 것이 좋습니다. 우리의 경우 이러한 파일은 사진과 소리입니다. 프로젝트로 가져오는 가장 쉬운 방법은 원하는 폴더로 끌어다 놓는 것입니다. 사진으로 시작합시다...

이미지가 이미지 폴더에 나타난 후 약간 조정해야 합니다.

사실 Unity3D는 기본적으로 프로젝트에 추가된 모든 이미지를 품질 손실로 압축합니다. 그러한 손실이 필요하지 않은 경우(특히 HD 그래픽이 있는 게임의 경우), 각 이미지를 선택하고 "기본" 탭의 "포맷" 매개변수 값을 "압축"에서 "트루컬러"로 변경해야 합니다. 인스펙터 창. 실제 이미지 너비(기본값은 1024픽셀)보다 작은 경우 "최대 크기" 매개변수를 변경해야 할 수도 있습니다. 모든 변경 사항을 적용한 후에는 "적용" 버튼을 클릭하여 적용해야 합니다. 필요한 경우 다른 모든 이미지에 대해 유사한 작업을 수행합니다.

이제 사진에서 게임 개체를 만들어 보겠습니다. 이렇게 하려면 원하는 이미지를 계층 창으로 끌어다 놓기만 하면 됩니다. 사진 또는 3D 모델은 자동으로 게임 오브젝트로 변환되어 카메라 앞의 시작 좌표점에 표시됩니다.

먼저 전체 화면으로 표시되어야 하는 배경 이미지를 추가했습니다. 계층 구조 창에서 카메라를 선택하고 해당 프레임이 어떻게 표시되는지 확인하면 해당 여부를 확인할 수 있습니다. 위의 스크린샷에서 배경의 일부가 카메라 보기 외부에 남아 있는 것을 볼 수 있으므로 스테이지에서 프레임을 직접 드래그하거나 Inspector 창에서 "Size" 매개변수를 편집하여 이 보기의 크기를 조정해야 합니다. 우리의 경우 기본값(5)을 5.4로 변경해야 했습니다.

그게 다야, 우리는 더 이상 카메라를 만지지 않고 나머지 사진을 추가하고 조정합니다. 추가할 때 일부는 우리 게임에 너무 큽니다. 그래픽 편집기에서 또는 엔진을 통해 물리적으로 줄일 수 있습니다. 마지막 방법을 시도해보자. 이렇게 하려면 계층 구조 창에서 이미지를 선택하고 검사기 창에서 X 및 Y 좌표의 "크기 조정" 값을 1에서 0.5로 변경합니다(즉, 절반으로 축소). 같은 장소에서 겹침을 피하기 위해 모든 게임 개체(배경 제외)에 0이 아닌 레이어 순서(Order in Layer)를 할당하는 것이 바람직합니다.

그림에서 게임 개체를 준비하는 마지막 단계는 충돌체를 "매달"하는 것입니다. Unity3D에서 콜라이더는 객체 간의 상호 작용 감지기로 사용됩니다. 즉, 실제로 가상 쉘이 사진에 추가되어 터치를 등록할 수 있습니다.

개체에 충돌체를 추가하려면 계층 창에서 선택한 다음 검사기 창에서 "구성 요소 추가" 버튼을 클릭합니다. 나타나는 구성 요소 목록에서 Physics 2D(일반 3D 물리는 우리 모드에서 작동하지 않음)를 찾고 있으며 모든 옵션 중에서 "Circle Collider 2D"가 가장 적합합니다. 우리는 그를 선택합니다. 충돌기의 경계를 표시하는 녹색 획이 객체 주위에 나타납니다. 콜라이더가 클릭만 등록하고 더 이상 주변 게임 공간과 상호 작용하지 않도록 "트리거임" 확인란을 선택하는 것만 남아 있습니다.

나머지 모든 개체에 대해 유사한 작업이 반복됩니다. 배경만 다른 개체와 다릅니다. 이를 위해 Box Collider 2D를 적용하고 위치 Z를 0보다 크게 설정하여 충돌기와 배경 자체를 배경으로 밀어넣습니다(나중에 필요함).

사운드 작업

Unity 3D의 사운드는 언뜻 보기에 모든 것이 다소 혼란스럽습니다. 하지만 순서대로 알아보도록 합시다. :)

우선 모든 사운드를 사운드 폴더로 드래그하고 약간 조정해야 합니다.

모든 사운드의 볼륨 레벨이 처음에 조정된 경우 3D 사운드 처리를 끄기만 하면 됩니다. 3D 게임에서는 카메라가 음원에 접근할 때 음원의 접근을 시뮬레이션하기 위해 이 처리가 필요합니다. 그러나 2D에서는 이것이 필요하지 않으므로 각 사운드를 차례로 선택하고 "3D 사운드"를 선택 취소합니다.

이제 게임 개체에 사운드를 추가할 수 있습니다. 이렇게 하려면 각 버튼을 차례로 선택하고 "오디오" 섹션에서 새 "오디오 소스" 구성 요소를 추가해야 합니다. 구성 요소가 추가되면 해당 "오디오 클립" 버튼을 선택하고 기본적으로 활성화된 "깨어 있을 때 재생" 확인란의 선택을 취소합니다(표시될 때 재생).

모든 소리가 오른쪽 버튼에 연결되면 재미있는 부분인 스크립팅...

첫 번째 스크립트

첫 번째 스크립트의 구문 분석을 시작하기 전에 Unity 3D 자체의 스크립팅 시스템에 대해 몇 마디 하는 것이 좋습니다.

Unity를 사용하면 JavaScript(더 정확하게는 UnityScript의 약간 수정된 버전), C # 및 Boo의 세 가지 언어로 코드를 한 번에 작성할 수 있습니다. 많은 책과 가이드에서 초보자에게는 Unity의 스크립팅이 JavaScript를 예로 사용하여 마스터하는 것이 더 쉽다는 의견을 찾을 수 있습니다. 그러나 이 언어는 다른 언어만큼 편안하지 않으며 앞으로 다시 배워야 할 가능성이 큽니다. 따라서 C#을 배워서 바로 시작하는 것이 좋다(Boo도 좋지만 그에 대한 교육 자료가 거의 없다).

이제 코드를 작성할 위치에 대해 알아보겠습니다. Unity 3D의 기본 코드 편집기는 MonoDevelop IDE입니다. 이 개발 환경의 장점은 표준 메서드, 클래스 및 기능을 빠르게 입력할 수 있는 프롬프트와 구문 검사 시스템이 있다는 것입니다. 그러나 나에게 단점은 부피가 크고 리소스 집약도가 높다는 것이었습니다. 다행히 Unity 설정에서 텍스트 편집기로 무엇이든 설정할 수 있으므로 나는 가볍고 기능적인 메모장 ++를 "매달"했습니다(거의 모든 예제가 여기에 표시됨).

그리고 마지막. 당연히 엔진의 모든 복잡성을 마스터하는 데 참조 자료가 없으면 멀리 가지 않을 것이므로 Unity 3D 주제에 대한 몇 가지 합리적인 인터넷 리소스 목록이 있습니다.

  • http://docs.unity3d.com/ru/current/Manual/UnityManualRestructured.html - 부분적으로 러시아어로 번역된 엔진의 공식 매뉴얼(최근에 나타나며 때때로 불안정함);
  • http://docs.unity3d.com/ru/current/ScriptReference/index.html - 공식 스크립팅 참조 매뉴얼(영어)
  • http://unity3d.ru/distribution/index.php - Unity 3D 개발자를 위한 러시아 포럼
  • http://habrahabr.ru/post/141362/ - Habrahabr에서 3차원 게임을 만드는 방법에 대한 일련의 수업;
  • http://msdn.microsoft.com/ru-ru/library/618ayhy6.aspx - 러시아어로 된 Microsoft의 공식 C# 참조.

글쎄, 나는 그것을 오랫동안 끌지 않기 위해 첫 번째 스크립트를 즉시 만들 것을 제안합니다. 스크립트 아래에 스크립트가 많을 경우 별도의 폴더를 할당하는 것이 좋지만 우리 게임은 간단하기 때문에 프로젝트의 루트 폴더에 직접 스크립트를 생성할 수 있습니다. 이렇게 하려면 프로젝트 창에서 컨텍스트 메뉴를 호출하고 만들기 목록을 선택한 다음 "C # 스크립트"를 클릭합니다. 예를 들어 새 스크립트의 이름을 소리로 지정하고 두 번 클릭하여 엽니다. 표준 메서드 업데이트 및 시작을 제거한 다음 필요한 메서드를 등록하면 다음 스크립트가 표시됩니다.

편집기를 재구성하지 않은 경우 스크립트가 MonoDevelop에서 열립니다. 그 구조를 살펴보자...

사실, 모든 C# 스크립트는 세 가지 주요 부분으로 구성됩니다.

  1. 맨 위에는 스크립트가 작동하기 위해 연결해야 하는 라이브러리가 나열됩니다(예: "Unity.Engine 사용"은 엔진 자체의 작업을 연결하고 "System.Collections 사용"은 숫자가 포함된 라이브러리입니다. 스크립트가 다른 시스템에서 작동하도록 하는 내장 클래스).
  2. 클래스 및 변수 선언. C#에는 스크립트라는 개념이 없습니다. 대신에 여러 메서드와 기능을 포함하는 "클래스"라는 개념이 사용됩니다. 사실 Unity 3D의 맥락에서 이것은 거의 동일합니다. :) 기억해야 할 주요 사항은 클래스 이름이 스크립트에 지정한 이름과 일치해야 한다는 것입니다. C#에서 변수의 특징은 (스크립트 자체에 선언된 임시 변수는 제외) 유형을 지정해야 한다는 것입니다. 실제로 이것은 변수에 대한 액세스 수준(비공개 또는 공개)과 유형(int, float, bool 또는 스크립트에서와 같이 AudioClip)을 지정해야 함을 의미합니다. 이름을 지정하거나 즉시 값을 부여할 수 있습니다.
  3. 메서드 및 기능 집합입니다. C#의 메서드는 특정 작업을 수행하는 거의 모든 함수입니다. 원칙적으로 Unity 3D에 대한 문헌에서는 이를 함수라고 하지만 C #을 별도의 프로그래밍 언어로 이야기하는 경우 이는 결국 메서드입니다. Unity의 순수 함수는 예를 들어 사운드 출력, GUI 요소 그리기 등을 위한 표준 함수로 메소드 내부에서 사용됩니다.

이제 스크립트의 구조를 알면 그 의미를 쉽게 이해할 수 있으며, 이는 다음과 같이 요약됩니다. 클래스(스크립트) 사운드에서 편의를 위해 필요한 이름으로 AudioClip 유형의 9개 변수를 선언합니다. 그들을 구별합니다. 우리는 그것들을 반드시 공개로 만듭니다(비공개 것은 에디터에 표시되지 않으며, 에디터를 통해 사운드를 "매달"해야 합니다). 그런 다음 스크립트 본문에서 "void OnMouseDown()" 표준 메서드를 사용합니다. 이전에는 마우스 클릭 처리만 담당했지만 새 버전에서는 터치 스크린에 대한 터치로도 해석됩니다. 거기에서 우리는 눌린 충돌체의 이름을 확인하는 조건을 작성하고, 그 중 하나의 눌림을 감지하면 해당 소리를 출력합니다(표준 audio.PlayOneShot(); 함수 사용).

코드를 작성할 때 여는 대괄호와 닫는 대괄호를 모두 포함하도록 주의하십시오. 그렇지 않으면 콘솔에서 지속적으로 오류 보고서를 수신하고 프로젝트를 전혀 실행할 수 없습니다! 또한 메서드와 함수의 이름에 대문자를 사용하는 데 주의하십시오. 그것들은 종종 오류의 원인이기도 합니다. 그리고 물론 모든 기호(마침표, 콜론 및 대괄호), 즉 언어의 구문을 관찰하십시오. 처음에는 어려울 수 있지만 시간이 지남에 따라 실수 없이 처음부터 쓰기 시작할 것입니다!

스크립트가 준비되면 스크립트를 선택하고 Inspector 창에서 각 변수에 다른 사운드를 할당합니다. 이제 장면의 객체에 스크립트를 적용하기만 하면 됩니다. 이 작업을 다시 수행하는 가장 쉬운 방법은 스크립트를 계층 목록에서 원하는 게임 개체로 직접 드래그하는 것입니다.

스크립트가 올바르게 드래그된 경우 드래그한 개체 옆에 있는 인스펙터 창에 나타나야 합니다. 따라서 스크립트를 게임에서 소리가 나는 모든 개체로 드래그하고 실행을 시도할 수 있습니다. 게임 버튼을 클릭하면 이제 드디어 지정된 사운드가 울립니다!

GUI 소개

원칙적으로 게임은 이미 우리와 함께 작동하지만 어떻게 든 너무 "대머리"입니다. 무언가가 빠져 있습니다 ... 또는 적어도 우리 앞에있는 이름이 새겨진 비문이 있습니다! 즉, 일종의 이해 가능한 사용자 인터페이스를 구현해야 합니다.

사실 GUI는 영어의 약자입니다. "그래픽 사용자 인터페이스", 즉 그래픽 사용자 인터페이스입니다. 전통적으로 다음과 같은 구성 요소가 포함됩니다.

  • 버튼;
  • 창문;
  • 텍스트 영역;
  • 체크박스 및/또는 라디오 버튼;
  • 슬라이더(스크롤 바) 등

Unity 3D에서는 이 모든 것(심지어 그 이상)이 완전히 존재합니다. 가장 중요한 것은 사용법을 배우는 것입니다! Unity의 GUI가 어떻게 간단한 제목을 만들 수 있는지 살펴보겠습니다.

이렇게 하려면 Interface라는 새 스크립트를 만들고 다음과 같이 수정합니다.

스크린샷의 스크립트를 주의 깊게 고려하십시오. 여기에서는 우리에게 새로운 GUIStyle 유형의 공용 변수를 하나만 작성합니다. 이 유형을 사용하면 이 스타일이 할당된 요소의 모양을 시각적으로 변경할 수 있습니다. 스타일은 동일한 유형의 인터페이스 요소(예: 버튼)가 많이 있지만 모양이 달라야 할 때 유용합니다.

다음으로, 다음 구문을 가진 버튼("GUI.Button")을 만듭니다. 조건 - 4개의 좌표(왼쪽 가장자리에서 가로 들여쓰기, 위쪽 가장자리에서 세로 들여쓰기, 너비, 높이) - 따옴표로 묶인 표시 텍스트 , 선택적으로 스타일 표시. 필요한 기능은 버튼 조건 안에 작성되어 있습니다. 우리의 경우 개발자 사이트("Application.OpenURL("");")로의 전환을 등록했습니다.

GUI 스크립트는 모든 게임 개체에서 작동할 수 있지만 일반적으로 스크립트를 기본 카메라 개체로 끌어서 카메라에 "매달"하는 것이 좋습니다. 이제 Hierarchy 창에서 선택하면 Inspector 창에서 스타일의 public 변수를 볼 수 있습니다. 확장하면 이 스타일의 설정에 완전히 액세스할 수 있습니다!

어떤 상황에서도 배경의 텍스트 색상과 질감을 지정할 수 있습니다(버튼의 경우 세 가지 옵션(일반 - 일반 보기, 호버 - 호버링 및 활성 - 클릭)을 등록하고 패딩을 설정하고 글꼴을 조정해야 합니다. 기본적으로 Unity 3D에서 사용할 수 있는 글꼴은 Arial뿐이지만 다른 글꼴을 프로젝트에 수동으로 로드하고 "글꼴" 필드에 적용하여 모든 관련 매개변수를 설정할 수 있습니다.

흥미롭고 동시에 그다지 편리하지 않은 것은 GUI 요소가 프로젝트를 시작할 때까지 무대에 표시되지 않기 때문에 각 요소의 매개 변수를 조정하는 데 많은 시간이 걸릴 수 있다는 것입니다. 프로젝트를 실행하고 위에서 만든 버튼이 어떻게 생겼는지 봅시다.

조건 및 정적 변수로 인터페이스 변경

이미 많은 작업을 수행했지만 항상 개선의 여지가 있습니다. 따라서 마지막 예로 일반 개발자가 일반적으로 게임 및 응용 프로그램에 제공하는 도움말 창을 만드는 것을 제안합니다. 이렇게하려면 이미지가있는 폴더에 물음표 형태로 이러한 버튼에 대한 그림을 추가하고 게임 개체를 만드십시오. 콜라이더를 그 위에 걸고 다음 내용으로 "Help"와 같은 이름으로 스크립트를 작성해 보겠습니다.

이 스크립트에는 두 개의 변수가 있습니다. 첫 번째 변수는 이 클래스에 설명된 모든 인터페이스 요소에 사용할 스킨을 정의합니다. 위에서 논의한 스타일과 달리 스킨을 사용하면 할당된 개별 요소뿐만 아니라 특정 유형의 모든 요소의 모양을 한 번에 변경할 수 있습니다. 또한 스킨은 스타일과 달리 요소에 할당되지 않고 메서드 전체에 대해 즉시 선언되어 다른 스킨이 선언될 때까지 작동합니다. 또한 스킨은 변수일 뿐만 아니라 개별 파일. 따라서 스킨을 선언하기 전에 "만들기" - "GUI 스킨" 컨텍스트 메뉴의 "프로젝트" 창에서 즉시 스킨을 만들어야 합니다.

우리가 가지고 있는 두 번째 변수는 논리적(또는 그렇지 않으면 부울)입니다. "true"(true) 또는 "false"(false)의 두 가지 값만 가질 수 있습니다. 바이너리 특성으로 인해 이러한 변수는 모든 종류의 스위치를 구현하는 데 적합합니다. 우리의 경우 게임을 설명하는 텍스트를 표시하는 역할을 합니다.

그러나 자세히 살펴보면 마지막 변수에 "정적"이라는 멋진 매개변수가 하나 있음을 알 수 있습니다. 이 매개변수를 변수에 추가하면 변수를 정적으로 만들고 다른 스크립트에서 액세스할 수 있습니다!

그러나 나머지 코드로 돌아갑니다. 여기에서 이미 우리에게 친숙한 "void OnMouseDown()" 메서드는 간단한 조건을 사용하여 "isVisible" 변수에 대한 스위치 역할을 합니다. 그러나 조건 뒤에 다른 기능이 있습니다. 이 함수("Debug.Log();")는 필요한 변수 값을 콘솔에 "즉시" 출력하는 데 사용됩니다(괄호 안에 따옴표 없이 입력). 보시다시피, 함수 내에서 변경할 수 없는 텍스트(따옴표로 작성)와 변수(따옴표 제외)를 모두 결합할 수 있습니다. 가장 중요한 것은 모든 데이터 사이에 "+" 기호가 있어야 한다는 것입니다.

더 나아가 스크립트의 텍스트에는 인터페이스를 그리는 메서드("void OnGUI()()")가 있습니다. 이 메서드 안에는 새 스킨("GUI.skin = HelpSkin;")과 새 스킨("GUI.skin = HelpSkin;")의 선언이 있습니다. GUI.Box 유형의 인터페이스 요소입니다. 버튼과 달리 상자는 비활성 요소이며 일반적으로 다양한 텍스트 또는 그래픽 데이터를 표시하는 역할을 합니다.

상자의 위치를 ​​설정하는 방법에 주의하십시오. 여기에서 모든 값은 직접 지정되지 않지만 실제로 웹 개발의 "유동한 레이아웃"과 유사한 수학적 표현의 도움으로 지정됩니다. 문제는 다양한 화면 해상도에서 GUI 요소의 정확한 크기를 지정할 때 적응되지 않고 너무 작거나 반대로 클 수 있다는 것입니다. 엔진의 다음 버전에서 개발자는 GUI를 적응형으로 만들겠다고 약속했지만 지금까지는 다음과 같이 수정해야 합니다.

성공으로 가는 마지막 단계는 피부를 맞춤화하는 것입니다. 스크립트 변수에 스킨 파일을 지정하고 프로젝트 창에서 이 파일을 선택합니다. 다른 파일과 마찬가지로 스킨 설정이 Inspector 창에 표시됩니다. 여기서 우리는 변경될 수 있는 요소(우리의 경우 Box)를 찾고, 열고 위에서 논의한 스타일과 같은 방식으로 설정합니다.

스크립트가 올바르게 작동하는지 확인하려면 프로젝트를 실행하고 도움말 버튼을 클릭해 보겠습니다.

이제 모든 것이 작동하지만 설명을 숨기기 위해 도움말 버튼을 누르는 것이 항상 편리한 것은 아닙니다. 알림을 아무 곳에나 넣는 것이 더 일반적입니다. 자유 장소버튼을 노리는 것보다 그리고 여기에서 "isVisible" 변수를 정적으로 만들고 배경 이미지에 걸린 콜라이더를 사용해야 합니다...

버튼을 눌러 소리를 재생하는 첫 번째 스크립트("사운드")로 돌아가 보겠습니다. 한 줄만 작성하면 충분합니다(더 정확하게는 "void OnMouseDown()" 메서드 내부:

if (this.name != "HelpButton")(Help.isVisible = false;)

이 줄을 사용하여 조건을 설정했습니다. 눌려진 충돌기의 이름이 도움말 버튼의 이름과 같지 않으면 "도움말" 스크립트의 "isVisible" 변수가 "거짓"과 같습니다. 변수 "isVisible"에 반드시 "static"이라는 포스트스크립트가 있어야 합니다. 그렇지 않으면 오류가 발생합니다.

이제 시작 시 오른쪽 상단 모서리에 있는 버튼을 클릭할 때뿐만 아니라 화면의 빈 부분을 터치할 때도 도움말 창이 닫히는 것을 볼 수 있습니다. 개선할 수 있는 유일한 것은 클릭할 때 창을 숨기는 것입니다... 이것은 "숙제"가 될 것입니다.) GUI 상자는 다시 비슷하게 설계된 버튼으로 변경해야 한다고 말할 수 있습니다. , 스킨을 설정하고 "isVisible" 변수를 변경하는 기능을 처방합니다. 모두 조용히하세요 :)

게임 컴파일 및 프로젝트 저장

마지막으로, 모든 것이 우리를 위해 작동합니다! 이것은 게임을 저장하고 실제 장치에서 테스트할 시간임을 의미합니다. 그리고 이를 위해서는 실행 파일(Windows의 경우 EXE, Android의 경우 APK)로 컴파일해야 합니다.

PC용 게임을 컴파일하려면 사전 설정을 할 필요가 없습니다. 그러나 Android의 경우 처음에 다운로드한 Android SDK를 먼저 연결해야 합니다. 이것은 매우 간단하게 수행됩니다. "편집" 메뉴로 이동하여 "기본 설정" 항목을 호출하고 열리는 창에서 "외부 도구" 탭으로 이동합니다. 여기에서 "Android SDK Location" 줄을 찾고 있으며 그 안에 SDK를 사용하여 압축을 푼 아카이브의 경로를 나타냅니다(아래 스크린샷 참조). 그건 그렇고, 여기에서 기본적으로 활성화된 괴물 같은 MonoDevelop 텍스트 편집기를 좋아하는 편집기로 변경할 수도 있습니다. :)

그리고 이제 진실의 순간이 왔습니다! "파일" 메뉴로 이동하여 거기에서 "빌드 설정" 항목을 찾으십시오. 열리는 창에서 어셈블리에 대한 장면을 즉시 추가해야 합니다. 우리 프로젝트에서와 같이 하나의 장면만 있는 경우 "현재 추가" 버튼을 클릭하는 것으로 충분합니다. 여러 개 있는 경우 각각을 열고 같은 방식으로 장면 목록에 추가한 다음 끌어서 놓기를 통해 원하는 순서를 조정해야 합니다.

다음 단계는 빌드 플랫폼(Android용 게임을 계획 중이므로 선택함)을 선택하고 아래의 "플레이어 설정" 버튼을 클릭하는 것입니다. Inspector 창은 여러 설정을 열 것이며, 그 중 일부는 필수이거나 매우 바람직합니다. 설정 목록 상단에 개발사명, 프로그램명, 해당 아이콘(각각 회사명, 제품명, 기본 아이콘)을 표기하는 것이 바람직하다.

하단의 "기타 설정" 섹션에는 "번들 식별자"와 "번들 버전"이라는 두 가지 필수 매개변수가 있습니다. 기본 버전은 1.0으로 설정되어 있지만 식별자는 수동으로 생성해야 하며 가급적이면 고유해야 합니다. 예약어 "com", 개발자 회사 이름, 마지막에 응용 프로그램 자체 이름의 세 부분으로 구성되어야 합니다.

나머지 어셈블리 설정은 재량에 따라 변경하거나 전혀 변경하지 않을 수 있습니다. 중요한 것은 이제 컴파일을 이미 시작할 수 있다는 것입니다. 이렇게 하려면 "빌드 설정" 창에서 "빌드" 버튼을 클릭하고 프로그램이 APK 파일에 패키징된 기성품 애플리케이션을 제공할 때까지 기다리면 됩니다. :)

결론

이것으로 가장 간단한 Android용 애플리케이션을 만드는 방법에 대한 강의 검토를 마칩니다. 우리가 이야기 한 모든 것을 반복 할 수 있도록 기사 끝에서 게임의 모든 리소스를 별도의 폴더로 저장하는 아카이브에 대한 링크를 제공합니다 (처음부터 모든 것을 수행하려는 경우). unitypackage 확장자를 가진 파일입니다. 후자를 사용하면 종속성 등을 포함하여 전체 프로젝트를 Unity로 한 번에 가져올 수 있습니다.

프로젝트를 가져오려면(그리고 인터넷이나 에셋 스토어에서 다운로드한 모든 플러그인) "자산" 메뉴로 이동하여 "패키지 가져오기" 항목을 선택한 다음 "사용자 지정 패키지"를 선택해야 합니다. 그런 다음 파일의 경로를 지정하고 "가져오기" 버튼을 누릅니다. 그건 그렇고, "패키지 내보내기" 항목을 클릭하여 동일한 메뉴("자산")에서 프로젝트의 전체 백업을 만들어 단일 패키지에 저장할 수 있습니다.

모든 것 같습니다 :) Unity 3D를 처음부터 마스터 한 사람으로서 기사에서 최대 질문 수에 답하고 처음에 발생하는 엔진 작업의 주요 뉘앙스를 강조하려고했습니다. 그러나 아마도 이것은 누군가에게는 충분하지 않을 것이므로 질문이 있는 경우 우편이나 포럼을 통해 직접 저에게 연락할 수 있습니다. 제가 할 수 있는 모든 방법으로 도와드리겠습니다!

모든 프로젝트의 행운과 성공적인 구현을 기원합니다!

추신 소스에 대한 열린 활성 링크가 표시되고 Ruslan Tertyshny의 저자가 유지되는 경우 이 기사를 자유롭게 복사하고 인용할 수 있습니다.