unity61 [Unity] Static Batching, GPU Instacing, SRP Batcher [용어 정리]1. Static Batching (개체 단위)동일 머테리얼을 쓰는 서로 다른 메쉬들을 하나의 거대한 Combined Mesh(Chunk)로 합쳐메모리에 로드한다.Static Batching은 CPU 단계에서 메시를 합쳐서 GPU에 넘긴다.행렬(ObjectToWorld, Transform, etc)은 bake 시점에 메시 정점에 이미 반영된다.그래서 런타임에 per-object 행렬 업데이트 자체가 없다. ※ 즉, 군집된 메시를 한 번에 렌더링해서 Drawcall 최적화를 해준다. 그래서 GPU Instancing 후보군에서 완전히 제외된다. 2. GPU Instancing (머테리얼 단위)동일 메쉬 + 동일 머테리얼 사용 시, 원본 메쉬의 Vertex/Index Buffer를 GPU에 탑재.. 2025. 12. 20. [Unity] Motion Vector ■ Motion Vector ▼ 유니티 문서 (출처) ※ 하지만, 정적 오브젝트들이 가만히 있는데도, 카메라가 움직였다고 Blur가 생겨버리면 울렁거리지 않을까 싶은데.. 항상 최적화와 품질의 trade-off 싸움인 것 같다. 추후에 플레이 해보면서 기준을 잡아봐야겠다. 2025. 5. 1. [Unity] LOD + Lightmap vs APV 이론 공부를 했던 것들을 지금 당장 정리해서 올리기 보다는 현재 프로젝트에 집중하기 위해 기록용으로 '이해한 것을 정리 및 지피티에 질문' + '대답 받은 내용'을 올려놨음. 현재 맵 제작 및 보정 중이므로 추후 시간이 많을 경우 Binary Data로 구성 해놓은 Map을 로딩하는 시스템 제작 완료 후 Actor 소환 및 돌아보면서 실제 퍼포먼스 비교 및 검증 예정. 혹시 제가 잘못 이해한 부분이 있다면 지적해주시면 너무나 감사하겠습니다! 확인해보니 실제 Unity에서 설명해준 내용과 동일하다. 다만, UV 섬의 외곽은 모든 LOD Level의 Mesh가 동일하게 갖되, 내부 Geometry는 본인의 LOD Level과 매칭될만큼 단순화해줘야 한다. [영상]https://www.youtube.com/w.. 2025. 5. 1. [Unity] Renderer ■ Renderer (Unity 6 + URP)렌더러작동 방식장점단점Forward · 씬 안에 있는 각 오브젝트를 개별적으로 렌더링하고 각각의 픽셀을 개별적으로 계산한다.· 즉, 화면의 모든 픽셀마다 Unity가 해당 픽셀의 최족 생상에 영향을 주는 씬의 각 오브젝트의 조명과 셰이딩을 계산함.· 9개 정도의 제한적인 광원의 수. 초과하면 다 무시하거나 Bake로 대체.· 직관적으로 이해할 수 있음· 광원 수가 적으며 머테리얼이 단순한 씬에선 효과적임.· 광원 수가 많고 머테리얼이 복잡한 씬에서는 비효율적임.· 각 광원이 씬의 여러 패스를 거쳐야 하므로 렌더링 오버헤드가 늘어나기 때문Forward+ · Forward Rendering의 한계를 일부 개선한 기법 · 많은 수의 광원을 더 효과적으로 처리함·.. 2025. 4. 17. [Unity] Reflection Probes ■ Reflection Probes 씬의 반사를 캡처하여 금속과 유리 등의 머테리얼을 더 사실적으로 표현하는 데 사용된다. 반사는 대개 많은 리소스를 사용하는 기법인데 최근에는 정확한 반사를 캡처하는 기법인 레이트레이싱(Raytracing)이 떠오르고 있으나, 마찬가지로 리소스 소모가 매우 큰 기법이다. 따라서 하드웨어 사양이 충분하지 않거나 멀티 플랫폼 타겟의 게임이라면 반사 프로브 (Reflection Probe)를 사용하는 것이 좋다. [내용]1. 씬의 반사를 구 모양으로 캡처한다. 그러면 반사 프로브 근처의 오브젝트가 이러한 프로브를 샘플링하여 반사에 활용할 수 있다.2. 라이트 프로브와 마찬가지로 다양한 주요 지점에 여러 개의 프로브를 배치하는 것이 좋다.3. 여러 프로브들의 우선 순위를 im.. 2025. 4. 15. [Unity] Light Probes ■ Light Probes 베이크된 조명과 동적 오브젝트를 연결할 수 있는 기법. 씬에 그룹으로 포함된 작은 구체이고 그 수가 매우 많다. [원리] 라이트 프로브는 조명을 베이크할 때 광원을 캡처하고, 게임이 실행되면 동적 오브젝트가 이러한 프로브를 샘플링하는데 가장 가까운 프로브를 샘플링해 프로브의 조명 데이터를 받아온다. 이를 통해 동적 오브젝트는 베이크 프로세스 중에 베이크된 조명 데이터를 받아올 수 있으며 여기에는 모든 광원 반사와 발광 머티리얼 등이 모두 포함된다. 이렇게 하면 동적 오브젝트가, 미리 베이크되었지만, 매우 사실적인 조명을 받을 수 있어서 돋보이게 된다. [주의할 점] 1. 이러한 프로브는 조명이 어느 정도 변화하면서 흥미로운 모습을 보이는 주요 지점에 배치해야 하므로 수동으로.. 2025. 4. 15. [Unity] Mixed Lighting ■ Mixed Lighting (혼합 조명) 혼합 조명에 여러 가지 유형이 있기 때문에 다소 복잡한 주제이다. 이 유형들을 묶어서 '혼합 조명 모드'라고 부른다.URP는 3가지 혼합 조명 모드 중 2가지인 Baked Indirect와 Subtractive를 지원한다. (2019.3f 기준) [원리] 1. Baked Indirect · 그림자를 드리우는 광원이 있고 모든 것이 실시간이며 이러한 광원의 반사가 베이크 되는 것이다. · 따라서 반사되는 조명인 간접 조명이 라이트맵으로 베이크되며 직접광(Directional Light)이 하는 일은 광원과 그림자를 실시간으로 적용하는 것이다. · 매우 유연한 모드로 낮/밤 주기 등을 구현할 수 있다. 2. Subtractive · 거의 모든 요소를 베이크 한.. 2025. 4. 15. [Unity] Lightmap - UV ■ UVs2D 텍스처를 3D 지오메트리에 매핑하는 방법을 소프트웨어에 설정하는 것. UV는 텍스처의 각 픽셀과 지오메트리, 즉 픽셀과 메시 삼각형 간의 관련성을 만든다. 보통 UV는 DCC 툴에서 만들어 Unity로 임포트한다. 하지만 수동으로 만들기 어렵다면 Mesh 세팅에서 Generate Lightmap UVs를 체크해주면 된다. [옵션]가장 중요한 영역중 하나는 Margin Method이다. 이는 Unity가 만드는 UV 섬 사이에 간격을 남기도록 하는 설정이다. [주의할 점]1.간혹 섬들끼리 충분히 분리되어있지 않으면 두 섬이 픽셀을 공유하여 일부 겹치는 현상이 발생할 수 있다.2. 예시 이미지처럼 선택한 오브젝트의 라이트맵을 확인할 수 있는데 UV 자동 생성 후 겹치는 부분 혹은 디테일이 떨.. 2025. 4. 14. [Unity] Lightmapping ■ Baked Lighting: GPU Progressive LightmapperBaked Lighting을 사용하려면 아래와 같은 세팅이 필요하다. [세팅]1. 인스펙터에서 조명을 베이크할 모든 개체와 요소를 Static으로 표시해야 한다. 이 설정은, 재사용성을 위해, 프리팹 수준에서 적용할 것을 권장한다.2. 조명이 베이크 되도록 한다. Light 개체의 Mode를 Mixed나 Baked로 변경해준다. · Emissive Material으로 시뮬레이션되는 광원은 라이트맵에 베이크된다. · 하지만, 광원이 매우 얇을 경우 라이트맵의 해상도로 인해 제대로 캡처되지 않을 수 있다. 이는 Area light를 활용해 눈속임으로 빛이 새어 나오는 것 같은 표현을 할 수 있다. 3. Lighting 패널로 이.. 2025. 4. 14. 이전 1 2 3 4 ··· 7 다음