개발 (Game)76 [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] Lightmap - Filtering and charts ■ Filtering and charts 필터링이 꺼져있을 경우 아래 예시 이미지와 같이 노이즈가 매우 심한 베이크 결과가 나온다.노이즈는 각 텍셀이 광선을 발산하면서 생기는데 이러한 샘플은 임의의 방향으로 발산되고 밝은 광원에 닿는 경우도 있지만 그렇지 못할 때도 있다. 이러한 무작위성으로 인하여 컬러에 차이가 생기고 노이즈가 발생하는 원리이다. 필터링을 적용할 경우 아래 예시 이미지와 같이 깔끔한 결과를 얻게 된다.[해결 방법 두 가지]1. 샘플 수를 늘려서 노이즈를 아예 없앤다. 하지만 이런 경우 라이트맵 베이킹에 소요되는 시간이 폭증한다.2. 샘플 수를 유지하되, 필터링을 활성화하여 짧은 시간 안에 더 우수한 결과를 만들어낸다. [Filtering 방법 및 추가 설명]1. Lighting 패널에 .. 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 ··· 9 다음