티스토리 뷰
핵심 테마 6가지
1. CineCast
유니티 시네캐스트 기능은 쉽게 말해 굉장히 많은 카메라를 하나의 케이스에 배치하고, 이를 통해 다각적인 영상 소스를 확보하는 기술이다.
2. Real time rendering
애니메이션에 삽입되는 수천 개의 장면을 만들 때, 하루에 렌더링할 수 있는 프레임은 기존 방식에선 4프레임에 불과했다. 그렇지만 유니티 리얼 타임 렌더링을 통해서 렌더링이 몇 초 단위로 끝나버리면서 리드 타임이 줄어들게 되고, 이것이 업계에 큰 변화를 불러올 것이라는 것이다.
구매하고자 하는 자동차를 매장에 직접 가지 않아도 사전에 확인할 수 있도록 하는 '오토모티브' 기술도 유니티가 주목하고 있는 분야다. 이 기술은 단순히 실제 있는 자동차를 보여주는 것에 그치는 것이 아니라, 자동차에 옵션이나 색상에 변화를 주었을 때 어떤 식으로 변화가 발생하는지를 연산해서 영상으로 보여주는 것이다.
https://unity.com/solutions/real-time-multiplayer
3. Cloud game process
네트워크 연결의 불안정함, 트래픽 문제는 멀티 플레이 게임에서 유저가 이탈하는 원인 중 하나다.
이를 방지하기 위해 유니티는 구글 클라우드와 협업해 클라우드 컴퓨터 시스템을 구축하고 있다고 밝혔다. 유니티에서는 이를 '커넥티드 게임'이라고 소개하면서, 네트워크와 트래픽에 대한 부담을 클라우드 컴퓨터 시스템으로 덜어내, 네트워크의 불안정함이나 트래픽 과다로 인한 부하를 줄여나간다는 것이 '커넥티드 게임'의 핵심이라고 밝혔다.
4. Rendering pipe line
그래픽, 특수효과 등이 다양하게 적용될수록 이를 연산해서 렌더링을 처리하는 데 오래 걸리기 때문이다. 이 부분을 해결하기 위해서는 이펙트를 최소화하거나, 혹은 연산 능력을 높이는 수밖에 없다.
1) LWRP(LightWeight Render Pipeline)
비교적 저사양의 하드웨어에서도 원활한 렌더링을 지원하는
2) HDRP(High Definition Render Pipeline)
고사양의 하드웨어에서 이에 걸맞는 고성능의 비주얼을 뽑아내는
5. ECS (Entity Component System)
유니티는 멀티스레딩을 원활히 지원하지 않는다는 점. 다수의 물리 연산 등을 코어 하나에서만 처리하기 때문에 과부하가 걸리기 쉽고, 이는 프레임 드랍 등 다양한 이슈와 직결되기 때문이었다. 문제의 해결로 ECS 를 도입.
ECS는 객체지향이 아닌 데이터 지향 시스템으로, 동작을 관여하는 스크립트가 객체마다 생성되었던 것을 1개로 줄려 인스턴싱 효과를 얻을 수 있는 시스템이다. 일반적으로 게임에 등장하는 객체는 각자 스크립트를 갖고 있다. '끊임없이 좌우로 움직인다'라던가, '플레이어 캐릭터를 향해 움직인다', 혹은 '특정 조건이 갖춰졌을 때 어떻게 반응한다'와 같은 스크립트다. 결국 이 명령어 덩어리가 게임을 만드는 근간이고, 게임을 만드는 과정 그 자체다.
문제는 게임의 사이즈가 커지고, 객체의 수가 증가할수록 스크립트도 그만큼 늘어나면서 프로세스 부하가 커진다. 이를 해결하기 위한 방법으로는 프로세스를 한 번에 처리할 수 있는 능력을 높이거나, 프로세스의 수 자체를 줄이는 일이다.
ECS는 각 객체의 공통되는 데이터 영역을 걸러내, 조건에 부합할 경우 스크립트를 따르도록 만들기 때문이다.
http://www.inven.co.kr/webzine/news/?news=209375
from. Unity blog
6. XR
VR, AR, MR을 통칭해서 부르는 개념
3D 인터페이스로 2D 작업을 진행할 수 있도록 하는 에디터 VR
구글의 새로운 AR 플랫폼인 ARCore 앱과 ARKit 기기를 활용해 더 쉽게 AR 콘텐츠를 만들어가는 것
엔진의 핵심요소를 재정립 3가지
1. 새로운 C# 잡 시스템
병렬 코드 작성이 가능하며 안전하고 사용하기 쉬운 샌드박스 제공.
간편하면서도 안전한 방식으로 멀티코어를 활용합니다.
C# 스크립트를 활용하여 사용자가 빠르게 잡 코드를 작성할 수 있으므로 간편하며,
경합 조건과 같은 멀티스레딩의 일부 위험을 방지하므로 더욱 안전합니다.
멀티코어의 장점 활용
C# 스크립트와 Unity 내부 컴포넌트를 함께 작업화하여 네이티브 C++ 잡 시스템을 노출합니다
안전한 환경
경합 조건과 같은 멀티스레딩의 일부 위험을 방지합니다.
2. 엔티티 컴포넌트 시스템(ECS)
기본적으로 고성능 코드를 작성할 수 있는 새로운 모델
게임 디자인에 대한 더 나은 접근 방식
ECS는 실제 해결해야 하는 문제, 즉 게임을 구성하는 데이터와 동작을 집중적으로 다루는 코드 작성 방식입니다.
ECS를 사용하면 디자인 측면에서 더 나은 방식의 게임 프로그래밍이 가능할 뿐 아니라, Unity의 C# 잡 시스템과 버스트 컴파일러를 더욱 효과적으로 이용하여 최첨단 멀티코어 프로세서의 기능을 빠짐없이 활용할 수 있습니다.
Unity는 ECS를 통해 오브젝트 중심의 디자인에서 데이터 중심의 디자인으로 이동하고자 합니다. 이러한 변화를 통해 사용자 간에 코드를 이해하고 작성에 참여하거나 코드를 재사용하기가 더욱 수월해질 것입니다.
3. 버스트 컴파일러
고도로 최적화된 네이티브 코드 작성
최적화된 코드
새로운 LLVM 기반의 연산 인식 백엔드 컴파일러 기술을 통해 C# 작업을 처리하고 고도로 최적화된 코드를 작성할 수 있습니다.
모든 플랫폼에 최적화
컴파일 대상 플랫폼의 특성에 최적화됩니다.
핸드코딩 최소화
복잡한 수작업 없이도 여러 플랫폼에 걸쳐 수동 조정 어셈블러 코드의 이점을 활용할 수 있습니다.
from Document
'Blog > Unity' 카테고리의 다른 글
| 애니메이션 조작 - Animator 컴포넌트 (0) | 2018.12.06 |
|---|---|
| Unity + MultiPlayer Tutorials (0) | 2018.12.06 |
| 반딧불 만들기 (0) | 2018.12.06 |
| Shader Graph (0) | 2018.11.11 |
| Unity Teams - 협업 솔루션 (0) | 2018.10.26 |
