Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- 스택
- 멀티쓰레드
- Queue
- 큐
- list
- 반복문
- 인프런
- vector
- 힙영역
- map
- thread
- 자료구조
- std::map
- 리스트
- 트리
- 객체지향
- 알고리즘
- 배열
- rookiss
- 스택영역
- c#
- 차이점
- 프래그멘테이션
- 기술면접
- 공부
- 벡터
- std::unordered_map
- 해쉬맵
- static_cast
- MonoBehaviour
Archives
- Today
- Total
호빵의 IT 개발소
[유니티] 유니티 엔진의 특징 본문
유니티 엔진(Unity Engine)
- 2004년 8월 Unity Technologies가 개발한 게임 엔진
- 게임 엔진은 개발자들이 게임 제작을 쉽게 하도록 도와주는 프로그램(예: 대표적으로 유니티, 언리얼)
- 쉬운 프로그램 화면 구성으로 개발자들이 쉽게 접근할 수 있다.
- 멀티 플랫폼 지원 - 윈도우즈나 MacOS 뿐 아니라 웹, 앱, 콘솔에서 작동하는 프로젝트 제작 가능
- 모듈 형식 개발 - 모듈 형식이란 컴퓨터 부품을 조립하여 컴퓨터를 만드듯이 유니티 엔진 안에서 여러 Game Object를 조립하여 하나의 게임을 제작하는 것이다. Game Object에 Component를 연결하여 다양한 기능을 부여한다.
유니티 장점
- WYSIWYG - 툴의 GUI가 직관적임. WYSIWYG방식의 툴은 사용자가 직관적으로 내부 에셋들의 위치를 바꾸거나 적용, 에셋의 임포트 등을 매우 손쉽게 가능
- 간편한 빌드 - 버튼 몇 번 누르면 다양한 플랫폼으로 빌드 가능, 그러나 플랫폼별 특성에 맞게 조정 작업 및 최적화도 필요
- 낮은 요구 사양 - 게임 엔진이 비교적 가벼운 편이라 저사양 PC에서도 개발이 가능
- 에셋 스토어 - 인디 게임 개발자, 1인 개발자, 초보 개발자를 위한 에셋 스토어가 존재. 다양한 모델 리소스, 스크립트, 플러그인, AI 등 수많은 기능을 이용자들이 사고 팔 수 있는 장터 제공
- 넓은 사용자 층 - 많은 프로그래머들이 이용하고 있으므로 관련 자료가 많이 있어 쉽게 접근 및 개발이 가능
- 저렴한 라이선스 비용 - 매출이 10만 달러 이하일 경우 무료 라이선스 사용 가능(연매출 20만불 이하일 경우 월 4만원 대, 그 이상은 140,000원의 라이선스 비용 발생)
유니티 단점
- GC 스파이크 문제 - 가비지 컬렉션으로 인하여 게임 규모가 크고 복잡한 로직이 있는 경우 잠깐씩 프리징이 일어남.
- 제한적인 멀티스레드 기능 - 유니티 API가 메인 스레드 외에서는 호출이 안전하지 않기 때문에 제한적으로만 멀티 스레드를 적용할 수 있으며 결국 이를 통해서 높은 성능 향상을 꾀할 수는 없다. 유니티 API가 없는 순수한 연산 집약적 동작을 병렬 처리하는 것인데, 이는 전체 동작에 대한 완전 병렬화가 아니다. 또한 연산 관련 코드에서 API를 통하지 않는 경우는 많지 않으면서, 대부분의 연산 능력을 API에서 요구하기 때문. 즉, 병렬화가 되는 부분이 극히 일부이기 때문에 높은 이득을 취할 수는 없다. 고도의 편법을 완벽하게 익혀서 문제가 될 부분을 최소화하여 적용하지 않는 이상, 성능 이슈가 될 가능성이 높은 부분을 병렬화하지 못해 0번 코어만 죽어라 갈구는 경우가 될 가능성이 높다는 것이다. 다행히 2018.1 버전부터 C# 잡 시스템(JobSystem)과 ECS이라는 방법으로 멀티스레드를 이용한 병렬 처리를 지원한다. 하지만, 아직 문제가 많고 불안정해
- 소스 코드 비공개 - 유니티는 기본적으로 월간 비용을 지속 지불하더라도 전체 소스코드는 여전히 비공개며, 전체 소스코드가 포함된 라이선스를 원할 경우 그 비용은 언리얼 엔진 커스텀 라이선스 비용과 맞먹게 된다. 유니티 측은 프로 라이선스도 소스 코드에 엑서스 할 수 있는 것 마냥 선전하고 있지만 실상은 구독과 별개로 소스코드를 구매해야 한다고 한다. 여기에 개발기간이 길어진다던가, 개발팀 인원이 증가된다던가, 타 스튜디오 등의 지원을 받아서 유니티의 시트당 사용자수가 늘어날 경우에 따라서 개발 비용이 지나치게 높아질 수 있으므로 상황에 따라서 언리얼 엔진의 사용을 고려해야 할 수도 있다.
출처 및 참조 :
https://fiftiesstudy.tistory.com/248
https://namu.wiki/w/%EC%9C%A0%EB%8B%88%ED%8B%B0(%EA%B2%8C%EC%9E%84%20%EC%97%94%EC%A7%84)
'C#, 유니티 > 유니티엔진 기초' 카테고리의 다른 글
| [유니티] NGUI, UGUI, DOTween (0) | 2022.06.29 |
|---|---|
| [유니티/C#] 최적화 시작 (0) | 2022.06.28 |
| [유니티/C#] Invoke (0) | 2022.06.21 |
| [유니티/C#] 코루틴(Coroutine) (0) | 2022.06.10 |
| [유니티] C# 스크립트 생성 시 자동 주석 제거 (0) | 2022.01.17 |
Comments