일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- sha
- RSA
- 가이드
- 직장인공부
- 패스트캠퍼스후기
- Custom Package
- ui
- 커스텀 패키지
- base64
- TextMeshPro
- Job 시스템
- Dots
- unity
- DotsTween
- 직장인자기계발
- 최적화
- Framework
- Unity Editor
- 샘플
- AES
- C#
- 오공완
- 프레임워크
- 패스트캠퍼스
- 암호화
- job
- 환급챌린지
- adfit
- Tween
- 2D Camera
- Today
- Total
EveryDay.DevUp
[Unity] 오픈월드 심리스의 Unity 구현 본문
https://www.youtube.com/watch?v=pQ0lb9OxxbE&t=756s
오픈 월드의 기술적 난관
- 지형 (터레인)
: 헤이트 맵과 여러개의 레이어(돌, 풀)을 블렌딩해서 만들게 됨
: 퀄리티와 메모리 이슈가 있음
- 빛과 그림자
: 라이트맵, 쉐도우 맵 사용 불가
- 긴 로딩
- 에셋 관리
유니티의 해결 방안
- 터레인
: 빅 터레인 시스템
=> 멀리보이는 터레인과 가까이 보이는 터레인을 분할
=> 터레인을 메시로 변경한 뒤 HLOD로 베이크하는 방식을 사용
=> 가까운 지역에서는 클립맵 지형을 사용 -> 로우 에셋에서 실시간으로 생성하는 방법 (컴퓨트 셰이더)
=> 클립맵 지형에서는 HLOD를 끔. 클립맵은 지형에 매우 높은 해상도의 텍스처를 맵핑하는 것
=> 가까운 지역 : 클립 맵, 먼 지역 : HLOD 를 사용 HLOD는 미리 베이크하여 사용
https://techartnomad.tistory.com/330
[번역] 유니티 버추얼 텍스처를 구현합니다.
저자기술적 배경가상 텍스처는 주로 여러 가지 이유로 인해 고해상도 텍스처를 실시간 렌더링에 직접 표시할 수 없는 문제를 해결하기 위해 사용됩니다. 메모리 제한, 플랫폼
techartnomad.tistory.com
https://docs.unity3d.com/kr/2021.3/Manual/svt-streaming-virtual-texturing.html
가상 텍스처링 스트리밍 - Unity 매뉴얼
가상 텍스처링 스트리밍(SVT)은 씬에 고해상도 텍스처가 많을 때 GPU 메모리 사용량과 텍스처 로드 시간을 줄이는 기능입니다. 이 기능은 텍스처를 타일로 분할하고, 필요할 때 분할된 타일을 GPU
docs.unity3d.com
https://highfence.tistory.com/51
[UE4] Virtual Texturing과 Clipmap
Virtual Texturing(VT)이란 오픈 월드 게임등의 대규모 텍스쳐 사용에 따른 메모리 문제를 해결하기 위해, OS의 Virtual memory 알고리즘을 텍스쳐 시스템에 적용한 것이다. 메모리란 언제나 한정된 자원이
highfence.tistory.com
https://www.youtube.com/watch?v=s4-0Rd2btaw
- 오브젝트
: HLOD (계층 구조 LOD)
=> LOD 개체를 그룹으로 묶어서 Level에 따라서 단순화된 메시와 메터리얼로 표현함
: Instancing - GPU Culling
=> 워크스레드에서 어셋을 로딩하고 인스턴싱한 다음에 GPU에서 컬링과 LOD 계산을함 (컴퓨트 셰이더)
=> 인다이렉트 드로잉을 사용 : GPU를 통해 렌더링 명령을 보내는 대신, 그래픽 api를 사용하여 렌더링 상태를 한번에 저장하거나 처리하는 방식. 버퍼에 렌더링 명령을 미리 저장해 두고, 나중에 그 명령을 GPU가 읽어서 실행
https://darkcatgame.tistory.com/184
https://docs.google.com/presentation/d/1xxy7ouNLvLhFBdHa1YXj8iWzaMOTPqgT/edit#slide=id.p2
Instanced Static Mesh 시스템 개발 .pptx
Instanced Static Mesh 시스템 개발 유니티 엔진 GPU Instancing Renderer 시스템 오지후 email : dhwlgn12@gmail.com blog : https://darkcatgame.tistory.com/
docs.google.com
Unity GPU Indirect Drawing 구현 가이드 & ISM 시스템 개발 과정
개요유니티 엔진에서 GPU Driven Rendering 시스템 구현을 위한 구조화 버퍼 설계 활용, 셰이더 및 렌더러 구현에 대한 내용을 소개합니다. 주요 내용드로우콜 원리 설명과 DrawInstanced 이해GPU에 렌더
darkcatgame.tistory.com
- 라이트 & 쉐도우
: Voxelized Shadow
=> 공간을 복셀화해서 쉐도우를 그리는 방법
https://www.youtube.com/watch?v=uJMCilrmztE&t=10s
https://www.youtube.com/watch?v=kgYfXFPLOQs
=> APV(어답티브 프로브 볼륨)을 사용하면 오픈월드에서 라이트닝이 지원 가능 (카메라에 보이는 부분만 동적으로 로딩해서 사용 가능)
- Open World Scene Manager
: 프로시저 오픈 월드 툴
=> 아티스트가 사용할 수 있는 씬과 맵 제작 툴을 별도로 제공
https://www.inven.co.kr/webzine/news/?news=289321
유니티로 시간 변화가 반영되는 빅월드 만들기
인벤이 직접 주최하는 '인벤 게임 컨퍼런스(Inven game conference, 이하 IGC 2023)'가 금일(13일) 성남시 판교 경기창조경제혁신센터 지하 1층 국제회의장에서 개최됐다. 컨퍼런스 행사의 첫 번째 순서로
www.inven.co.kr
빅월드의 해결 방안
- Dots기반 터레인 사용 (Dots 기반 서브 씬을 사용)
- 스페이싱 스트리밍
- HLOD대신 인스턴싱을 활용함
: Dots 인스턴싱을 사용함
- 가까운 곳은 Cascade Shadow를 활용하고, 원거리는 Contact Shadow를 사용함
https://docs.unity3d.com/kr/2023.2/Manual/shadow-cascades.html
섀도우 캐스케이드 - Unity 매뉴얼
섀도우 캐스케이드를 사용하면 원근 앨리어싱, 즉 방향 광원의 실시간 그림자가 카메라와 가까이 있을 때 픽셀화되어 보이는 문제를 해결할 수 있습니다.
docs.unity3d.com
'Unity' 카테고리의 다른 글
[Unity] 시네머신 3.x (0) | 2025.02.15 |
---|---|
[Unity] 셰이더 기초 강좌 (0) | 2025.02.02 |
[Unity] URP (Universal Render Pipeline) 의 개념 (0) | 2025.01.25 |
[Unity] Sprite Atlas Memory Profiler Test (0) | 2025.01.25 |
[Unity] Fake null (0) | 2021.12.20 |