Unity3d. 시작하기, 실용적인 조언

그래서 오늘은 (적어도 아직 익숙하지 않은 분들에게는) Unity에 대해 말씀드리고 싶습니다. 물론, 그것이 무엇인지 아는 사람들이 Habré에 있지만, 검색 결과 해당 주제를 언급하는 극히 적은 수의 주제가 반환됩니다. 그 중 두 개는 단순히 새 버전을 보고하고, 하나는 간략하게 제시하고, 다른 하나는 그 사용에 전념합니다. “용서할 수 없는 일이다. 우리는 이것을 고쳐야 한다!”라고 생각했고, 기술을 대중화하기 위해 짧은 프레젠테이션을 작성하기로 결정했습니다. 이미 해당 주제를 다루고 있다면 더 이상 읽을 필요가 없습니다.

솔직히 말해서 Wikipedia에서 일반 IDE가 내장된 무료(적어도 완전히 정상적인 기능의 무료 라이센스 포함) 3D 엔진에 대해 읽었을 때 정상물리, 오디오 엔진 및 네트워크 멀티플레이어의 직접 구현을 통해 nix를 제외한 모든 애플리케이션을 만들 수 있습니다(Windows, MacOS, Wii, iPhone, iPod, iPad, Android, PS3, XBox 360이 지원되고 정상적으로 작동함). 나는 이미 뭔가를 느꼈다.

모든 Unity 애플리케이션을 브라우저에 내장된 플러그인용 특수 버전으로 컴파일할 수 있다는 사실을 알게 되었을 때 모델 품질과 텍스처 해상도를 실제로 저하시키지 않고 Firefox 창에서 정직하고 본격적인 삼진을 볼 수 있었습니다. 나는 이것이 항상 그런 경우에 완전 말도 안되는 일이라고 거의 확신했습니다.

그리고 내가 이 기적을 창조하고 위의 모든 것이 진실임을 확신하게 되었을 때 나는 거의 사랑에 빠졌습니다.

인터넷에 정직한 발전을 가져오겠다는 목표를 세운 기술이 여러 번 탄생했습니다. 비참한 VRML, 약간 덜 비참한 ActiveWorlds를 기억합시다... 오늘날에는 거의 아무도 그것을 기억하지 않습니다. 곧 전 세계가 HTML5로 가득 차게 될 것이며, 3D 가속 기능을 갖춘 새로운 플래시가 출시될 것입니다... 그러나 이것이 일어날 때까지 웹의 멀티미디어 콘텐츠 세계는 Java 및 Silverlight와 함께 현재 버전의 Flash에 의해 지배됩니다. 아마도 Flash만 있을 수도 있습니다. 개발자는 다른 기술을 사용하기가 어렵습니다. 이는 이해할 수 있는 일입니다. 단지 하나의 게임을 플레이하거나 하나의 사이트를 보기 위해 사용자에게 다른 타사 플러그인을 설치하도록 강요하는 것은 어렵습니다.

그러나 위에서 언급한 엔진의 새로운 세 번째 버전이 출시되면서 즐겨 사용하는 플래시에 대한 견해를 다시 생각해 볼 수 있게 되었습니다. 결국 Kongregate와 같은 플래시 토이의 거대 기업이 이 기술에 주목했다면(특히 Unity에서 최고의 게임을 위한 경쟁을 발표했습니다) 적어도 살펴볼 가치가 있습니다.

여러 곳에서 볼 수 있지만 예를 들어 몇 가지 링크를 제공하겠습니다. 링크를 따라가면 플러그인을 설치하라는 메시지가 표시됩니다. 무게는 킬로바이트이며 브라우저를 다시 시작하지 않고도 작동합니다(안타깝게도 데모 크기를 계산할 수 없으므로 주의하세요. 크기는 약 30-50미터일 수 있습니다).

  • Bootcamp는 3인칭 슈팅 게임인 세 번째 버전의 데모입니다. 현재로서는 전체 엔진의 얼굴이라고 할 수 있습니다. 또한 하단에서 다른 데모를 클릭할 수 있습니다. 대부분은 이전 버전을 참조하지만 계속 시청할 수 있습니다.
  • Kongregate.com의 Unity 섹션 - 여기서 게임은 이미 웹에 맞게 조정되었으며 무게는 일반 플래시 드라이브보다 크지 않습니다.
  • 오프사이트의 게임 목록 - 볼 수도 있습니다.
이것이 어떤 종류의 짐승인지, 공식 사이트에 그려진 것만큼 정말 좋은 것인지 알아보도록 하겠습니다.

프로와 콘트라

우선 용어를 정의해 보겠습니다. Unity는 전체 개발 프로세스(리소스 준비 및 스크립팅 제외)가 포함된 Everything Editor에서 수행되도록 설계된 본격적인 게임 엔진입니다. 일반적으로 이러한 질문의 공식화는 "gamedev-wannabis" 범주의 10대들이 게임 개발에 참여하고 있다는 느낌을 갖도록 설계된 느린 GUI로 자란 실행 불가능한 괴물을 의미합니다. 하지만 아직 이 주제에 대한 탭을 닫아서는 안 됩니다. Unity는 이 테스트에 포함되지 않습니다. 그렇다면 Unity의 좋은 점은 무엇인가요? 살펴보면서 동시에 Epic Games가 최근 독립 개발자를 위해 무료로 제공한 UnrealEngine 3용 SDK인 UDK와 비교해 보겠습니다.

좋은 단결:

  • IDE를 통해 장면 편집기(아래 나열된 모든 항목에 대한 편집기이기도 함), 게임 개체 편집기, 심지어 포함된 간단한 스크립트 편집기도 결합합니다. 또한 키트에는 SpeedTree(나쁘지 않음)와 같은 트리 생성기와 지형 생성기(표준, 편리함)가 포함되어 있습니다.
  • 스크립팅 기능 - 내장된 자체 작성 언어로만 작성할 수 있는 UDK와 달리 Unity에는 JavaScript, C# 및 Boo라는 Python 방언의 세 가지 언어를 사용할 수 있습니다. 개인적으로 확인하지는 않았지만 러시아 커뮤니티에는 UDK의 스크립트 실행 속도가 몇 배 더 낮다는 문구가 있었습니다(이것은 이해할 수 있습니다. Unity에서는 결국 스크립트가 네이티브 코드로 컴파일됩니다).
  • 크로스 플랫폼 - 위에서 언급한 대로 Windows, MacOS, Wii, iPhone, iPod, iPad, Android, PS3 및 XBox 360이 지원되며, 물론 웹 플러그인도 잊지 마세요. 이들 모두가 무료 라이선스로 제공되는 것은 아니지만(실제로 빌드는 Win, Mac 및 웹에서만 사용 가능) 이는 꽤 이해할 수 있습니다. Windows 및 Mac에서는 코드를 전혀 변경하지 않고 모든 것이 컴파일됩니다. 물론 웹의 경우 리소스를 줄여야 합니다. 브라우저에서 한 레벨을 열기 위해 400미터를 다운로드하는 것은 그리 편리하지 않습니다. 아래에서 웹 버전의 작동을 설명하겠습니다.
  • 그래픽 수준은 상당히 현대적입니다. 게다가 UDK는 구현된 기능 수 측면에서 Unity보다 열등합니다. 결국 UnrealEngine은 이 분야의 주력 제품 중 하나라고 할 수 있으며 이를 능가하기 어렵습니다. . 그러나 Unity는 지연된 조명, 내장된 셰이더 편집기, 표준 후처리 효과 세트(전체 목록, 물론 직접 작성할 수 있음), 현재 유행하는 SSAO(간단히 말해서 창작을 위한 전체 도구 세트)를 갖추고 있습니다. AAA 프로젝트가 있습니다. 그건 그렇고, 라이트맵을 적절하고 빠르게 만드는 것 이상입니다.
  • 물리 엔진 - 물리 엔진이 수행할 수 있는 모든 기능을 갖추고 있습니다. 자신만의 Half-Life 2를 만들어 보세요. 용이하게!
  • 성능 및 확장성 - 우리는 주저 없이 "탁월함"을 제공합니다. 엔진은 이와 관련된 대부분의 일상적인 작업을 자체적으로 처리하고 훌륭한 작업을 수행하기 때문입니다.
  • 웹 플러그인에서 애플리케이션 실행 - 우리는 이미 이것에 대해 이야기했지만 다시 언급하는 것은 죄가 아닙니다.
  • 저렴한 라이센스 가격 - 단 $1500. 무료 버전에는 일부 기능이 포함되어 있지 않습니다.
왠지 이렇게. 이제 이것이 왜 나쁜지 논의해 보겠습니다.
  • 폐쇄되었습니다. 저것들. 라이센스가 있어도 소스 코드를 제공하지 않습니다. UDK를 사용하면 모든 것을 올바르게 이해했다면 그림은 동일합니다. 소스 코드는 더 많은 비용을 위해 별도로 라이센스가 부여됩니다. 그러나 Unity에서는 스크립트를 사용하여 소스 코드로 수행하는 것과 정확히 동일한 작업을 수행할 수 있습니다. 거의 모든 것을 수정할 수 있습니다. 하지만 여전히 소스 코드가 모든 면에서 더 우수하므로 이는 마이너스입니다. 적어도 타사 물리학이나 동일한 SpeedTree를 추가하려는 사람들에게는 적합하지 않습니다.
  • 이익.
솔직히 말해서 아직 실질적인 단점은 보이지 않습니다. 엔진은 안정적이고 생산적이며 사용하기 쉽습니다. 더 이상 무엇이 필요합니까? 확실히 몇 가지 단점이 있습니다. 그래서 저는 애니메이션의 추가 블렌딩이 이상하게 작동한다는 보고를 자주 접했습니다. 어떤 사람들은 여러 재료를 지형에 할당하지 못한다고 불평합니다. 저는 그것을 시도하지 않았습니다. 그러나 위의 장점에 비추어 볼 때 이것이 정말로 중요한가요? 나에게는 그렇지 않습니다.

사실 대부분의 소규모 팀의 주요 문제는 항상 엔진이었습니다(물론 아이디어와 좋은 예술의 부족도 있지만 지금은 그것에 대해 이야기하지 않습니다). 엔진이 3D 렌더러일 뿐만 아니라 가져오기 도구, 편집자, 뷰어 등 파이프라인 도구 모음이기도 하다는 점을 고려하면 팀의 유일한 프로그래머에게는 처음부터 작성하는 것이 어렵습니다. 미니멀리즘을 고수하지 않는 한 불가능한 작업입니다. . 미니멀리즘도 나쁘지 않습니다. 많은 사랑을 받는 8비트 스타일로 만들어진 멋진 게임이 너무 많아서 셀 수조차 없습니다... 하지만 대부분은 일일 프로젝트입니다(Minecraft는 포함되지 않습니다. 그렇습니다. 그리고 by 그건 그렇고, 처음부터 작성된 것이 아니라 LWJGL로 작성되었습니다.) 며칠 동안 플레이할 게임의 경우 완전한 엔진이 필요하며 우리는 무료 솔루션을 찾기 시작합니다. 물론 Ogre, Irrlicht 및 그들과 같은 몇몇 다른 것들은 훌륭하지만 a) 그들은 도덕적으로 오래되었고 b) 그것들을 연구하고 작동 상태로 마무리하려면 많은 시간과 큰 이론적 기반이 필요합니다. 물론 이를 사용하여 멋지고 판매 가능한 프로젝트를 작성할 수 있지만(Ogre의 Torchlight가 이에 대한 예입니다), 여전히 한 명 이상의 프로그래머가 필요합니다. GameMaker와 같은 "프로그래밍 언어에 대한 지식이 없는 게임" 세트도 있지만 솔직히 말해서 이것은 장난감입니다.

Unity의 경우 미리 만들어진 파이프라인, 미리 만들어진 렌더러, 미리 만들어진 물리, 오디오 및 네트워크 라이브러리가 있으므로 익숙한 언어로 코딩할 수 있습니다. 실제로 코딩 측면에서 우리가 알아야 할 사항만 있습니다. Javascript와 같은 기본 사항을 배우고 FPS를 리벳하기 위한 공식적인 도움말을 탐구하는 데 일주일을 보냅니다. 해제하는 데 장애물이 하나 있습니다. 다른 사람이 작성한 코드의 품질이 수정될 수 없다고 믿는 사람이 있다면 확인해 보세요. 전혀 나쁘지 않습니다.

그것은 어떻게 생겼나요?

사진은 클릭 가능합니다.

실제로 IDE:

IDE에서 바로 "재생" 버튼을 클릭하고 현재 실시간 장면을 테스트할 수 있습니다.

내장된 클래스 검사기는 동어반복을 용서하고 변수에 대한 클래스를 조사하며 코드를 보지 않고도 스크립트에서 변수를 즉시 변경할 수 있도록 해줍니다. 그리고 int뿐만 아니라 재질, 텍스처, 모델... 많은 시간을 절약합니다. API 문서에는 예를 들어 텍스처 경로를 스크립트에 직접 작성하지 말고 간단히 작성하는 것이 좋은 형식으로 나와 있습니다. 해당 유형의 빈 속성을 클래스의 빈 속성으로 만들고 필요한 검사기에서 선택하십시오.

조립식 건물(오른쪽) 및 엔터티(왼쪽) 검사기. 대략적으로 말하면 오른쪽에는 빈 개체가 있고 왼쪽에는 현재 장면에 존재하는 개체가 있습니다. 에디터에서 레벨을 실행하는 동안("재생" 버튼) 실행을 일시 중지하고 개체의 현재 상태를 확인할 수 있어 편리합니다. 하나의 작은 변수의 동작:

그리고 결국 나는 말할 것입니다 ...

지금까지의 모든 언어적 쓰레기를 요약하자면, AAA 프로젝트를 수행하고 있다면 자신만의 엔진을 작성할 가능성이 높습니다. 또는 이미 이전 프로젝트의 엔진이 있습니다. 아니면 악명 높은 UnrealEngine 3 수준의 소스를 구매하게 됩니다. 하지만 이것은 코딩에만 12명의 사람들과 함께 AAA 프로젝트를 하고 있는 경우입니다.

스튜디오에 (2명은 고사하고) 10명만 있는 경우, 자체 엔진을 작성하는 데에는 일반적으로 비용이 너무 많이 듭니다. 본격적인 브라우저 기반 3D 게임(Ogre용 Java 래퍼는 포함되지 않습니다. 실제로)의 물결에 뛰어들고 싶은 유혹은 실제로 Unity를 사용해 볼 가치가 있습니다. 일반 브라우저 기반 캐주얼 게임을 개발하는 속도와 복잡성은 Flash보다 높지 않지만 그래픽 우월성은 분명합니다. 그리고 아직 아무도 와우 효과를 취소하지 않았습니다.

결국에는 Unity에서 웹사이트를 만들고(논쟁의 여지는 있지만 가능함) 프레젠테이션을 하고 과학 프로젝트를 시각화할 수 있습니다. 이 모든 것은 순수한 OpenGL에서 수동으로 작성할 수 있지만 구현 시간과 품질을 비교한 후에도 여전히 마음이 듭니다. Unity를 사용합니다. 플래시 지금은우리는 또한 이를 고려하지 않습니다. 하드웨어 3D 가속이 출시될 때까지 기다릴 것입니다.

그러한 말은 다른 엔진 지지자들 사이에 감정의 폭풍을 일으킬 것입니다. "예, 이 모든 것은 %enginename%에 있습니다.", "%gamename% 및 %gamename%은(는) %enginename%에서 만들어지며, 이 모든 것은 모두 소모적인 드래그"n"드롭" 없이…

저는 여러분에게 Unity에 기회를 달라고 조언합니다. Unity는 편리함, 기능, 유연성 및 개발 속도로 마음을 사로잡습니다(적어도 나를 사로잡았습니다). 게다가... 안녕하세요, 이것은 브라우저의 전체 스레드입니다! :)

컴퓨터 기술의 발전으로 인해 다양한 보조 및 엔터테인먼트 애플리케이션이 탄생하게 되었습니다. 이와 관련하여 소프트웨어 시장에는 애플리케이션을 제작하기 위한 플랫폼이 등장했으며, 그 중 하나가 다양한 플랫폼을 위한 본격적인 애플리케이션 개발 도구인 Unity 게임 엔진입니다. 그 안에 있는 게임은 2차원 또는 3차원 형식으로 만들 수 있습니다.

이 프로그램은 유료 및 무료 라이센스에 따라 배포됩니다. 첫 번째 경우, 사용자는 사용 가능한 모든 기능을 갖춘 본격적인 도구를 받습니다. 무료 라이센스에서는 게임 개발도 가능하지만 일부 기능이 빠져 있는 기능이 있습니다. 또한 이 버전에서는 지원되는 플랫폼 수가 제한되어 있습니다. 향후 제품이 PC, 안드로이드, 웹 플레이어용이라면 문제가 없을 것입니다. 다른 플랫폼에서 작업하려면 유료 라이센스를 구매해야 합니다. 오늘날 많은 개발자들이 자신의 프로젝트에 Unity(게임 엔진)를 선택합니다. 그것으로 만들어진 게임은 항상 인터페이스의 품질과 고성능에 만족합니다!

상호 작용

많은 개발자가 초보자에게 Unity를 사용하도록 조언합니다. 간단한 인터페이스 덕분에 단 몇 주 만에 완전히 탐색할 수 있습니다. 사용 편의성은 어떤 식으로든 기능을 손상시키지 않으며 전문 개발자도 이 엔진을 사용하여 자신의 아이디어를 구현합니다.

작업 공간은 여러 섹션으로 나누어져 있습니다.

  • 장면에서는 각도를 선택하고 장면을 볼 수 있습니다.
  • 계층에는 모든 장면 개체가 포함됩니다.
  • Inspector는 원하는 개체를 변경하는 데 도움을 줍니다.
  • 도구 모음은 도구 모음입니다.
  • 프로젝트에는 프로젝트의 모든 리소스가 포함됩니다.

가능성

Unity에서의 개발은 Javascript 및 C#으로 가능합니다. 전체 기능을 사용하려면 두 언어를 모두 사용해야 합니다. NVIDIA PhysX 기술은 물리적 구성 요소를 담당하여 탁월한 결과를 보여줍니다.

Unity 게임 엔진은 객체 작업 시 그 가능성을 높이 평가합니다. 이를 결합하고, 비우고, 스크립트 관련 구성 요소로 채우고, 코드와의 상호 작용을 향상시키는 이름과 태그를 할당할 수 있습니다. 개체를 다양한 충돌체에 연결할 수 있으므로 개발 속도가 빨라지고 단순화됩니다.

모델 애니메이션은 타사 프로그램에서 가장 자주 수행되지만 프로그램 도구 중에는 이러한 작업을 구현하는 데 여전히 가치 있는 솔루션이 있습니다.

재료는 프로젝트의 필수적인 부분이므로 재료와의 상호 작용도 뛰어납니다. 텍스처를 편리하게 사용하면 개체에 어떤 모양이든 제공하는 데 도움이 되며 셰이더는 개체를 훨씬 더 아름답게 만듭니다.

개발 과정

Unity 게임 엔진은 2005년에 만들어졌지만 기능 수가 적어 그다지 인기가 없었습니다. 그러나 개발자는 종종 업데이트를 출시하여 제품을 개선했습니다. 새로운 플랫폼이 끊임없이 추가되면서 사용자들의 관심이 집중되었습니다. 점차적으로 기능이 확장되어 사용 편의성이 향상되었습니다.

새로운 효과는 그래픽을 현대적인 수준으로 끌어올렸습니다. 업데이트된 물리학으로 인해 게임플레이가 더욱 생생하고 현실감 있게 만들어졌습니다. 스크립트 작업도 지속적으로 개선되어 특히 개발자의 관심을 끌었습니다. 스폰서의 출현으로 Unity는 개발 속도를 높였으며 현재 경쟁사 중에서 선두 위치를 차지하고 있습니다.

유니티 5의 특징

Level of Detail 및 Occlusion Culling과 같은 기술은 게임 개발을 다음 단계로 끌어 올렸으며 이러한 혁신은 Unity 5에 나타납니다. 게임 엔진은 이러한 도구와 함께 디테일이 계산되는 방식을 바꿀 것입니다. 이제 장치는 플레이어가 보는 것만 처리하면 되므로 성능이 향상됩니다.

세부 수준은 해당 위치에서 멀리 있는 물체의 세부 묘사를 악화시킵니다. 프로세서의 부하가 눈에 띄게 감소하지만 플레이어는 그래픽 저하를 느끼지 못합니다.

장점

초보자는 Unity(게임 엔진)의 진가를 즉시 알아볼 것입니다. 교육은 가능한 한 간단하지만 이 외에도 이 제품은 수많은 다른 장점을 자랑하며 주요 장점은 다음과 같습니다.

  • 필요한 모든 요소가 포함된 편리한 인터페이스입니다.
  • 컴퓨터뿐만 아니라 스마트폰, 게임 콘솔 및 기타 여러 장치용 게임을 만들 수 있는 지원 플랫폼이 엄청나게 많습니다.
  • 스크립트 작업에 대한 광범위한 가능성. Unity는 두 가지 널리 사용되는 프로그래밍 언어와 상호 작용하여 빠른 스크립트 컴파일 속도를 보장합니다.
  • 고품질 그래픽을 제작하기 위한 다양한 도구입니다. 다양한 조명 모드, 셰이더, 효과 및 기타 기술이 적절한 시각적 디자인을 제공합니다.
  • 뛰어난 물리 엔진.
  • 고성능.
  • 누구나 해당 기능을 시험해 볼 수 있는 무료 버전의 프로그램입니다.

결함

영어를 구사하지 못하는 사용자는 Unity를 사용하는 데 문제가 발생할 수 있습니다. 러시아어로 된 게임 엔진은 현재 아직 사용할 수 없습니다. 이 플랫폼에는 현지화 프로그램도 없습니다.

또한 Unity는 완전히 폐쇄되어 소스코드를 얻을 수 없습니다. 타사 물리 또는 이와 유사한 것을 추가하면 작동하지 않습니다. 그러나 사용 가능한 스크립트가 상당히 충분하다는 점은 주목할 가치가 있으므로 이러한 단점을 심각하다고 부르는 것은 잘못된 것입니다. 많은 사람들은 소스 코드를 전혀 얻을 필요가 없습니다.

단점은 대규모 게임을 개발할 때나 단순히 작은 세부 사항에서만 나타날 수도 있습니다. 그러나 모든 단점은 지속적으로 수정되고 있으며 환경은 빠르게 개선되고 있습니다.

경쟁제품과의 비교

이 프로그램에는 경쟁자가 거의 없으며 그 중에는 UDK와 CryENGIN이 있습니다. 세 대표 모두 주목할만한 인물이지만, 저마다 독특한 면모를 갖고 있다. FPS 슈팅 장르에서 UDK는 독특한 프로그래밍 언어를 사용한다는 점에서 장점이 있습니다. 경우에 따라 이는 스크립트 처리를 향상시킵니다.

CryENGINE은 게임에 놀라운 그래픽을 제공하는 차세대 플랫폼을 위해 더욱 설계되었습니다. 그러나 그러한 적응은 그것이 보편적인 것을 허용하지 않습니다. Unity는 모바일 게임을 만드는 데 자주 사용됩니다. 게임 엔진을 사용하면 모든 플랫폼에 적합한 제품을 개발할 수 있습니다. 이러한 개발 환경은 모두 나름대로의 장점을 갖고 있으며, 가장 좋은 것을 선택하는 것은 불가능합니다. 그러나 빠르게 성장하고 있는 것은 바로 Unity이며, 앞으로도 경쟁사 중에서 1위를 차지할 수 있는 모든 기회가 있습니다.

결론

대규모 프로젝트를 만들 계획이라면 자체 개발 환경을 사용하는 것이 가장 좋습니다. 다른 모든 경우에는 Unity 게임 엔진이 완벽합니다. 수십 명이 참여하는 프로젝트인 AAA의 구현을 그가 도울 가능성은 거의 없습니다. 그러나 그러한 팀이 공개적으로 사용 가능한 개발 환경을 사용할 가능성은 극히 낮습니다.

Unity는 중소 규모 프로젝트를 위해 만들어졌습니다. 한두 명의 개발자에게는 충분한 기회를 제공하고 아이디어를 실현하는 데 도움이 될 것입니다.

오늘날 모든 플랫폼 중에서 웹 환경은 매우 매력적이며 문제없이 정복할 수 있습니다. Unity는 높은 개발 속도와 최고의 편의성을 선보일 것입니다. 결과 제품은 정말 당신을 놀라게 할 수 있습니다!

제시된 플랫폼의 모든 장점은 다른 플랫폼보다 돋보입니다. 그리고 게임 개발에 관심이 있다면 이 사본은 확실히 시도해 볼 가치가 있습니다. 풍부한 기회, 편리한 도구, 유연한 작업 공간 설정 및 기타 모든 기능이 어떤 아이디어에도 생기를 불어넣어 줄 것입니다!

그래서 오늘은 (적어도 아직 익숙하지 않은 분들에게는) Unity에 대해 말씀드리고 싶습니다. 물론, 그것이 무엇인지 아는 사람들이 Habré에 있지만, 검색 결과 해당 주제를 언급하는 극히 적은 수의 주제가 반환됩니다. 그 중 두 개는 단순히 새 버전을 보고하고, 하나는 간략하게 제시하고, 다른 하나는 그 사용에 전념합니다. “용서할 수 없는 일이다. 우리는 이것을 고쳐야 한다!”라고 생각했고, 기술을 대중화하기 위해 짧은 프레젠테이션을 작성하기로 결정했습니다. 이미 해당 주제를 다루고 있다면 더 이상 읽을 필요가 없습니다.

솔직히 말해서 Wikipedia에서 일반 IDE가 내장된 무료(적어도 완전히 정상적인 기능의 무료 라이센스 포함) 3D 엔진에 대해 읽었을 때 정상물리, 오디오 엔진 및 네트워크 멀티플레이어의 직접 구현을 통해 nix를 제외한 모든 애플리케이션을 만들 수 있습니다(Windows, MacOS, Wii, iPhone, iPod, iPad, Android, PS3, XBox 360이 지원되고 정상적으로 작동함). 나는 이미 뭔가를 느꼈다.

모든 Unity 애플리케이션을 브라우저에 내장된 플러그인용 특수 버전으로 컴파일할 수 있다는 사실을 알게 되었을 때 모델 품질과 텍스처 해상도를 실제로 저하시키지 않고 Firefox 창에서 정직하고 본격적인 삼진을 볼 수 있었습니다. 나는 이것이 항상 그런 경우에 완전 말도 안되는 일이라고 거의 확신했습니다.

그리고 내가 이 기적을 창조하고 위의 모든 것이 진실임을 확신하게 되었을 때 나는 거의 사랑에 빠졌습니다.

인터넷에 정직한 발전을 가져오겠다는 목표를 세운 기술이 여러 번 탄생했습니다. 비참한 VRML, 약간 덜 비참한 ActiveWorlds를 기억합시다... 오늘날에는 거의 아무도 그것을 기억하지 않습니다. 곧 전 세계가 HTML5로 가득 차게 될 것이며, 3D 가속 기능을 갖춘 새로운 플래시가 출시될 것입니다... 그러나 이것이 일어날 때까지 웹의 멀티미디어 콘텐츠 세계는 Java 및 Silverlight와 함께 현재 버전의 Flash에 의해 지배됩니다. 아마도 Flash만 있을 수도 있습니다. 개발자는 다른 기술을 사용하기가 어렵습니다. 이는 이해할 수 있는 일입니다. 단지 하나의 게임을 플레이하거나 하나의 사이트를 보기 위해 사용자에게 다른 타사 플러그인을 설치하도록 강요하는 것은 어렵습니다.

그러나 위에서 언급한 엔진의 새로운 세 번째 버전이 출시되면서 즐겨 사용하는 플래시에 대한 견해를 다시 생각해 볼 수 있게 되었습니다. 결국 Kongregate와 같은 플래시 토이의 거대 기업이 이 기술에 주목했다면(특히 Unity에서 최고의 게임을 위한 경쟁을 발표했습니다) 적어도 살펴볼 가치가 있습니다.

여러 곳에서 볼 수 있지만 예를 들어 몇 가지 링크를 제공하겠습니다. 링크를 따라가면 플러그인을 설치하라는 메시지가 표시됩니다. 무게는 킬로바이트이며 브라우저를 다시 시작하지 않고도 작동합니다(안타깝게도 데모 크기를 계산할 수 없으므로 주의하세요. 크기는 약 30-50미터일 수 있습니다).

  • Bootcamp는 3인칭 슈팅 게임인 세 번째 버전의 데모입니다. 현재로서는 전체 엔진의 얼굴이라고 할 수 있습니다. 또한 하단에서 다른 데모를 클릭할 수 있습니다. 대부분은 이전 버전을 참조하지만 계속 시청할 수 있습니다.
  • Kongregate.com의 Unity 섹션 - 여기서 게임은 이미 웹에 맞게 조정되었으며 무게는 일반 플래시 드라이브보다 크지 않습니다.
  • 오프사이트의 게임 목록 - 볼 수도 있습니다.
이것이 어떤 종류의 짐승인지, 공식 사이트에 그려진 것만큼 정말 좋은 것인지 알아보도록 하겠습니다.

프로와 콘트라

우선 용어를 정의해 보겠습니다. Unity는 전체 개발 프로세스(리소스 준비 및 스크립팅 제외)가 포함된 Everything Editor에서 수행되도록 설계된 본격적인 게임 엔진입니다. 일반적으로 이러한 질문의 공식화는 "gamedev-wannabis" 범주의 10대들이 게임 개발에 참여하고 있다는 느낌을 갖도록 설계된 느린 GUI로 자란 실행 불가능한 괴물을 의미합니다. 하지만 아직 이 주제에 대한 탭을 닫아서는 안 됩니다. Unity는 이 테스트에 포함되지 않습니다. 그렇다면 Unity의 좋은 점은 무엇인가요? 살펴보면서 동시에 Epic Games가 최근 독립 개발자를 위해 무료로 제공한 UnrealEngine 3용 SDK인 UDK와 비교해 보겠습니다.

좋은 단결:

  • IDE를 통해 장면 편집기(아래 나열된 모든 항목에 대한 편집기이기도 함), 게임 개체 편집기, 심지어 포함된 간단한 스크립트 편집기도 결합합니다. 또한 키트에는 SpeedTree(나쁘지 않음)와 같은 트리 생성기와 지형 생성기(표준, 편리함)가 포함되어 있습니다.
  • 스크립팅 기능 - 내장된 자체 작성 언어로만 작성할 수 있는 UDK와 달리 Unity에는 JavaScript, C# 및 Boo라는 Python 방언의 세 가지 언어를 사용할 수 있습니다. 개인적으로 확인하지는 않았지만 러시아 커뮤니티에는 UDK의 스크립트 실행 속도가 몇 배 더 낮다는 문구가 있었습니다(이것은 이해할 수 있습니다. Unity에서는 결국 스크립트가 네이티브 코드로 컴파일됩니다).
  • 크로스 플랫폼 - 위에서 언급한 대로 Windows, MacOS, Wii, iPhone, iPod, iPad, Android, PS3 및 XBox 360이 지원되며, 물론 웹 플러그인도 잊지 마세요. 이들 모두가 무료 라이선스로 제공되는 것은 아니지만(실제로 빌드는 Win, Mac 및 웹에서만 사용 가능) 이는 꽤 이해할 수 있습니다. Windows 및 Mac에서는 코드를 전혀 변경하지 않고 모든 것이 컴파일됩니다. 물론 웹의 경우 리소스를 줄여야 합니다. 브라우저에서 한 레벨을 열기 위해 400미터를 다운로드하는 것은 그리 편리하지 않습니다. 아래에서 웹 버전의 작동을 설명하겠습니다.
  • 그래픽 수준은 상당히 현대적입니다. 게다가 UDK는 구현된 기능 수 측면에서 Unity보다 열등합니다. 결국 UnrealEngine은 이 분야의 주력 제품 중 하나라고 할 수 있으며 이를 능가하기 어렵습니다. . 그러나 Unity는 지연된 조명, 내장된 셰이더 편집기, 표준 후처리 효과 세트(전체 목록, 물론 직접 작성할 수 있음), 현재 유행하는 SSAO(간단히 말해서 창작을 위한 전체 도구 세트)를 갖추고 있습니다. AAA 프로젝트가 있습니다. 그건 그렇고, 라이트맵을 적절하고 빠르게 만드는 것 이상입니다.
  • 물리 엔진 - 물리 엔진이 수행할 수 있는 모든 기능을 갖추고 있습니다. 자신만의 Half-Life 2를 만들어 보세요. 용이하게!
  • 성능 및 확장성 - 우리는 주저 없이 "탁월함"을 제공합니다. 엔진은 이와 관련된 대부분의 일상적인 작업을 자체적으로 처리하고 훌륭한 작업을 수행하기 때문입니다.
  • 웹 플러그인에서 애플리케이션 실행 - 우리는 이미 이것에 대해 이야기했지만 다시 언급하는 것은 죄가 아닙니다.
  • 저렴한 라이센스 가격 - 단 $1500. 무료 버전에는 일부 기능이 포함되어 있지 않습니다.
왠지 이렇게. 이제 이것이 왜 나쁜지 논의해 보겠습니다.
  • 폐쇄되었습니다. 저것들. 라이센스가 있어도 소스 코드를 제공하지 않습니다. UDK를 사용하면 모든 것을 올바르게 이해했다면 그림은 동일합니다. 소스 코드는 더 많은 비용을 위해 별도로 라이센스가 부여됩니다. 그러나 Unity에서는 스크립트를 사용하여 소스 코드로 수행하는 것과 정확히 동일한 작업을 수행할 수 있습니다. 거의 모든 것을 수정할 수 있습니다. 하지만 여전히 소스 코드가 모든 면에서 더 우수하므로 이는 마이너스입니다. 적어도 타사 물리학이나 동일한 SpeedTree를 추가하려는 사람들에게는 적합하지 않습니다.
  • 이익.
솔직히 말해서 아직 실질적인 단점은 보이지 않습니다. 엔진은 안정적이고 생산적이며 사용하기 쉽습니다. 더 이상 무엇이 필요합니까? 확실히 몇 가지 단점이 있습니다. 그래서 저는 애니메이션의 추가 블렌딩이 이상하게 작동한다는 보고를 자주 접했습니다. 어떤 사람들은 여러 재료를 지형에 할당하지 못한다고 불평합니다. 저는 그것을 시도하지 않았습니다. 그러나 위의 장점에 비추어 볼 때 이것이 정말로 중요한가요? 나에게는 그렇지 않습니다.

사실 대부분의 소규모 팀의 주요 문제는 항상 엔진이었습니다(물론 아이디어와 좋은 예술의 부족도 있지만 지금은 그것에 대해 이야기하지 않습니다). 엔진이 3D 렌더러일 뿐만 아니라 가져오기 도구, 편집자, 뷰어 등 파이프라인 도구 모음이기도 하다는 점을 고려하면 팀의 유일한 프로그래머에게는 처음부터 작성하는 것이 어렵습니다. 미니멀리즘을 고수하지 않는 한 불가능한 작업입니다. . 미니멀리즘도 나쁘지 않습니다. 많은 사랑을 받는 8비트 스타일로 만들어진 멋진 게임이 너무 많아서 셀 수조차 없습니다... 하지만 대부분은 일일 프로젝트입니다(Minecraft는 포함되지 않습니다. 그렇습니다. 그리고 by 그건 그렇고, 처음부터 작성된 것이 아니라 LWJGL로 작성되었습니다.) 며칠 동안 플레이할 게임의 경우 완전한 엔진이 필요하며 우리는 무료 솔루션을 찾기 시작합니다. 물론 Ogre, Irrlicht 및 그들과 같은 몇몇 다른 것들은 훌륭하지만 a) 그들은 도덕적으로 오래되었고 b) 그것들을 연구하고 작동 상태로 마무리하려면 많은 시간과 큰 이론적 기반이 필요합니다. 물론 이를 사용하여 멋지고 판매 가능한 프로젝트를 작성할 수 있지만(Ogre의 Torchlight가 이에 대한 예입니다), 여전히 한 명 이상의 프로그래머가 필요합니다. GameMaker와 같은 "프로그래밍 언어에 대한 지식이 없는 게임" 세트도 있지만 솔직히 말해서 이것은 장난감입니다.

Unity의 경우 미리 만들어진 파이프라인, 미리 만들어진 렌더러, 미리 만들어진 물리, 오디오 및 네트워크 라이브러리가 있으므로 익숙한 언어로 코딩할 수 있습니다. 실제로 코딩 측면에서 우리가 알아야 할 사항만 있습니다. Javascript와 같은 기본 사항을 배우고 FPS를 리벳하기 위한 공식적인 도움말을 탐구하는 데 일주일을 보냅니다. 해제하는 데 장애물이 하나 있습니다. 다른 사람이 작성한 코드의 품질이 수정될 수 없다고 믿는 사람이 있다면 확인해 보세요. 전혀 나쁘지 않습니다.

그것은 어떻게 생겼나요?

사진은 클릭 가능합니다.

실제로 IDE:

IDE에서 바로 "재생" 버튼을 클릭하고 현재 실시간 장면을 테스트할 수 있습니다.

내장된 클래스 검사기는 동어반복을 용서하고 변수에 대한 클래스를 조사하며 코드를 보지 않고도 스크립트에서 변수를 즉시 변경할 수 있도록 해줍니다. 그리고 int뿐만 아니라 재질, 텍스처, 모델... 많은 시간을 절약합니다. API 문서에는 예를 들어 텍스처 경로를 스크립트에 직접 작성하지 말고 간단히 작성하는 것이 좋은 형식으로 나와 있습니다. 해당 유형의 빈 속성을 클래스의 빈 속성으로 만들고 필요한 검사기에서 선택하십시오.

조립식 건물(오른쪽) 및 엔터티(왼쪽) 검사기. 대략적으로 말하면 오른쪽에는 빈 개체가 있고 왼쪽에는 현재 장면에 존재하는 개체가 있습니다. 에디터에서 레벨을 실행하는 동안("재생" 버튼) 실행을 일시 중지하고 개체의 현재 상태를 확인할 수 있어 편리합니다. 하나의 작은 변수의 동작:

그리고 결국 나는 말할 것입니다 ...

지금까지의 모든 언어적 쓰레기를 요약하자면, AAA 프로젝트를 수행하고 있다면 자신만의 엔진을 작성할 가능성이 높습니다. 또는 이미 이전 프로젝트의 엔진이 있습니다. 아니면 악명 높은 UnrealEngine 3 수준의 소스를 구매하게 됩니다. 하지만 이것은 코딩에만 12명의 사람들과 함께 AAA 프로젝트를 하고 있는 경우입니다.

스튜디오에 (2명은 고사하고) 10명만 있는 경우, 자체 엔진을 작성하는 데에는 일반적으로 비용이 너무 많이 듭니다. 본격적인 브라우저 기반 3D 게임(Ogre용 Java 래퍼는 포함되지 않습니다. 실제로)의 물결에 뛰어들고 싶은 유혹은 실제로 Unity를 사용해 볼 가치가 있습니다. 일반 브라우저 기반 캐주얼 게임을 개발하는 속도와 복잡성은 Flash보다 높지 않지만 그래픽 우월성은 분명합니다. 그리고 아직 아무도 와우 효과를 취소하지 않았습니다.

결국에는 Unity에서 웹사이트를 만들고(논쟁의 여지는 있지만 가능함) 프레젠테이션을 하고 과학 프로젝트를 시각화할 수 있습니다. 이 모든 것은 순수한 OpenGL에서 수동으로 작성할 수 있지만 구현 시간과 품질을 비교한 후에도 여전히 마음이 듭니다. Unity를 사용합니다. 플래시 지금은우리는 또한 이를 고려하지 않습니다. 하드웨어 3D 가속이 출시될 때까지 기다릴 것입니다.

그러한 말은 다른 엔진 지지자들 사이에 감정의 폭풍을 일으킬 것입니다. "예, 이 모든 것은 %enginename%에 있습니다.", "%gamename% 및 %gamename%은(는) %enginename%에서 만들어지며, 이 모든 것은 모두 소모적인 드래그"n"드롭" 없이…

저는 여러분에게 Unity에 기회를 달라고 조언합니다. Unity는 편리함, 기능, 유연성 및 개발 속도로 마음을 사로잡습니다(적어도 나를 사로잡았습니다). 게다가... 안녕하세요, 이것은 브라우저의 전체 스레드입니다! :)

Unity는 가장 인기 있는 플랫폼용 게임을 만들 수 있는 게임 엔진입니다. 이 엔진을 사용하면 개인용 컴퓨터(Windows, MacOS, Linux 실행), 스마트폰 및 태블릿(iOS, Android, Windows Phone), 게임 콘솔(PS, Xbox, Wii)에서 실행되는 게임이 개발됩니다.

이 게임 엔진은 인디 개발자, 스타트업 및 기타 학생들 사이에서 매우 인기가 높습니다. 놀라운 인기를 누리는 데에는 몇 가지 이유가 있습니다.

첫째로분명한 것은 하나의 환경에서 컬러 디스플레이가 있는 상상할 수 있는 거의 모든 장치(브라우저의 Chromebook도 포함)에서 실행되는 애플리케이션을 만들 수 있다는 것입니다. 그리고 물론, 그러한 빵은 모든 것을 한 번에 할 수 있게 해주는 마법의 약을 찾는 젊은 재능들 사이에서 찬미자를 끌어들이는 데 매우 효과적입니다. 물론 이것이 Unity를 사랑해야 하는 아주 적절한 이유입니다. 하지만 이 기능과 관련하여 평소와 같이 몇 가지 뉘앙스가 있습니다.

  • 모델을 설정하고 이동한 후에는 사용자 인터페이스에 대해 걱정해야 합니다. 게임을 실행할 수 있는 대부분의 장치의 입력 인터페이스는 매우 다릅니다. 물론 이는 전 세계적인 문제는 아니며 이를 해결하는 데는 각 장치에 대한 애플리케이션을 별도로 개발하는 것보다 훨씬 적은 시간이 소요됩니다. 마찬가지로, 다양한 대각선과 다양한 디스플레이 형식에 맞게 그래픽 인터페이스를 조정하는 데 몇 년이 걸리지 않습니다.
  • 작업 속도. 교육받은 개발자라면 누구나 보편성과 크로스 플랫폼으로 인해 컴퓨터 컴퓨팅 시스템의 로드가 증가하는 경우가 많다는 것을 이해합니다. 콘솔에서 실행되는 게임을 포함하여 많은 게임이 Unity에서 개발되었지만 그래픽 측면에서는 출시 당시 최고의 게임보다 거의 항상 열등했습니다. 물론 이 엔진을 사용하면 놀라운 그래픽으로 게임을 만들 수 있지만, 이상하게도 이 작업을 수행하려면 매우 직설적인 손이 필요합니다.
  • 다양성은 맞춤화의 복잡성을 가져옵니다. PC나 콘솔용 박스오피스 블록버스터 중 어느 것도 Unity에서 제작되지 않았는데, 이는 어느 정도 성능의 한계를 암시합니다.

둘째, 엔진의 가격 정책과 배포 정책은 매우 쾌적하고 인도적입니다. 프리미엄 버전에서는 모든 플랫폼을 위한 상용 게임을 한 번에 개발할 수 있습니다. Pro 버전의 가격은 1,500달러에 불과하며 주로 기능 및 그래픽과 관련된 추가 기능을 제공합니다.

제삼, 직관적인 편집기 인터페이스 및 배우기 쉬운 프로그래밍 언어인 C# 및 JavaScript의 사용 - 배우는 데 21년이 걸리는 C 및 기타 언어를 다룰 필요가 없습니다.

네번째, 게임 개발 커뮤니티에서 이 엔진이 거의 입소문으로 확산되었습니다. 제품의 품질이 매우 높고 독특하다는 사실이 여기서 중요한 역할을 합니다. 또한 모든 젊은 개발자는 자신이 좋아하는 포럼, 파일 공유 사이트 및 토렌트 추적기에 자신의 "혁명적인" 게임 프로토타입을 게시하고 Unity 게임의 바다에 자신만의 드롭을 추가하는 것이 자신의 의무라고 생각하는 역할을 합니다.

그러나 이것이 주요 매력입니다. 즉, 완전한 탄약을 갖춘 모바일 장치용 애플리케이션 개발의 용이성입니다. Unity 엔진은 Temple Run이나 Dead Trigger와 같은 베스트셀러를 포함하여 수많은 모바일 플랫폼용 게임을 개발하는 데 사용됩니다.

일반적으로 Unity와 Unity의 역사, 사용 사례를 연구한 후 이 소프트웨어 제품에 대해 매우 긍정적인 인상을 받았습니다.

게임 개발자 Stanislav Gerasimenko를 통해

꽤 인기가 있습니다. 이전에는 컴퓨터 게임이 단지 소수의 팬만을 위한 오락이었다면 이제 이 분야는 완전히 새로운 수준에 도달하고 있습니다. 점점 더 많은 사람들이 컴퓨터 게임에 관심을 갖고 있으며, 특정 연령대와 타겟 그룹(예: 가족 게임)에 적합한 프로젝트가 지속적으로 출시되고 있습니다.

당연히 누군가가 배후에 있습니다. 대부분의 경우 각 지점은 자체 활동에 참여하는 여러 지점으로 구성된 전체 회사입니다. 그들은 함께 우리 시대의 가장 뛰어나고 매력적인 컴퓨터 게임을 만들어냅니다. 그러나 최근 독립 개발자의 프로젝트인 인디 게임이 많이 등장했다는 점은 주목할 가치가 있습니다. 한 사람일 수도 있고 비슷한 생각을 가진 소수의 그룹일 수도 있지만 가장 중요한 것은 막대한 예산이 없고 고도로 전문화된 교육을 받은 수백 명의 직원이 없다는 것입니다. 이제 특별한 작업 환경과 Unity 게임 엔진과 같은 기성 커널이 모두 있으므로 누구나 자신만의 게임을 작성할 수 있습니다. 이 기사에서는 그것이 무엇이며 왜 필요한지 배울 것입니다.

게임의 핵심

Unity 게임 엔진이 구체적으로 무엇인지가 아니라 엔진이 원칙적으로 무엇인지부터 시작하는 것이 좋습니다. 컴퓨터 게임을 작성한다고 상상해 보십시오. 모든 코드를 처음부터 작성해야 하며, 캐릭터의 가장 작은 움직임, 상대방의 움직임, 환경과의 상호 작용 및 기타 수천 가지 세부 사항을 작성해야 합니다. 엄청나게 어렵죠? 엔진을 사용하면 생성 프로세스가 훨씬 쉬워집니다.

이것은 모든 기본 스크립트를 포함하는 프로젝트의 핵심입니다. 즉, 처음부터 게임을 만드는 대신 미리 만들어진 코어를 가져와서 원하는 만큼 콘텐츠 레이어를 구축할 수 있습니다. 불법이라는 점에 대해 걱정할 필요가 없습니다. 커널을 훔치는 것이 아니라 수백만 명의 다른 사람들이 사용하는 것처럼 사용하는 것뿐입니다. 다른 사람이 만든 게임 엔진을 사용하는 것은 매우 일반적인 기술이며, 가장 큰 회사만이 대규모로 자체 게임 엔진을 만들 수 있는 수단과 능력을 보유하고 있습니다. 이에 대한 예산이 없다면 Unity 게임 엔진을 사용하는 것이 좋습니다. 그런데 왜 그 사람입니까?

왜 유니티인가?

부분적으로 무료이거나 완전히 유료로 온라인에서 사용할 수 있는 다양한 엔진이 있습니다. 이를 통해 2D와 3D 모두에서 프로젝트를 생성하고 다양한 기능 등에 액세스할 수 있습니다. 그런데 왜 다른 엔진이 아닌 Unity 게임 엔진을 선택해야 할까요?

실제로, 아무도 그러한 선택을 강요하지 않습니다. 예를 들어, 많은 사람들이 3D 게임을 만드는 데 사용하는 아주 좋은 UDK 커널이 있습니다. 3D 이미지에 관심이 없다면 적절한 엔진을 사용하여 2D 프로젝트를 쉽게 만들 수 있습니다. 하지만 Unity는 현재 사용 가능한 가장 인기 있고 품질이 뛰어난 3D 엔진이므로 반드시 사용을 고려해야 합니다. Unity 3D 게임 엔진은 다른 엔진에 비해 여러 가지 심각한 장점을 갖고 있으며 이에 대해서는 아래에서 설명합니다.

유니티 혜택

Unity는 3D 게임을 만들기 위한 새로운 엔진입니다. 많은 사람들이 왜 그것을 선택해야 하는지 궁금해합니다. 앞서 언급했듯이 누구도 선택을 강요하지 않습니다. 그러나 이제는 그것이 나머지 부분보다 왜 그렇게 눈에 띄는지 알게 될 것입니다.

첫째, 이것은 개발 환경입니다. 장면 편집기, 개체 편집기 및 작은 스크립트 편집기도 동시에 포함하는 매우 편리하고 기능적인 IDE가 제공됩니다. 후자의 경우, 대부분의 엔진에는 이미 어떤 경우에도 사용해야 하는 자체 스크립팅 언어가 있기 때문에 이 플러스는 다른 엔진에 비해 특히 눈에 띕니다. Unity의 경우 현지 언어나 다른 언어를 사용할 수 있습니다.

이와 별도로 게임에서 생성할 수 있는 그래픽 수준을 언급할 가치가 있습니다. 이는 대부분의 다른 엔진에 비해 상당히 높습니다. 그리고 물론 최고 수준의 물리학에 주목할 가치가 있습니다. 물론 적절한 기술을 사용하면 현대의 걸작보다 나쁘지 않은 프로젝트를 만들 수 있습니다.

결론적으로 비용에 대해 언급할 가치가 있습니다. 이는 많은 초보 개발자가 직면하는 문제입니다. 이 경우 너무 높지는 않습니다. 단 15,000 달러입니다. 원하는 경우 무료 버전을 사용할 수 있습니다. 이 버전은 모든 기능을 갖추고 있지만 특정 수의 유용한 기능은 없습니다. 또한 완성된 프로젝트는 게임 중에 Unity 로고를 지속적으로 표시합니다. 이제 Unity 3D가 왜 인기 있는 게임 엔진인지 이해하셨을 것입니다. 그런데 정말 단점이 없나요? 이제 이것에 대해 이야기합시다.

통일의 단점

많은 사람들이 이 엔진의 단점을 찾으려고 노력했지만 어려움을 겪으면서도 폐쇄 소스 코드라는 한 가지에 대해서만 불만이 쌓였습니다. 어떤 의미에서 이것은 정말 단점입니다. 개발자가 제공하는 커널만 사용할 수 있고, 수행 방법을 알고 있더라도 커널을 변경할 수 없습니다. 그리고 1500달러를 지불했다는 사실을 고려하더라도 라이센스는 여전히 커널 자체에 대한 액세스를 제공하지 않습니다. 그러나 다른 측면에서 보면 커널 코드에 대한 액세스를 제공하는 최신 엔진은 거의 없으므로 이 마이너스는 심각한 단점으로 간주될 수 있습니다. 그리고 우리는 이 훌륭한 엔진에서 다른 어떤 단점도 찾을 수 없습니다.

Unity 사용

이 엔진의 사용은 이미 이전에 언급되었습니다. 이에 대한 IDE는 정말 훌륭합니다. 이렇게 불필요한 세부 사항으로 과부하가 걸리지 않고, 완전히 텅 비어 있고 불편하지 않은 기능적 개발 환경은 찾기 어렵습니다. Unity에서는 모든 것이 잘 수행됩니다. 게임 장면 편집기, 게임 개체, 심지어 여기에 적용된 스크립트까지 즉시 액세스할 수 있습니다. IDE에서 지금까지 작업한 내용을 실시간으로 확인할 수 있습니다. Unity에는 이 분야에 경쟁자가 없습니다. 이 엔진은 훌륭합니다.

러시아 통일

영어를 몰라도 걱정하지 마세요. Unity를 계속 사용할 수 있습니다. 러시아어 게임 엔진이 존재하고 적극적으로 지원되므로 번역 버전에서 게임 걸작을 쉽게 만들 수 있습니다. 또한 이 엔진 전용 러시아어를 사용하는 거대한 온라인 커뮤니티가 있습니다. 여기에서 최신 뉴스를 확인하고, 숙련된 사용자의 의견을 읽고, 관심 있는 질문을 할 수 있습니다. 러시아어로 된 Unity3D는 가능합니다.

스크립트 추가

커널 코드를 변경할 수 없다고 위에서 이미 언급했습니다. 그러나 동시에 자신만의 스크립트를 추가할 수 있을 뿐만 아니라 다른 사용자가 만든 스크립트를 다운로드할 수도 있습니다.