본문 바로가기

unity60

[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.
[Unity] URP Asset: Lighting, Shadows ■ URP Asset[Lighting]Shadow resolution이 2048일 때 기준으로 예시를 들어보자면, 1. 태양은 씬에 2048 x 2048 크기의 텍스처를 적용한다. Unity는 이 텍스처의 픽셀마다 지오메트리를 계산하고, 각 지오메트리가 다른 지오메트리에 그림자를 드리우는지 확인한다. 위에 세팅한 텍스처에 그림자를 픽셀당 하나씩 찍고있는 셈인데 이를 섀도우 맵 (Shadow map)이라고 한다. 섀도우 맵의 해상도를 높여 그림자를 선명하게 만들 수 있다.2. 주 광원인 Directional Light에 대한 옵션은 아래와 같고 Additional Lights 옵션을 통해 Spot light 등의 부가적인 광원에 대한 옵션을 세팅해줄 수 있다.3. 해상도는 타겟 플랫폼과 목표 성능에 맞춰 .. 2025. 4. 14.