변경 로그
이 패키지의 모든 주요 변경 사항은 이 파일에 문서화됩니다.
포맷은 변경 로그 유지에 기반하며, 이 프로젝트는 시맨틱 버전 지정을 준수합니다.
[8.2.0] - 2020-07-08
추가된 사항
- 프로젝트에서 어댑티브 퍼포먼스 패키지를 이용할 수 있을 때 어댑티브 퍼포먼스를 활성화/비활성화할 수 있는 옵션을 추가했습니다.
- 문서에 새로운 섹션인 커스텀 셰이더 작성 및 beginCameraRendering 이벤트 사용을 추가했습니다.
변경된 사항
- 이제 2D 렌더러가 카메라 스태킹을 지원합니다.
- 이제 URP가 프래그먼트당 탄젠트 공간을 계산합니다.
수정된 사항
- 미리보기 창에서 그리드 라인이 불투명 오브젝트 위에 그려지는 문제를 수정했습니다. 사례 1240723
- 미리보기 창에서 오브젝트가 기본 렌더러의 레이어 마스크 설정의 영향을 받는 문제를 수정했습니다. 사례 1204376
- FBX 파일을 임포트할 때의 성능 문제를 수정했습니다.
- NullReferenceException이 URP 셰이더에 발생하는 문제를 수정했습니다.
- 파티클 셰이더의 이미션 값이 플레이 모드로 전환하지 않으면 에디터에서 업데이트되지 않는 문제를 수정했습니다.
- 새로운 씬 뷰 패널을 열거나 에디터 레이아웃을 변경한 후 SceneView 드로우 모드가 올바르게 업데이트되지 않는 문제를 수정했습니다.
- C# 코드의 최대 가시광선 수가 셰이더 코드의 최대 수와 일치하지 않는 Nintendo Switch 문제를 수정했습니다.
- 균일한 개수 제한으로 인해 GLES 셰이더 컴파일이 Windows 플랫폼(모바일 플랫폼이 아님)에서 장애를 일으키는 문제를 수정했습니다.
- 프리셋 버튼이 동작하면 안되는 상황에서 사용 가능하던 문제를 수정했습니다. 사례 1246261
- 텍스처로 렌더링 시 뷰포트가 올바르게 동작하지 않는 문제를 수정했습니다. 사례 1225103
- HDR 반사 프로브 텍스처의 샘플링이 올바르게 수행되지 않는 문제를 수정했습니다.
- RenderObject의 UI 텍스트가 셰이더 패스 이름 대신 LightMode 태그를 표시하는 문제를 수정했습니다. 사례 1201696
- 카메라를 정렬할 때 메모리 할당이 발생하는 문제를 수정했습니다. 사례 1226448
- 일부 플랫폼에서 인버스 뷰 및 투사 매트릭스가 잘못된 값을 출력하는 문제를 수정했습니다. 사례 1243990
- 카메라 스택에 고유한 카메라 이름만 추가할 수 있던 문제를 수정했습니다.
- 사용 가능한 모든 URP가 지원되는 전체 기능 집합을 만들어 모든 URP가 고려되도록 URP 전환 문제를 수정했습니다. 사례 1157420
- HDR 반사 프로브 텍스처의 샘플링이 올바르게 수행되지 않는 문제를 수정했습니다.
- 불투명 텍스처 없이 뎁스 텍스처를 활성화하면 Android GLES가 검은색 화면을 렌더링하는 문제를 수정했습니다. 사례 1219325
- XR 멀티 패스가 반복적으로 "멀티 패스 스테레오 모드가 카메라 스태킹을 지원하지 않습니다"라는 오류 메시지를 표시하는 문제를 수정했습니다.
- PBR에 올바른 값을 사용할 수 있도록 릿 셰이더의 메탈릭 슬라이더가 리니어로 바뀌었습니다.
- DOF를 동적 스케일링과 함께 사용하면 뎁스 버퍼가 잘못된 UV로 샘플링되는 문제를 수정했습니다. 사례 1225467
- URP 심플 릿 셰이더의 속성이 BaseMap 및 BaseColor 프로퍼티에 대해 잘못 교체되지 않는 문제를 수정했습니다.
- OpenGL에서 MSAA로 카메라를 스태킹하면 검은색 화면이 표시되는 문제를 수정했습니다. 사례 1250602
- 에디터 시작 시 임포트가 발생했을 때 모델 임포터 머티리얼이 URP 릿 셰이더 대신 빌트인 렌더 파이프라인의 스탠다드 셰이더를 사용하던 문제를 수정했습니다.
- 광원이 섀도우 캐스터와 가까이 있을 때 그림자가 잘못 렌더링되는 문제를 수정했습니다.
[8.1.0] - 2020-04-21
추가된 사항
- Unity 에디터 애널리틱스가 활성화된 경우 유니버설이 유니버설 사용에 대한 익명 데이터를 수집합니다. 이를 통해 유니버설 팀은 가장 일반적인 시나리오에 노력을 집중하여 고객의 요구 사항을 더욱 잘 이해할 수 있습니다.
변경된 사항
- 필요하지 않은 경우 특정 내부 버퍼로 렌더링을 건너뛰도록 2D 렌더러를 최적화했습니다.
수정된 사항
- 패키지 버전을 업그레이드할 때 모델을 두 번 가져오는 AssetPostprocessors 종속성 문제를 수정했습니다.
- 셰이더 그래프 서브셰이더가 잘못된 에셋 GUID를 참조하는 문제를 수정했습니다.
- 사용자 상호작용 없이 QualitySettings 안티앨리어싱이 변경되는 문제를 수정했습니다. 사례 1195272
- 스프라이트 모양의 컬러가 제대로 동작하지 않는 셰이더 문제를 수정했습니다.
- DX10 수준 GPU에서 여러 개의 광원을 사용할 때 발생하는 셰이더 컴파일 오류를 수정했습니다. 사례 1222302
- ShadowCaster2D 컴포넌트를 초기화할 때 예외가 발생하는 문제를 수정했습니다. 사례 1225339
- 2D 광원의 서브트랙티브 블렌딩 스타일을 사용하면 특정 포스트 프로세싱 효과에서 결함이 발생하는 문제를 수정했습니다. 사례 1215584
- CinemachineBrain 업데이트 방식이 Late Update가 아닐 때 시네머신 픽셀 퍼펙트 확장이 올바르게 동작하지 않는 문제를 수정했습니다.
- 스프라이트 셰이더 그래프 셰이더를 사용하는 파티클이 보이지 않는 문제를 수정했습니다.
- 씬 오브젝트가 이전 정렬 레이어의 2D 광원으로부터 잘못된 영향을 받는 문제를 수정했습니다.
- 계층 구조에서 2D 광원을 선택한 상태에서 플레이 모드에 들어갈 때 콘솔에 오류가 표시되는 문제를 수정했습니다. 사례 1226918
- 일부 Android 기기에서 Linear -> sRGB 전환이 발생하지 않는 문제를 수정했습니다. 사례 1226208
- LWRP -> URP 하위 호환 지원의 잘못된 함수 구현을 수정했습니다.
- 일부 셰이더에서 그림자가 올바르게 계산되지 않는 문제를 수정했습니다.
- 사용 가능한 모든 URP가 지원되는 전체 기능 집합을 만들어 모든 URP가 고려되도록 URP 전환 문제를 수정했습니다. 사례 1157420
[8.0.1] - 2020-02-25
버전 업데이트 이 패키지의 버전 숫자는 관련 그래픽스 패키지의 버전 업데이트로 인해 증가했습니다.
[8.0.0] - 2020-02-25
추가된 사항
- 터레인 구멍 셰이더 배리언트를 스트리핑하기 위한 옵션을 추가했습니다.
- 추가 방향 광원에 대한 지원을 추가했습니다. 추가 방향 광원의 양은 렌더 파이프라인 에셋의 최대 오브젝트당 광원의 제한을 받습니다.
- FBX, Obj, Sketchup 및 3DS 파일 포맷에 대한 기본 OnPreprocessMaterialDescription 구현을 추가했습니다.
- 2DRendererData에 Transparency Sort Mode와 Transparency Sort Axis를 추가했습니다.
- 2DRendererData에 사용자 정의 기본 머티리얼에 대한 지원을 추가했습니다.
- 투명 오브젝트에서 그림자 수신을 토글하는 옵션을 추가했습니다.
- XR 멀티패스 렌더링을 추가했습니다. 멀티패스 렌더링은 많은 VR 플랫폼의 요구 사항이며, 싱글 패스 렌더링을 사용할 수 없을 때 원활한 폴백이 가능합니다.
- 포워드 렌더러를 사용할 때 카메라 스태킹에 대한 지원을 추가했습니다. 이는 카메라
Render Type
프로퍼티를 도입합니다. 베이스 카메라는 Skybox 또는 Solid Color로 초기화할 수 있으며, 해당 출력을 하나 이상의 오버레이 카메라 출력과 결합할 수 있습니다. 오버레이 카메라는 항상 카메라 스택에서 렌더링된 이전 카메라의 콘텐츠로 초기화됩니다. - Nintendo Switch에서 톤맵 알고리즘(중립 및 ACES)의 NaN을 수정했습니다.
- FBX에서 Arnold Standard Surface 및 3DsMax Physical 머티리얼 임포트를 처리하기 위해 AssetPostprocessors와 Shadergraphs를 추가했습니다.
- URP 셰이더 프로퍼티에
[MainTexture]
및[MainColor]
셰이더 프로퍼티 속성을 추가했습니다. 이는 material.mainTextureOffset 및 material.color 스크립트를_BaseMap
및_BaseColor
프로퍼티에 연결합니다. - 가시광선의 최대 개수를 지정하는 옵션을 추가했습니다. 값을 설정하면 카메라와의 거리를 기준으로 광원이 정렬됩니다.
- 포워드 렌더러에서 투명 레이어를 별도로 제어할 수 있는 옵션을 추가했습니다.
- 개별 렌더러 기능을 활성화/비활성화 상태로 설정하고
ScriptableRendererFeature.SetActive(bool)
를 사용하여 렌더러 기능의 실행 여부를 설정하는 기능을 추가했습니다.ScriptableRendererFeature.isActive
를 사용하여 렌더러 기능의 현재 활성화 상태를 확인할 수 있습니다.
변경된 사항
- Light 2D 타입을 나타내는 아이콘을 인스펙터 헤더에서 Light Type 필드로 이동했습니다.
- 2D 렌더러에서 일부 GC 할당을 제거했습니다.
- TerrainLit 셰이더에 대한 SceneSelection 패스를 추가했습니다.
- 모바일 플랫폼에서 알파를 1.0으로 강제 적용하기 위해 최종 blit 패스를 제거했습니다.
- CinemachineUniversalPixelPerfect 확장의 지원을 중단했습니다. 대신에 시네머신 v2.4에 있는 버전을 사용하십시오.
- PlayerSettings.virtualRealitySupported를 XRGraphics.tryEnable로 교체했습니다.
- 2DRendererData의 블렌딩 스타일이 이제 자동으로 활성화/비활성화됩니다.
- 2D 렌더러를 사용하는 경우 광원이 없을 때에도 스프라이트가 더욱 빠른 렌더링 경로로 렌더링을 수행합니다.
- 이제 파티클 셰이더가 그림자를 받습니다.
- 이제 씬 뷰가 메인 카메라에 설정된 볼륨 레이어 마스크를 미러링합니다.
- 이제 SRPDefaultUnlit의 그리기 순서가 빌트인 렌더 파이프라인과 동일합니다.
- MaterialDescriptionPreprocessors를 비공개 상태로 만들었습니다.
- UniversalRenderPipelineAsset이 더 이상 프리셋을 지원하지 않습니다. 사례 1197020
- 이제 가시광선의 최대 개수가 플랫폼이 모바일인지 여부에 따라 결정됩니다.
- 렌더러 기능 리스트를 볼륨 프로파일 UI에 더욱 적합하게 재설계하여 렌더러 기능 리스트의 UX와 안정성을 대폭 개선했습니다.
- 텍스처 기반 워크플로 문제로 인해 Lit 및 SimpleLit 셰이더의 기본 컬러 값을 흰색으로 변경했습니다.
- 이제 파이프라인이 프래그먼트당 탄젠트 공간을 계산합니다.
- 필요하지 않은 경우 특정 내부 버퍼로 렌더링을 건너뛰도록 2D 렌더러를 최적화했습니다.
- 이제 ForwardRenderer를 서브 클래스로 지정한 후 이를 기반으로 커스텀 렌더러를 만들 수 있습니다.
- 이제 우선 순위 슬라이더가 포함된 URP 셰이더가 더 이상 50 오프셋을 기본적으로 갖지 않습니다.
수정된 사항
- 프로젝트에 많은 양의 활성 셰이더 배리언트가 있는 ShaderPreprocessor의 성능 문제를 수정했습니다.
- 특정 Android 기기에서 리니어에서 sRGB로의 전환이 두 번 발생하는 문제를 수정했습니다.
- 스폿 광원의 외부 각도를 보여주는 위젯이 2개가 있는 문제를 수정했습니다.
- Stop NaN 포스트 프로세싱 패스를 활성화했을 때 Unity가 핑크색 오류 셰이더가 있는 전체 화면 사각형을 렌더링하는 문제를 수정했습니다.
- 터레인 구멍 셰이더 변경 사항이 누락되는 문제를 수정했습니다. 사례 1179808
- 셰이더 그래프
SceneDepth
노드가 XR 싱글 패스(더블 와이드) 렌더링에서 동작하지 않는 문제를 수정했습니다. 사례 1123069를 참조하십시오. - 메타 패스의 Unlit 및 BakedLit 셰이더 컴파일을 수정했습니다.
- PS4에서 보케 피사계심도 셰이더가 컴파일하지 못하는 문제를 수정했습니다.
- 2D 렌더러를 사용할 때 씬 조명 버튼이 동작하지 않는 문제를 수정했습니다.
- 2D 렌더러를 사용할 때 발생하는 성능 회귀를 수정했습니다.
- 자유형 2D 광원 기즈모가 감쇠 오프셋을 올바르게 표시하지 않는 문제를 수정했습니다.
- 비호환 Renderer2DData와 함께 그림자 투사 조명을 사용할 때 2D 렌더러가 아무 것도 렌더링하지 않는 문제를 수정했습니다.
- 2D 렌더러를 사용할 때 프리팹 미리보기에 조명이 잘못 적용되는 문제를 수정했습니다.
- 스프라이트 2D 광원이 사용하는 스프라이트를 삭제했을 때 광원이 올바르게 업데이트되지 않는 문제를 수정했습니다.
- 원근 카메라에서 2D 조명이 깨지는 문제를 수정했습니다.
- 자유형 2D 광원을 초기화할 때 null 레퍼런스 예외가 발생하는 문제를 수정했습니다. 사례 1184536
- 감쇠 오프셋이 있을 때 자유형 2D 광원이 올바르게 컬링되지 않는 문제를 수정했습니다.
- 2D 렌더러를 사용 중일 때 타일 팔레트 창에서 타일 맵 팔레트가 보이지 않는 문제를 수정했습니다. 사례 1162550
- 검은색 방출로 인해 불필요한 인스펙터 UI 리페인팅이 발생하는 문제를 수정했습니다. 사례 1105661
- sRGB 대신 리니어에서 수행되는 사용자 LUT 샘플링을 수정했습니다.
- 첫 번째 프레임에서 API를 통해 렌더러를 가져오려고 할 때 발생하는 문제를 수정했습니다. 사례 1189196
- 도메인 재로드 시 발생하는 머티리얼 유출을 수정했습니다.
- 렌더러 리스트에서 항목을 삭제한 후 해당 변경을 취소하면 null 레퍼런스가 발생하는 문제를 수정했습니다. 사례 1191896
- 사용자가 Additional Camera Data 컴포넌트를 제거할 때 오류가 발생하는 문제를 수정했습니다. 사례 1189926
- XR 싱글 패스 렌더링 모드의 포스트 프로세싱을 수정했습니다.
- 두 패키지 간의 순환 종속성으로 인해 시네머신 v2.4를 유니버설 RP와 함께 사용할 수 없는 문제를 수정했습니다.
- 경로에
HDRP
문자열을 포함하는 셰이더가 빌드에서 스트리핑되는 문제를 수정했습니다. - 와이어프레임 드로우 모드를 선택했을 때 선택한 오브젝트만 SceneView에서 렌더링되는 문제를 수정했습니다.
- 렌더러 기능 UI 툴팁을 수정했습니다. 사례 1191901
- 셰이더 그래프 셰이더가 유니버설 RP에서 XR용으로 빌드하지 못하는 여러 문제들을 수정했습니다.
- 2D 렌더러를 사용할 때 일부 타입의 렌더러에 올바른 머티리얼이 할당되지 않는 문제를 수정했습니다.
- 일부 SpeedTree 셰이더 배리언트의 버텍스 노멀에서 정규화 작업이 누락되어 발생한 포워드 렌더러와 디퍼드 렌더러 간의 조명 불일치 문제를 수정했습니다.
- URP 셰이더 그래프 셰이더를 사용할 때 XR 멀티뷰가 렌더링되지 않는 문제를 수정했습니다.
- 마지막 버전의 ResourceReloader로 지연 초기화를 수정했습니다.
- 패키지 문서의 깨진 이미지를 수정했습니다.
- 픽셀 퍼펙트 카메라의 Stretch Fill 옵션을 사용할 때 뷰포트 종횡비가 잘못 표시되는 문제를 수정했습니다. 사례 1188695
- 새로 생성된 머티리얼의 노멀 맵 설정이 업데이트되지 않는 문제를 수정했습니다. 사례 1197217 포스트 프로세싱이 "렌더링 후" 이벤트에서 실행되도록 설정된 커스텀 렌더러에 적용되지 않는 문제를 수정했습니다. 사례 1196219
- 커스텀 렌더러를 사용할 때 추가 blit이 발생하는 문제를 수정했습니다. 사례 1156741
- 그림자 캐스케이드를 사용할 때 투명 오브젝트가 그림자를 받지 못하는 문제를 수정했습니다. 사례 1116936
- ForwardRendererData 프리셋을 사용하면 크래시가 발생하는 문제를 수정했습니다. 사례 1201052
- 파티클을 함께 블렌딩할 때 어두운 윤곽선이 나타나는 문제를 수정했습니다. 사례 1199812
- 커스텀 렌더러 기능 리스트에서 셰이더 패스를 삭제하는 문제를 수정했습니다. 사례 1201664
- XR 모드, depth-copy 및 color-copy 패스의 인버스 view-projection 매트릭스를 수정했습니다.
UniversalRenderPipelineLightEditor.cs
가SceneView.lastActiveSceneView
에 액세스할 경우의 null 검사 문제를 수정했습니다.- 카메라 인스펙터에서 'Depth Texture' 드롭다운이 잘못 비활성화되는 문제를 수정했습니다.
- 프로젝트 빌드 시 VR 모듈을 비활성화하면 오류가 발생하는 문제를 수정했습니다.
- 기본 TerrainLit 머티리얼이 오래되어 기본 터레인이 픽셀당 노멀 대신 버텍스당 노멀을 사용하는 문제를 수정했습니다.
- 기본 유니버설 RP 터레인 셰이더의 셰이더 오류 및 경고를 수정했습니다. 사례 1185948
- URP 머티리얼 업그레이더가 스탠다드 유니버설 셰이더를 업그레이드하려고 시도하는 문제를 수정했습니다. 사례 1144710
- 일부 머티리얼을 유니버설 셰이더로 업그레이드할 때 오류가 발생하는 문제를 수정했습니다. 사례 1200938
- 터레인의 노멀 맵이 메시의 동일한 노멀 맵과 비교할 때 X 컴포넌트가 반전된 것처럼 보이는 문제를 수정했습니다. 사례 1181518
- 추가 광원을 사용할 때 에디터에서 때때로 크래시가 발생하는 문제를 수정했습니다. 사례 1176131
- 카메라 컨텍스트 메뉴의 RemoveComponent가 컴포넌트가 카메라에 의존하는 동안 카메라를 제거하지 않도록 수정했습니다.
- 오른쪽 눈이 렌더링되지 않는 문제를 수정했습니다. 사례 1170619
- XR을 활성화하면 TerrainDetailLit.shader가 컴파일되지 않는 문제를 수정했습니다.
- 지원되지 않는 머티리얼이 4개 이상인 터레인에서 높이 기반 블렌딩이 허용되는 문제를 수정했습니다.
- 불투명한 오브젝트가 잘못된 알파 값을 출력하는 문제를 수정했습니다. 사례 1168283
- 포스트 프로세싱이 활성화되었을 때 뎁스 텍스처를 사용하는 효과가 없더라도 뎁스 텍스처가 항상 생성되는 문제를 수정했습니다.
- Nintendo Switch의 잘못된 광원 감쇠를 수정했습니다.
- '볼륨 트리거'가 설정되지 않았을 때 볼륨 시스템이 카메라 트랜스폼을 사용하지 않는 문제를 수정했습니다.
- 커스텀 렌더러와 SMAA를 사용하거나 AA를 사용하지 않을 때 포스트 프로세싱이 사라지는 문제를 수정했습니다.
- 씬 지오메트리와 교차할 때 소프트 파티클의 블렌딩이 어두워지는 문제를 수정했습니다. 사례 1199812
- 애더티브 파티클이 잘못 블렌딩되는 문제를 수정했습니다. 사례 1215713
- 씬 뷰에서 카메라 미리보기 창이 누락되는 문제를 수정했습니다. 사례 1211971
- 프리팹 모드 내에서 카메라 스태킹이 올바르게 동작하지 않는 문제를 수정했습니다. 사례 1220509
- 렌더 파이프라인 에셋에서 그림자 캐스케이드 값을 읽을 수 없는 문제를 수정했습니다. 사례 1219003
- OpenGL용 SMAA 셰이더의
mad()
정의를 수정했습니다. - 파티클 셰이더가 더블 와이드 텍스처로 싱글 패스 스테레오 VR 렌더링을 처리하지 못하는 문제를 수정했습니다. 사례 1201208
- 플레이어 환경설정이 해제되면 에셋을 다시 가져오는 문제를 수정했습니다. 사례 1192259
- 라이브러리 삭제 후 커스텀 렌더러 기능이 누락되는 문제를 수정했습니다. 사례 1196338
- 까다로운 UI 선택 Rect로 인해 렌더러 기능을 제거할 수 없는 문제를 수정했습니다. 사례 1208113
- 렌더 오브젝트 기능의 카메라 오버라이드가 여러 렌더 기능에서 연속으로 동작하지 않는 문제를 수정했습니다. 사례 1205185
- 포워드 렌더러 인스펙터의 UI 잘림 문제를 수정했습니다. 사례 1211954
- 포워드 렌더러에서 누락된 렌더러 기능을 제거할 때 발생하는 null 레퍼런스를 수정했습니다. 사례 1196651
- 포워드 렌더러에 렌더러 기능을 추가할 때 발생하는 데이터 직렬화 문제를 수정했습니다. 사례 1214779
- 텍스처 배열과 FrontFace를 사용한 셰이더가 빌드 시점에 컴파일되지 않아 빌드가 실패하는 문제를 수정했습니다.
- 해상도를 변경하여 눈 텍스처를 재배치할 때까지 MSAA가 적용되지 않는 문제를 수정했습니다. 사례 1197958
- 설정 아이콘이 흐릿하게 보이는 문제를 수정했습니다. 사례 1201895
- 싱글 패스 인스턴스화를 사용하여 RenderTexture로 렌더링할 때 양눈을 겹쳐서 렌더링하는 문제를 수정했습니다.
- XRSDK를 사용할 때 Renderscale 설정이 영향을 주지 않는 문제를 수정했습니다.
- renderScale != 1 또는 Display.main.requiresBlitToBackbuffer가 XR에서 불필요한 blit을 강제로 실행하는 문제를 수정했습니다.
- Quest에서 이중 sRGB 보정이 발생하는 문제를 수정했습니다. 사례 1209292
- 터레인 DepthOnly 패스가 XR에서 동작하지 않는 문제를 수정했습니다.
- 캐스케이드를 선택하지 않았을 때 터레인에 그림자가 나타나지 않는 문제를 수정했습니다. 사례 1226530
- 포스트 프로세싱으로 인해 GLES2에서 아무것도 렌더링되지 않는 문제를 수정했습니다.
- 셰이더에서 샘플링할 때 뎁스 텍스처가 반전되는 문제를 수정했습니다. 사례 1225362
- 광원 모드 태그를 제거할 수 없는 문제를 수정했습니다. 사례 1240895
[7.1.1] - 2019-09-05
업그레이드 가이드
- 이제 렌더 파이프라인이 커스텀 렌더러를 다르게 처리하므로, 렌더 파이프라인 에셋에서 카메라에 대한 렌더러를 설정해야 합니다.
- 렌더 파이프라인 에셋은 자동으로 업그레이드되며 프로젝트에 기본 포워드 렌더러를 생성하거나, 할당한 기존 커스텀 렌더러를 연결합니다.
- 카메라에 커스텀 렌더러가 할당된 경우 현재 렌더 파이프라인 에셋에 추가해야 합니다. 그런 다음 카메라에서 사용할 렌더러를 선택할 수 있습니다.
추가된 사항
GetMainLightShadowParams
셰이더 함수를 추가했습니다. 이 함수는 그림자 강도를 x 컴포넌트에 패킹하고 섀도우 소프트 프로퍼티를 y 컴포넌트에 패킹하는 메인 광원에 대해 half4를 반환합니다.GetAdditionalLightShadowParams
셰이더 함수를 추가했습니다. 이 함수는 그림자 강도를 x 컴포넌트에 패킹하고 섀도우 소프트 프로퍼티를 y 컴포넌트에 패킹하는 추가 광원에 대해 half4를 반환합니다.- 렌더 파이프라인 에셋에
Debug Level
옵션을 추가했습니다. 이 옵션을 통해 렌더 파이프라인이 생성하는 디버그 정보의 양을 제어할 수 있습니다. UniversalAdditionalCameraData.SetRenderer(int index)
를 사용하여 C#을 통해 카메라가 렌더링하는ScriptableRenderer
를 설정할 수 있는 기능을 추가했습니다. 이 기능은 렌더 파이프라인 에셋의 Renderer List에 매핑됩니다.- 2D 렌더러에 대한 그림자 지원을 추가했습니다.
- ShadowCaster2D 및 CompositeShadowCaster2D 컴포넌트를 추가했습니다.
- Light2D에 그림자 강도 및 그림자 볼륨 강도 프로퍼티를 추가했습니다.
- 광원에 대한 새로운 기즈모를 추가했습니다.
- 시네머신과 픽셀 퍼펙트 카메라 간의 여러 호환성 문제를 해결하는 시네머신 가상 카메라 확장인 CinemachineUniversalPixelPerfect를 추가했습니다.
- 2D 렌더러의 뎁스/스텐실 버퍼를 비활성화하는 옵션을 추가했습니다.
- 스폿 광원의 내부 원뿔 각도에 대한 조작 핸들을 추가했습니다.
- 빌트인 포스트 프로세싱 솔루션과 볼륨 프레임워크에 대한 문서를 추가하고 PPv2 패키지에 대한 잘못된 언급을 제거했습니다.
변경된 사항
- 포워드 렌더러에 대한 가시광선 제한을 높였습니다. 이제 모바일 플랫폼을 제외하고 256개의 가시광선을 지원합니다. 모바일 플랫폼은 32개의 가시광선을 지원합니다.
- 포워드 렌더러에 대한 오브젝트당 광원 수를 늘렸습니다. 이제 GLES2를 제외하고 모든 플랫폼에서 8개의 오브젝트당 광원을 지원합니다. GLES2는 4개의 오브젝트당 광원을 지원합니다.
- 이제 Sprite-Lit-Default 셰이더와 스프라이트 릿 셰이더 그래프 셰이더가 탄젠트 공간 계산에 버텍스 탄젠트를 사용합니다.
- 이제 렌더 텍스처로 렌더링하는 카메라의 임시 렌더 텍스처가 카메라의 타겟 텍스처와 동일한 포맷과 멀티샘플링 설정을 사용합니다.
- 이제 지원되는 경우 모든 플랫폼이 HDR 렌더 텍스처에 R11G11B10_UFloat 포맷을 사용합니다.
- 렌더러 타입과 달리, 이제 렌더 파이프라인 에셋에
ScriptableRendererData
리스트가 있습니다. 이 리스트는 모든 카메라가 이용할 수 있으며 빌드에 포함됩니다. - 이제 카메라의 렌더러 오버라이드가 렌더 파이프라인 에셋의
ScriptableRendererData
리스트에 매핑되는 열거형입니다. - 이제 픽셀 퍼펙트 카메라가 렌더 텍스처로의 렌더링을 허용합니다.
- 생성한 Light2D 게임 오브젝트가 z가 0인 기본 포지션을 갖습니다.
- 문서: "시작하기" 섹션을 "설치 및 설정"으로 변경하고, 목차를 다시 구성했습니다.
수정된 사항
- LightProbe 오클루전 기여도를 수정했습니다. 사례 1146667
- 새 머티리얼을 생성할 때 콘솔에 로그 메시지가 출력되는 문제를 수정했습니다. 사례 1173160
- OnRenderObjectCallback이 호출되지 않는 문제를 해결했습니다. 사례 1122420
- 2D 렌더러를 사용할 때 스프라이트 마스크가 올바르게 동작하지 않는 문제를 수정했습니다. 사례 1163474
- 2D 렌더러에서 프레임 디버거를 사용할 때 발생하는 메모리 누수를 수정했습니다.
_Time
을 사용하는 머티리얼이 씬에서 애니메이션화되지 않는 문제를 수정했습니다. 1175396- 소프트 파티클과 HDR이 모두 활성화되었을 때 파티클 릿 셰이더에 결함이 발생하는 문제를 수정했습니다. 1136285
- 면 광원이 실시간으로 설정되어 베이크되지 않는 문제를 수정했습니다. 1159838
- 디스크 광원이 아무 광원도 생성하지 않는 문제를 수정했습니다. 1175097
- HDR이 활성화된 오프스크린 카메라에서 불투명 텍스처가 요청되었을 때 알파가 멈추는 문제를 수정했습니다. 사례 1163320.
- 원거리 평면이 0으로 설정된 직교 카메라가 Unity 콘솔을 확장할 때 오류를 표시하는 문제를 수정했습니다. 사례 1172269
RenderPipelineManager.DoRenderLoop
에서 힙 할당을 유발하는 문제를 수정했습니다. 사례 1156241- 큰 스폿 각도 값을 사용할 때 그림자 결함이 발생하는 문제를 수정했습니다. 사례 1136165
- 스폿 광원의 그림자 근평면을 조정할 때 셀프 섀도잉 결함이 발생하는 문제를 수정했습니다.
- 평활도 값을 1.0으로 설정하면 스페큘러 하이라이트가 사라지는 문제를 수정했습니다. 사례 1161827
- 머티리얼 업그레이더에서 투명 머티리얼이 유니버설 RP로 올바르게 업그레이드되지 않는 문제를 수정했습니다. 사례 1170419
- 2D 렌더러에 대한 포스트 프로세싱을 수정했습니다.
- 360도 스폿 광원에 검은색 선이 나타나는 Light2D 문제를 수정했습니다.
- 전체 화면이 아닌 뷰포트의 포스트 프로세싱 렌더링 문제를 수정했습니다. 사례 1177660
- Undo 기능이 추가 카메라 데이터의 생성을 실행 취소하지 않는 문제를 수정했습니다. 사례 1158861
- 동일한 드롭다운 메뉴 항목을 두 번 선택하면 변경 이벤트가 트리거되는 문제를 수정했습니다. 사례 1158861
- 인스턴싱 머티리얼을 사용하는 특정 오브젝트를 선택하면 콘솔 경고가 표시되는 문제를 수정했습니다. 사례 1127324
- GUID가 LWRP와 충돌하는 문제를 수정했습니다. 사례 1179895
- 터레인 셰이더가 NaN을 생성하는 문제를 수정했습니다.
- 'Opaque Color' 패스가 절반 또는 1/4 해상도로 렌더링되지 않는 문제를 수정했습니다.
- 렌더링이 발생할 때마다
ForwardRendererData
의 스텐실 상태가 초기화되는 문제를 수정했습니다.
[7.0.1] - 2019-07-25
변경된 사항
- 이제 플랫폼 검사가 인스펙터에서 지원되는 기능에 대한 더욱 유용한 피드백을 제공합니다.
수정된 사항
- 모바일의 스페큘러 조명 관련 결함을 수정했습니다. 사례 1143049 및 사례 1164822
- 포스트 프로세싱이 미리보기에서 더 이상 활성화되지 않습니다.
- 이제 Unity가 카메라의 포스트 프로세싱을 기본적으로 강제로 활성화하지 않습니다.
- GLES3 및 리니어 색 공간에서 씬이 어둡게 렌더링되는 문제를 수정했습니다. 사례 1169789
[7.0.0] - 2019-07-17
유니버설 렌더 파이프라인
- LWRP의 이름을 "유니버설 렌더 파이프라인"(UniversalRP)으로 변경했습니다.
- UniversalRP는 기능과 범위 면에서 LWRP와 동일합니다.
- 클래스를 LWRP에서 유니버설 네임스페이스로 이동했습니다.
업그레이드 가이드
- 사용자가 UniversalRP로 원활하게 업그레이드할 수 있도록 디자인했습니다.
- LWRP 패키지가 여전히 존재합니다. 이는 include와 class를 UniversalRP 패키지로 전달합니다.
- 참여도가 더욱 높아진 업그레이드 가이드를 참조하십시오(https://docs.google.com/document/d/1Xd5bZa8pYZRHri-EnNkyhwrWEzSa15vtnpcg--xUCIs/).
추가된 사항
- 초기 Stadia 플랫폼 지원.
- 새로운
ScriptableRendererFeature
스크립트를 생성할 수 있는 메뉴 옵션을 추가했습니다. 이렇게 하려면 에디터에서 Asset > Create > Rendering > Lightweight Render Pipeline > Renderer Feature를 클릭하십시오. - LWRP에 SpeedTree 셰이더에 대한 문서를 추가했습니다.
- 터레인 에셋이 HDRP와 상위 호환될 수 있도록 LWRP 터레인 셰이더에 확장 기능을 추가했습니다.
- LWRP 터레인 셰이더에서 레이어별 고급 또는 레거시 모드 블렌딩을 활성화했습니다.
- 포워드 렌더링 카메라 루프에 대해 설명하는 "LWRP의 렌더링" 문서 페이지를 추가했습니다.
- LWRP에서 포스트 프로세싱 V2가 동작하는 방식에 대한 문서 개요를 추가했습니다.
- LWRP 에셋에 영향을 주는 2D 렌더러에 대한 문서 참고 사항과 FAQ 항목을 추가했습니다.
변경된 사항
- Light2D에서 사용되는 구현으로 beginCameraRendering 콜백을 대체했습니다.
ScriptableRendererFeature
및ScriptableRenderPass
API 문서를 업데이트했습니다.- Nintendo Switch에서 Real 셰이더 타입이 FP16 정밀도로 변환됩니다.
수정된 사항
- 빌트인 셰이더 시간 값이 실제 시간과 동기화되지 않는 문제를 수정했습니다. 사례 1142495
- LWRP를 예전 버전에서 7.0.0으로 업그레이드할 때 포워드 렌더러 리소스가 올바르게 로드되지 않는 문제를 수정했습니다. 사례 1154925
- LWRP가 프레임마다 힙 메모리를 할당하여 발생하는 GC 스파이크 문제를 수정했습니다.
- 파티클 언릿 셰이더의 왜곡 효과를 수정했습니다.
- ScriptableRendererFeature를 추가할 때 발생하는 NullReference 예외를 수정했습니다.
- 포워드/2D 렌더러를 사용할 때 특정 LWRP 셰이더가 표시되지 않는 문제를 수정했습니다.
- 불필요한 대역폭을 소모하지 않도록 그림자 해결 패스와 최종 패스를 수정했습니다. 사례 1152439
- LWRP에 2D 광원에 대한 누락 페이지를 추가했습니다.
- 2D 렌더러를 사용할 때 타일맵 타일이 더 이상 검은색으로 나타나지 않습니다.
- 미리보기 창의 스프라이트가 더 이상 2D 씬 조명을 받지 않습니다.
- GLES2 API의 미지원 섀도우 맵 포맷에 대한 경고를 수정했습니다.
- 섀도우 맵 또는 뎁스 텍스처를 지원하지 않는 기기의 그림자를 비활성화했습니다.
- LWRP 픽셀당 터레인에 대한 지원을 수정했습니다. 사례 1110520
- LWRP 터레인 머티리얼의 일부 기본 UI/사용성 문제를 수정했습니다(경고 및 Modal 값 변경 사용).
- LWRP와 스프라이트 셰이프를 함께 사용하면 메타 파일이 충돌하는 문제를 수정했습니다.
- 스페큘러 계산에서 Switch의 fp16 오버플로를 수정했습니다.
- Android XR 프로젝트의 셰이더 컴파일 오류를 수정했습니다.
- 렌더 스케일을 2배로 제한하여 렌더 파이프라인 구현 한도에 맞추도록 파이프라인 에셋 UI를 업데이트했습니다.
[6.7.0] - 2019-05-16
추가된 사항
- SpeedTree 셰이더를 추가했습니다.
- 2개의 셰이더 그래프 마스터 노드(릿 스프라이트, 언릿 스프라이트)를 추가했습니다. 2D 렌더러에서만 동작합니다.
- 2D 렌더러에 대한 문서를 추가했습니다.
변경된 사항
- 2D 렌더러 및 Light2D 컴포넌트는 여러 번의 개선을 거쳤으며, 이제 실험 기능으로 사용할 준비를 마쳤습니다.
- LWRP 기능의 현재 상태를 반영하여 기능 비교표를 업데이트했습니다.
수정된 사항
- 플레이 모드에서 '일치하지 않는 Profiler.EndSample' 오류가 더 이상 나타나지 않습니다. 사례 1140750
- 이제 LWRP 파티클 셰이더가 스테레오 렌더링 모드에서 올바르게 렌더링됩니다. 사례 1106699
- 이름에 'debug'가 포함된 셰이더가 더 이상 자동으로 스트리핑되지 않습니다. 사례 1112983
- 선택 윤곽선과 베이크된 컷아웃 그림자의 타일링 문제를 수정했습니다.
- 셰이더 그래프 언릿 마스터 노드에서 Premultiply가 더 이상 Alpha와 동일하게 동작하지 않습니다. 사례 1114708
- 픽셀당 필요하고 GPU 인스턴싱이 활성화된 경우 라이트 프로브 데이터가 누락되는 문제를 수정했습니다.
- 소프트 ScreenSpaceShadows 셰이더 배리언트가 더 이상 빌드에서 스트리핑되지 않습니다. 사례 1138236
- 파티클 언릿 셰이더의 타이포를 수정하여 이제 소프트 파티클이 올바르게 동작합니다.
- 일부 메시에 대해 베이크되지 않는 발광 머티리얼을 수정했습니다. 사례 1145297
- 이제 EndCameraRendering에서 렌더링 함수를 호출할 때 카메라 매트릭스가 올바르게 설정됩니다. 사례 1146586
- 감마 색 공간에서 GI가 올바르게 베이크되지 않는 문제를 수정했습니다.
- 전역 네임스페이스에 포함된 렌더러 기능을 추가할 때 발생하는 NullReference 예외를 수정했습니다. 사례 1147068
- 이제 셰이더가 Vulkan에서 VR 스테레오 인스턴싱에 대해 설정됩니다. 사례 1142952
- 이제 VR 스테레오 매트릭스와 버텍스 입력이 Vulkan에서 설정됩니다. 사례 1142952
- LWRP 패키지를 업데이트할 때 실행되도록 머티리얼 업그레이더를 수정했습니다. 1148764
- 새로운 경량 렌더 파이프라인 에셋을 생성할 때 발생하는 NullReference 예외를 수정했습니다. 사례 1153388
[6.6.0] - 2019-04-01
추가된 사항
- 베이크된 간접 혼합 조명에 대한 지원을 추가했습니다.
- 이제 라이트 프로브를 오클루전에 사용할 수 있습니다. 즉 이제 베이크된 조명이 동적 오브젝트를 가릴 수 있습니다.
- 렌더러 오브젝트를 추가했습니다. 렌더러에 렌더러 오브젝트를 추가하여 커스텀 렌더링을 수행할 수 있습니다.
- (WIP) 2D 조명 시스템을 구현하는 실험적인 2D 렌더러를 추가했습니다.
- (WIP) 2D 스프라이트에 조명 효과를 추가하기 위해 2D 렌더러에서 동작하는 Light2D 컴포넌트를 추가했습니다.
수정된 사항
- LWRP 템플릿의 프로젝트 임포트 문제를 수정했습니다.
- 경량 렌더 파이프라인을 사용하여 새로운 언릿 셰이더 그래프를 생성할 때 나타나는 경고를 수정했습니다.
- 모바일 플랫폼의 광원 감쇠 정밀도를 수정했습니다.
- 모바일 플랫폼의 분할 화면 렌더링을 수정했습니다.
- 뎁스 텍스처로 렌더링하는 오프스크린 카메라를 사용할 경우의 렌더링을 수정했습니다.
- 렌더러의 노출된 스텐실 렌더 상태를 수정했습니다.
- 뎁스 프리패스에 적용되도록 기본 레이어 마스크를 수정했습니다.
- 렌더 패스 UI의 몇 가지 부문을 개선하고 수정했습니다.
- 크게 확대한 오브젝트에 정밀도 오류로 인해 나타나는 결함을 수정했습니다.
- Unity가 뎁스 텍스처를 필요로 하는 XR 렌더링 문제를 수정했습니다.
- 투명 오브젝트가 잘못 정렬되는 문제를 수정했습니다.
[6.5.0] - 2019-03-07
추가된 사항
- 이제
Assets/Create/Rendering/Lightweight Render Pipeline/Forward Renderer
를 클릭하여 커스텀 포워드 렌더러를 만들 수 있습니다. 그러면 프로젝트에 에셋이 생성됩니다. 에셋에 기능을 추가하고, 렌더러를 파이프라인 에셋 또는 카메라에 드래그 앤 드롭할 수 있습니다. - 이제
ScriptableRenderer
에ScriptableRendererFeature
를 추가하여 커스텀 효과로 확장할 수 있습니다. 기능은 렌더러에 드래그 앤 드롭할 수 있고 여러ScriptableRenderPass
를 렌더러에 추가하는ScriptableObject
입니다. - 이제
ScriptableRenderer
가 광원 설정을 위한 인터페이스를 노출합니다. 이렇게 하려면 새 렌더러를 생성할 때SetupLights
를 구현하십시오. - 이제
ScriptableRenderer
가 컬링 설정을 위한 인터페이스를 노출합니다. 이렇게 하려면 새 렌더러를 생성할 때SetupCullingParameters
를 구현하십시오. ScriptableRendererData
에는ScriptableRenderer
용 렌더링 리소스가 들어 있습니다. 렌더러는 모든 카메라에 대해 또는 카메라별로 오버라이드할 수 있습니다.- 이제
ScriptableRenderPass
에RenderPassEvents
가 있습니다. 이 컨트롤은 렌더 패스가 추가되는 파이프라인 내 위치를 제어합니다. - 이제
ScriptableRenderPass
가ConfigureTarget
및ConfigureClear
를 노출합니다. 이를 통해 렌더러가 현재 활성 렌더링 타겟을 자동으로 파악할 수 있습니다. - 이제
ScriptableRenderPass
가Blit
을 노출합니다. 이는 blit을 수행하고 렌더러의 활성 렌더 타겟을 설정합니다. - 이제
ScriptableRenderPass
가RenderPostProcessing
을 노출합니다. 이는 포스트 프로세싱을 렌더링하고 렌더러의 활성 렌더 타겟을 설정합니다. - 이제
ScriptableRenderPass
가ScriptableRenderContext.DrawRenderers
호출이 필요한 렌더 패스의 도우미로CreateDrawingSettings
를 노출합니다.
변경된 사항
ScriptableRenderPass
에서RegisterShaderPassName
을 제거했습니다. 대신에CreateDrawingSettings
가 하나 또는ShaderTagId
리스트를 가져옵니다.- LWRP에 남아 있는 실험적인 네임스페이스를 제거했습니다.
ScriptableRenderer
,ScriptableRenderPass
및 렌더 패스 주입과 관련된 모든 API가 이제 미리보기에 포함되지 않습니다. ScriptableRenderPass
에서SetRenderTarget
을 제거했습니다. 이제 호출하지 않아야 합니다. 대신에ConfigureTarget
을 호출하면 렌더러가 타겟을 자동으로 설정합니다.ScriptableRenderer
에서RenderFullscreenQuad
를 제거했습니다. 대신에CommandBuffer.DrawMesh
및RenderingUtils.fullscreenMesh
를 사용하십시오.ScriptableRenderer
에서RenderPostProcess
를 제거했습니다. 대신에ScriptableRenderPass.RenderPostProcessing
을 사용하십시오.ScriptableRenderer
에서postProcessingContext
프로퍼티를 제거했습니다. 이제RenderingUtils.postProcessingContext
에서 노출됩니다.ScriptableRenderer
에서GetCameraClearFlag
를 제거했습니다.
수정된 사항
- 포스트 프로세싱이 활성 상태일 때 VR의 y 반전을 수정했습니다.
- VR용 오클루전 메시가 불투명을 렌더링하기 전에 렌더링되지 않는 문제를 수정했습니다.
- 이제 런타임 시점에 SRP 배처를 활성화 또는 비활성화했습니다.
- 포스트 프로세싱이 활성 상태일 때의 비디오 플레이어 레코더를 수정했습니다.
[6.4.0] - 2019-02-21
[6.3.0] - 2019-02-18
[6.2.0] - 2019-02-15
변경된 사항
- 코드 리팩터링: ARGS가 포함된 모든 매크로가 PARAM이 포함된 매크로로 교체되었습니다. 이는 ARGS 매크로의 이름이 잘못되었기 때문입니다.
[6.1.0] - 2019-02-13
[6.0.0] - 2019-02-23
추가된 사항
- 이제 LWRP용 커스텀 렌더러를 구현할 수 있습니다. 이렇게 하려면 렌더링에 사용되는 모든 리소스가 포함된
IRendererData
를 구현하십시오. 그런 다음ScriptableRenderPass
를 생성하여 대기열에 넣는IRendererSetup
을 생성해야 합니다. 파이프라인 에셋 또는 카메라 인스펙터에서 렌더러 타입을 변경하십시오. - 이제 LWRP가 Unity 레코더 확장을 사용합니다. 이 확장을 사용하면 카메라 출력을 캡처할 수 있습니다.
- 이제 LWRP가 불투명 오브젝트를 렌더링하기 전에 커스텀 렌더 패스를 삽입할 수 있습니다. 이렇게 하려면
IBeforeRender
인터페이스를 구현하십시오. - 모든 파티클 셰이더에서 왜곡 지원
MaterialPostprocessor
가 있는 LWRP 머티리얼용 업그레이드 시스템- 언릿 셰이더용 업그레이드 경로
- 셰이더용 툴팁
- 파티클 셰이더용 SRP 배처 지원
- 이 셰이더에 대한 문서: 베이크된 릿, 파티클 릿, 파티클 심플 릿, 파티클 언릿
- 이제 LWRP가 다이내믹 해상도 스케일링을 지원합니다. 타겟 플랫폼에서도 이를 지원해야 합니다.
- 이제 LWRP가
LWRP_X_Y_Z_OR_NEWER
포맷으로 C#과 셰이더 모두에 대한 버전 정의를 포함합니다. 예를 들어LWRP_5_3_0_OR_NEWER
는 5.3.0 버전을 정의합니다. - 터레인용 라이트맵을 베이크하지 않은 경우 터레인 릿 셰이더가 스피리컬 하모닉을 샘플링합니다.
- 렌더링 순서를 미세 조정하는 데 사용할 수 있는 Priority 옵션을 추가했습니다. 이는 빌트인 렌더 파이프라인의 렌더 대기열과 유사합니다. 이제 이러한 그림자에는 릿, 심플 릿, 베이크된 릿, 언릿 옵션과 세 가지 파티클 셰이더 모두가 포함되어 있습니다.
- 렌더 파이프라인 에디터 리소스 에셋을 통한 터레인 디테일 렌더링 셰이더의 오버라이드 지원을 추가했습니다.
변경된 사항
- 이제 배경 타입 설정을 통해서만 카메라를 초기화할 수 있습니다. 지원되는 옵션은 Skybox, Solid Color, Don't Care입니다.
- 이제 LWRP가 2개의 그림자 캐스케이드가 있는 방향광 그림자를 렌더링할 때 사각형이 아닌 섀도우 맵 텍스처를 사용합니다.
- 이제 LWRP가 모바일 디바이스에서 RGB111110을 HDR 포맷(이 포맷이 지원되는 경우)으로 사용합니다.
IAfterDepthPrePass
인터페이스를 제거했습니다.- 셰이더 GUI를 다시 설계했습니다. 예를 들어 셰이더의 모든 프로퍼티 이름이 이제 전체적으로 인라인입니다.
- 이제 심플 릿 셰이더에 평활도가 있습니다. 평활도는 스페큘러 또는 알베도 맵의 알파에 저장할 수 있습니다.
- 이제 심플 릿 및 파티클 심플 릿 셰이더가 스페큘러 맵의 길이(밝기)에서 광도를 가져옵니다.
- 이제 Double sided 프로퍼티가 Render Face 입니다. 즉 전면 컬링도 수행할 수 있습니다.
- 셰이더 GUI 변경에 따라 릿 셰이더, 심플 릿 셰이더, 언릿 셰이더에 대한 문서를 변경했습니다.
- 이제 새로운 LWRP 에셋을 생성할 때 모바일 플랫폼의 성능을 선호하는 설정으로 초기화됩니다.
- FAQ와 빌트인/LWRP 기능 비교표를 업데이트했습니다.
수정된 사항
- 모바일 디바이스의 대역폭 소모를 줄이기 위해 몇 가지 사항을 미세 조정했습니다.
- 이제 경량 에셋 인스펙터 UI의 폴드아웃이 해당 상태를 기억합니다.
- GizmosRenderingPass.cs의 누락된 메타 파일을 추가했습니다.
- 여러 카메라나 Depth Only 카메라를 사용할 때 발생하는 결함을 수정했습니다. 사례 1072615
- GLES2에서 셰이더 컴파일러의 메모리 부족을 유발하는 ERROR_ON_UNSUPPORTED_FUNCTION()의 타이포를 수정했습니다. 사례 1104271
- 이제 LWRP가 확대/축소된 오브젝트의 그림자를 올바르게 렌더링합니다. 사례 1109017
- 이제 LWRP가 일부 에셋 설정을 런타임 시점에 변경하도록 허용합니다. 사례 1105552
- 이제 실시간 섀도우가 GLES2에서 동작합니다. 사례 1087251
- 이제 드로우 콜을 단계별로 실행할 때 Framedebugger가 올바르게 렌더링됩니다.
- 이제 MSAA 및 불투명 텍스처를 요청하는 카메라가 더 작은 프레임 대역폭을 렌더링에 사용합니다.
- 감마 색 공간의 렌더링을 수정하여 어둡게 보이지 않도록 만들었습니다.
- 이제 파티클 심플 릿과 파티클 언릿 셰이더가 올바르게 동작합니다.
- 이제 소프트 파티클 이 올바르게 동작합니다.
- 파티클에 대한 카메라 페이딩
- 언릿
IgnoreProjector
태그의 타이포를 수정했습니다. - 파티클이 스테레오 인스턴싱으로 양눈을 렌더링합니다.
- 모바일의 스페큘러 문제를 수정했습니다. 사례 1109017
- MSAA 설정이 비활성화된 경우에도 LWRP가 MSAA 프레임버퍼를 생성하는 문제를 수정했습니다.
- 이제 모바일 VR의 포스트 프로세싱이 강제로 비활성화됩니다. 이 때문에 많은 렌더링 문제가 발생했습니다.
- VR이 활성화된 경우 플레이 모드에서 에디터 미리보기가 중단되는 문제를 수정했습니다. 사례 1109009
- 이제 XR 렌더링 시 카메라의 HDR 활성화 플래그가 적용됩니다.
- 이제 LWRP가 설치되었지만 비활성화된 경우에도 터레인 디테일 렌더링이 올바르게 동작합니다.
[5.2.0] - 2018-11-27
추가된 사항
- 이제 LWRP가 백버퍼로 렌더링할 때 기기에서 필요로 하는 blit을 처리합니다.
- 이제 SRP 배처를 활성화할 수 있습니다. 이렇게 하려면
Pipeline Asset
으로 이동한 후Advanced
에서SRP Batcher
를 토글하십시오.
변경된 사항
unity_LightIndicesOffsetAndCount
셰이더 변수의 이름을unity_PerObjectLightData
로 변경했습니다.- 이제
unity_4LightIndices0
및unity_4LightIndices1
셰이더 변수가unity_PerObjectLightIndices
배열로 선언됩니다.
[5.1.0] - 2018-11-19
추가된 사항
- 이제 LWRP에 대한 사용자 문서가 별도 GitHub wiki가 아니라 GitHub 저장소에 보관됩니다. 최신 페이지는 TableOfContents.md 파일에서 찾을 수 있습니다. 이 파일에 없는 페이지는 아직 개발 중입니다.
변경된 사항
- 이제 LWRP 패키지가 미리보기에 없습니다.
- LWRP 빌트인 렌더 패스가 이제 내부에 있습니다.
- 네임스페이스를
UnityEngine.Experimental.Rendering.LightweightPipeline
에서UnityEngine.Rendering.LWRP
로 변경했습니다. - 네임스페이스를
UnityEditor.Experimental.Rendering.LightweightPipeline
에서UnityEditor.Rendering.LWRP
로 변경했습니다.
수정된 사항
- 이제 LWRP가 iOS 플레이어 설정 Force hard shadows를 준수합니다. 이 설정을 활성화하면 그림자의 하드웨어 필터링이 비활성화됩니다.
- 이제 씬 뷰 모드가 베이크된 라이트맵을 올바르게 렌더링합니다. 사례 1092227
- 이제 그림자 바이어스 계산이 셰이더 그래프와 터레인 셰이더 모두에 대해 올바르게 수행됩니다.
- 이제 blit 셰이더가 컬링을 무시합니다.
- Additional Lights 에 대해 Per Vertex 옵션을 선택해도 Per Object Limit 옵션이 더 이상 회색으로 표시되지 않습니다.
- 카메라 뷰포트 높이를 1.0 값보다 높게 변경해도 Unity 에디터가 더 이상 멈추지 않습니다. 사례 1097497
- LWRP에서 AR을 사용할 때 콘솔에 더 이상 다음의 오류 메시지가 표시되지 않습니다. "렌더 파이프라인에 전달된 카메라 리스트가 null이거나 비어 있습니다."
[5.0.0-preview] - 2018-09-28
추가된 사항
- VR을 위한 오클루전 메시 렌더링/연결을 추가했습니다.
- 이제 파이프라인 에셋에서 기본 뎁스와 노멀 그림자 바이어스 값을 설정할 수 있습니다.
- 이제
LWRPAdditionalLightData
컴포넌트를Light
에 추가하여 기본 뎁스와 노멀 그림자 바이어스를 오버라이드할 수 있습니다. - 이제 빌드의 셰이더 배리언트 양을 기록할 수 있습니다. 이렇게 하려면
Pipeline Asset
으로 이동한 후Advanced
에서Shader Variant Log Level
을 선택한 후 설정하십시오.
변경된 사항
- LWRP 코어에서
supportedShaderFeatures
프로퍼티를 제거했습니다. 이제 셰이더 스트리퍼가 그래픽스 설정에서 현재 할당된 파이프라인 에셋을 기준으로 스트리핑할 배리언트를 파악할 수 있습니다.
수정된 사항
- 다음 오류가 콘솔에 더 이상 나타나지 않습니다("Begin/End Profiler 섹션 불일치").
- 릿 셰이더로 머티리얼을 선택해도 다음 오류가 콘솔에 더 이상 나타나지 않습니다("머티리얼에... 없습니다"). 사례 1092354
- 이제 심플 릿 셰이더에서 버텍스당 추가 광원에 셰이드가 올바르게 적용됩니다.
- 이제 클라우드 빌드로 프로젝트를 빌드할 때 셰이더 배리언트 스트리핑이 올바르게 동작합니다. 이를 통해 클라우드 빌드의 빌드 시간을 크게 단축할 수 있습니다.
- 이제 광원 모드를 혼합으로 설정하면 동적 오브젝트가 조명을 받습니다.
- 이제 MSAA가 데스크톱 플랫폼에서 동작합니다.
- 이제 그림자 바이어스 값이 그림자 캐스케이드와 다른 그림자 해상도에 대해 올바르게 계산됩니다. 사례 1076285
- LWRP에서 Area Light 를 사용할 때 Cast Shadows 가 인스펙터의 다른 UI 요소와 더 이상 겹치지 않습니다. 사례 1085363
변경된 사항
Read/write XRGraphicsConfig -> Read-only XRGraphics 인터페이스가 XRSettings로 이동했습니다.
[4.0.0-preview] - 2018-09-28
추가된 사항
- 이제 기즈모를 활성화하면 게임 뷰에 올바르게 나타납니다.
- 런타임 플랫폼에서 카메라 뎁스 텍스처를 생성하는 데 뎁스 프리패스가 필요한지 여부를 알려 주기 위해 RenderingData 구조체에 requiresDepthPrepass 필드를 추가했습니다.
- 이제
RenderingData
구조체에CullResults
에 대한 레퍼런스가 있습니다. - HDR 이 카메라에서 활성화되었지만 에셋에서 비활성화된 경우 카메라 인스펙터의 정보 상자에서 이에 대해 알려 줍니다.
- MSAA 가 카메라에서 활성화되었지만 에셋에서 비활성화된 경우 카메라 인스펙터의 정보 상자에서 이에 대해 알려 줍니다.
- 터레인 셰이더에서 인스턴싱을 활성화했습니다.
- 이제 불투명 오브젝트의 정렬이 카메라 'opaqueSortMode' 설정을 따릅니다.
- 카메라 설정이 허용하고 GPU에 숨겨진 표면 제거가 있는 경우 불투명 오브젝트를 정렬하면 앞뒤 정렬 플래그가 비활성화됩니다.
- 이제 LWRP에 해당 기능 집합에 적합한 커스텀 광원 탐색기가 포함됩니다.
- 이제 LWRP가 터레인의 디테일 메시를 위한 버텍스 릿 셰이더를 지원합니다.
- 이제 LWRP에 세 가지 인터랙티브 Autodesk 셰이더, 즉 Autodesk Interactive, Autodesk Interactive Masked, Autodesk Interactive Transparent가 포함됩니다.
- [셰이더 API] 이제
GetMainLight
및GetAdditionalLight
함수가 그림자 감쇠를 계산한 후LightData
구조체의 새로운shadowAttenuation
필드에 저장할 수 있습니다. - [셰이더 API] 차이 공간(world, view, hclip)에 버텍스 포지션을 포함하는
VertexPositionInputs
구조체를 추가했습니다. - [셰이더 API] 초기화된
VertexPositionInputs
를 가져오는GetVertexPositionInputs
함수를 추가했습니다. - [셰이더 API] for-loop 인덱스가 주어졌을 때 오브젝트당 인덱스를 반환하는
GetPerObjectLightIndex
함수를 추가했습니다. - [셰이더 API]
VertexPositionInputs
를 입력으로 가져오는GetShadowCoord
함수를 추가했습니다. - [ShaderLibrary] 픽셀당 노멀 계산을 위한 데이터가 포함된 VertexNormalInputs 구조체를 추가했습니다.
- [ShaderLibrary] 초기화된 VertexNormalInputs를 반환하는 GetVertexNormalInputs 함수를 추가했습니다.
변경된 사항
- 이제
RenderingData
구조체가 읽기 전용입니다. ScriptableRenderer
가 항상IRendererSetup::Setup
을 호출하기 전에 Clear를 수행합니다.ScriptableRenderPass::Execute
가 더 이상CullResults
를 입력으로 사용하지 않습니다. 대신에CullResults
를 참조하는RenderingData
를 입력으로 사용합니다.IRendererSetup_Setup
이 더 이상ScriptableRenderContext
및CullResults
를 입력으로 사용하지 않습니다.- 이제 셰이더 include가 지원이 중단된 셰이더 익스포트 경로 메커니즘이 아니라 패키지 관련 경로를 통해 참조됩니다. https://docs.unity3d.com/2018.3/Documentation/ScriptReference/ShaderIncludePathAttribute.html
- LWRP 에셋 설정을 좀 더 명확하게 재구성했습니다.
- 이제 버텍스 조명이 추가 광원에 버텍스당 또는 픽셀당 셰이드를 적용할지 여부를 제어합니다.
- 모든
Local Lights
이름을Additional Lights
로 변경했습니다. - SRP 셰이더 코드 규칙을 준수하도록 셰이더 이름을 변경했습니다.
- [셰이더 API]
SpotAttenuation
함수의 이름을AngleAttenuation
으로 변경했습니다. - [셰이더 API]
_SHADOWS_ENABLED
키워드의 이름을_MAIN_LIGHT_SHADOWS
로 변경했습니다. - [셰이더 API]
_SHADOWS_CASCADE
키워드의 이름을_MAIN_LIGHT_SHADOWS_CASCADE
로 변경했습니다. - [셰이더 API]
_VERTEX_LIGHTS
키워드의 이름을_ADDITIONAL_LIGHTS_VERTEX
로 변경했습니다. - [셰이더 API]
_LOCAL_SHADOWS_ENABLED
의 이름을_ADDITIONAL_LIGHT_SHADOWS
로 변경했습니다. - [셰이더 API]
GetLight
함수의 이름을GetAdditionalLight
로 변경했습니다. - [셰이더 API]
GetPixelLightCount
함수의 이름을GetAdditionalLightsCount
로 변경했습니다. - [셰이더 API]
LightData
에서attenuation
의 이름을distanceAttenuation
으로 변경했습니다. - [셰이더 API]
GetLocalLightShadowStrength
함수의 이름을GetAdditionalLightShadowStrength
로 변경했습니다. - [셰이더 API]
SampleScreenSpaceShadowMap
함수의 이름을SampleScreenSpaceShadowmap
으로 변경했습니다. - [셰이더 API]
MainLightRealtimeShadowAttenuation
함수의 이름을MainLightRealtimeShadow
로 변경했습니다. - [셰이더 API] 광원 상수의 이름을
Directional
및Local
에서MainLight
및AdditionalLights
로 변경했습니다. - [셰이더 API]
GetLocalLightShadowSamplingData
함수의 이름을GetAdditionalLightShadowSamplingData
로 변경했습니다. - [셰이더 API] OUTPUT_NORMAL 매크로를 제거했습니다.
- [셰이더 API]
LightData
에서lightIndex
및substractiveAttenuation
을 제거했습니다. - [셰이더 API]
ComputeShadowCoord
함수를 제거했습니다. 대신에GetShadowCoord
가 제공됩니다. - 이제 API 및 클래스의 모든
LightweightPipeline
레퍼런스가LightweightRenderPipeline
으로 명명됩니다. - 이제 파일이 더 이상
Lightweight
를 접두사로 사용하지 않습니다. - 물리 기반 셰이더의 이름을
Lit
,ParticlesLit
및TerrainLit
으로 변경했습니다. - 심플 조명 셰이더의 이름을
SimpleLit
및ParticlesSimpleLit
으로 변경했습니다. - [ShaderLibrary]
InputSurfacePBR.hlsl
,InputSurfaceSimple.hlsl
및InputSurfaceUnlit
의 이름을LitInput.hlsl
,SimpleLitInput.hlsl
및UnlitInput.hlsl
로 변경했습니다. 이 파일들은ShaderLibrary
폴더에서Shaders
폴더로 이동했습니다. - [ShaderLibrary]
LightweightPassLit.hlsl
및LightweightPassLitSimple.hlsl
의 이름을LitForwardPass.hlsl
및SimpleLitForwardPass.hlsl
로 변경했습니다. 이 파일들은ShaderLibrary
폴더에서Shaders
폴더로 이동했습니다. - [ShaderLibrary]
LightweightPassMetaPBR.hlsl
,LightweightPassMetaSimple.hlsl
및LighweightPassMetaUnlit
의 이름을LitMetaPass.hlsl
,SimpleLitMetaPass.hlsl
및UnlitMetaPass.hlsl
로 변경했습니다. 이 파일들은ShaderLibrary
폴더에서Shaders
폴더로 이동했습니다. - [ShaderLibrary]
LightweightPassShadow.hlsl
의 이름을ShadowCasterPass.hlsl
로 변경했습니다. 이 파일은Shaders
폴더로 이동했습니다. - [ShaderLibrary]
LightweightPassDepthOnly.hlsl
의 이름을DepthOnlyPass.hlsl
로 변경했습니다. 이 파일은Shaders
폴더로 이동했습니다. - [ShaderLibrary]
InputSurfaceTerrain.hlsl
의 이름을TerrainLitInput.hlsl
로 변경했습니다. 이 파일은Shaders
폴더로 이동했습니다. - [ShaderLibrary]
LightweightPassLitTerrain.hlsl
의 이름을TerrainLitPases.hlsl
로 변경했습니다. 이 파일들은Shaders
폴더로 이동했습니다. - [ShaderLibrary]
ParticlesPBR.hlsl
의 이름을ParticlesLitInput.hlsl
로 변경했습니다. 이 파일들은Shaders
폴더로 이동했습니다. - [ShaderLibrary]
InputSurfacePBR.hlsl
의 이름을LitInput.hlsl
로 변경했습니다. 이 파일은Shaders
폴더로 이동했습니다. - [ShaderLibrary]
InputSurfaceUnlit.hlsl
의 이름을UnlitInput.hlsl
로 변경했습니다. 이 파일은Shaders
폴더로 이동했습니다. - [ShaderLibrary]
InputBuiltin.hlsl
의 이름을UnityInput.hlsl
로 변경했습니다. - [ShaderLibrary]
LightweightPassMetaCommon.hlsl
의 이름을MetaInput.hlsl
로 변경했습니다. - [ShaderLibrary]
InputSurfaceCommon.hlsl
의 이름을SurfaceInput.hlsl
로 변경했습니다. - [ShaderLibrary] LightInput 구조체와 GetLightDirectionAndAttenuation을 제거했습니다. 대신에 GetAdditionalLight 함수를 사용하십시오.
- [ShaderLibrary] ApplyFog 및 ApplyFogColor 함수를 제거했습니다. 대신에 MixFog 및 MixFogColor를 사용하십시오.
- [ShaderLibrary] TangentWorldToNormal 함수를 제거했습니다. 대신에 TransformTangentToWorld를 사용하십시오.
- [ShaderLibrary] 뷰 방향 정규화 함수를 제거했습니다. 뷰 방향은 항상 픽셀별로 정규화되어야 정확한 결과를 얻을 수 있습니다.
- [ShaderLibrary] FragmentNormalWS 함수의 이름을 NormalizeNormalPerPixel로 변경했습니다.
수정된 사항
- 씬에 16개가 넘는 광원이 있는 경우에도 LWRP가 광원 렌더링 동안 무작위 글리치를 일으키지 않습니다.
- 이제 언릿 셰이더가 전역 조명을 올바르게 샘플링합니다.
- 이제 언릿 셰이더용 인스펙터 창이 올바르게 표시됩니다.
- 여러 개의 프레임당 메모리 할당을 제거하여 GC 압박을 제거했습니다.
- 이제 카메라 MSAA 프로퍼티에 대한 툴팁이 올바르게 나타납니다.
- 여러 C# 코드 분석 규칙 위반을 수정했습니다.
ScriptableRenderer.fullscreenMesh
를 호출할 때마다 전체 화면 메시가 더 이상 다시 생성되지 않습니다.
[3.3.0-preview] - 2018-01-01
추가된 사항
- 카메라에 연결할 수 있는 콜백을 LWRP에 추가했습니다(IBeforeCameraRender, IAfterDepthPrePass, IAfterOpaquePass, IAfterOpaquePostProcess, IAfterSkyboxPass, IAfterTransparentPass, IAfterRender).
###변경된 사항
- 렌더 텍스처의 LWRP 생성을 정리합니다. 화면으로 바로 이동하지 않는 경우 뎁스 타겟과 컬러 타겟을 둘 다 생성해야 합니다.
- UNITY_DECLARE_FRAMEBUFFER_INPUT 및 UNITY_READ_FRAMEBUFFER_INPUT 매크로를 추가했습니다. 이 매크로는 일시적인 첨부 파일을 읽는 데 필요합니다.
- 이제 UNITY_MATRIX_I_VP가 정의됩니다.
- LightweightForwardRenderer의 이름을 ScriptableRenderer로 변경했습니다.
- 모든 광원 상수를 _LightBuffer CBUFFER로 옮겼습니다. 이제 _PerCamera CBUFFER에 다른 모든 카메라당 상수가 포함됩니다.
- 실시간 감쇠를 역제곱으로 변경합니다.
- 베이크된 GI의 감쇠를 역제곱으로 변경하여 실시간 감쇠와 일치시킵니다.
- 광원 감쇠 셰이더 코드의 소규모 최적화
수정된 사항
- 경량 언릿 셰이더 UI가 누락된 Receive Shadows 프로퍼티에 대한 오류를 더 이상 표시하지 않습니다.
[3.2.0-preview] - 2018-01-01
변경된 사항
- 이제 Receive Shadows 프로퍼티가 렌더러가 아니라 머티리얼에 노출됩니다.
- 경량 에셋의 UI를 새로운 카테고리로 업데이트했습니다. 더욱 깔끔한 구조와 폴드아웃을 추가하여 관리 용이성을 높였습니다.
수정된 사항
- 이제 섀도우 캐스터가 캐스케이드별로 올바르게 컬링됩니다. (사례 1059142)
- 빌드 설정에서 Android 플랫폼을 선택해도 렌더링이 더 이상 멈추지 않습니다. (사례 1058812)
- 스크립터블 패스에 더 이상 머티리얼 레퍼런스가 누락되지 않습니다. 이제는 렌더러의 캐싱된 머티리얼에 액세스합니다. (사례 1061353)
- 파이프라인 에셋에서 Shadow Cascade 옵션을 변경할 때 _WorldToShadow 프로퍼티의 배열 크기를 초과했다는 경고를 더 이상 표시하지 않습니다.
- 터레인 셰이더 최적화
[3.1.0-preview] - 2018-01-01
수정된 사항
- 여러 스폿 광원이 일으키는 assert 오류를 수정했습니다.
- LWRP-DirectionalShadowConstantBuffer 파라미터 설정을 수정했습니다.
[3.0.0-preview] - 2018-01-01
추가된 사항
- 그림자, 뎁스 및 컬러 텍스처를 제어하기 위해 Camera Additional Data 컴포넌트를 추가했습니다.
- 이제 XR에서 파이프라인이 XRSEttings.eyeTextureResolutionScale을 renderScale로 사용합니다.
- 새로운 패스 아키텍처. 커스텀 패스를 작성한 후 LWRP에서 카메라별로 사용할 수 있습니다.
변경된 사항
- 인덱싱을 제거하고 직교 투사를 위한 분할을 방지함으로써 그림자 렌더링을 Mali Utgard 아키텍처에 맞게 최적화했습니다. 이를 통해 오버드로우 벤치마크에서 프레임 시간이 25% 감소했습니다.
- 캐스케이드 사용 시 7x7 텐트 필터링을 제거했습니다.
- 이제 스크린 공간 그림자 해결이 그림자 캐스케이드를 렌더링할 때에만 수행됩니다.
- 경량 파이프라인 에셋용 UI를 업데이트했습니다.
- 어셈블리 정의를 Unity 명명 규칙(Unity.*)과 일치하는 출력 어셈블리로 업데이트했습니다.
수정된 사항
- 포스트 프로세싱이 이제 PC의 VR에서 동작합니다.
- PS4 컴파일러 오류
- MSAA를 강제로 해제하여 VR 멀티뷰 렌더링을 수정했습니다. 현재 MSAA와 Texture2DArray를 손상하는 엔진 오류가 있습니다.
- UnityPerDraw CB 레이아웃을 수정했습니다.
- GLCore 컴퓨트 버퍼 컴파일러 오류
- 오클루전 강도가 LW 스탠다드 셰이더에 적용되지 않습니다.
- 프리패스의 뎁스를 이용할 수 있을 때에도 CopyDepth 패스가 호출됩니다.
- IntegrationTests의 GLES2 셰이더 컴파일러 오류
- RenderScale 및 ShadowDistance를 스크립트로 설정할 수 없습니다.
- VR 싱글 패스 인스턴싱 그림자
- Nintendo Switch의 컴파일 오류를 수정했습니다(제한된 XRSetting 지원).
[2.0.0-preview] - 2018-01-01
추가된 사항
- 명시적 렌더 타겟 로드/저장 작업을 추가하여 타일 사용률을 개선했습니다.
- 파이프라인 에셋에서 카메라 불투명 컬러를 요청할 수 있습니다. _CameraOpaqueTexture를 정의하여 셰이더에서 액세스가 가능합니다. 이는 GrabPass 대신 사용될 수 있습니다.
- 파이프라인 에셋에서 동적 배칭을 활성화할 수 있습니다.
- 이제 파이프라인이 사용되지 않거나 유효하지 않은 배리언트를 스트리핑하고 에셋에서 선택된 파이프라인 기능에 따라 전달됩니다. 이를 통해 타겟의 빌드 및 메모리 사용량을 절감할 수 있습니다.
- 셰이더 스트리핑 설정을 파이프라인 에셋에 추가했습니다.
변경된 사항
파이프라인
- 파이프라인 코드가 더욱 모듈화되고 확장성이 개선되었습니다. 이제 ForwardRenderer 클래스가 RenderingData가 있는 파이프라인에 의해 초기화되고, 패스를 대기열에 추가하고 실행하는 역할을 담당합니다. 향후에는 장착형 렌더러가 지원됩니다.
- 모바일에서 1개의 방향 광원과 최대 4개의 로컬 광원(점 또는 스폿)이 계산됩니다.
- 다른 플랫폼에서는 1개의 방향 광원과 최대 8개의 로컬 광원이 계산됩니다.
- 그림자를 드리우는 여러 개의 광원이 지원됩니다. 현재에는 1개의 방향 광원과 4개의 스폿 광원 그림자만 지원됩니다.
셰이딩 프레임워크
- 방향 광원은 항상 셰이더에서 메인 광원으로 간주됩니다. 분기와 인덱싱이 없는 빠른 셰이딩 경로를 포함합니다.
- 메인 광원 셰이딩 데이터가 있는 광원 구조체를 초기화하기 위해 GetMainLight()가 셰이더에 제공됩니다.
- 성능상의 이유로 방향 광원에 전용 섀도우 맵이 포함됩니다. 그림자 좌표는 항상 인터폴레이터에서 옵니다.
- 메인 광원 실시간 섀도우를 계산하기 위해 MainLigthRealtimeShadowAttenuation(float4 shadowCoord)이 제공됩니다.
- 광원 루프에서 스폿 광원과 점 광원에 항상 셰이드가 적용됩니다. 셰이드를 적용할 때 균일 분기 및 인덱싱이 발생합니다.
- 스폿 광원과 점 광원의 광원 구조체를 초기화하기 위해 GetLight(half index, float3 positionWS)가 셰이더에 제공됩니다.
- 스폿 광원 그림자가 단일 그림자 아틀라스에 베이크됩니다.
- 스폿 광원의 그림자 좌표가 항상 프래그먼트에서 계산됩니다.
- LocalLightShadowAttenuation(int lightIndex, float3 positionWS)을 사용하여 스폿 광원의 실시간 섀도우를 계산합니다.
수정된 사항
- Android의 VR에서 검은색으로 렌더링되는 문제
- 카메라 뷰포트 문제
- UWP 빌드 문제
- 파이프라인의 중첩된 카메라 렌더링 방지
[1.1.4-preview] - 2018-01-01
추가된 사항
- 이식된 터레인 및 풀 셰이더
- 머티리얼과 셰이더의 기본 알베도 및 스페큘러 컬러를 미드그레이로 업데이트했습니다.
- 셰이더에 _ScaledScreenParams를 노출했습니다. _ScreenParams와 동일하게 동작하지만, 파이프라인 RenderScale을 고려합니다.
- 모바일의 성능 개선
수정된 사항
- 모바일에서 모든 상수가 highp로 변하는 SRP 셰이더 라이브러리 문제
- LWRP를 UWP로 빌드하지 못하게 만드는 셰이더 오류
- 대소문자를 구분하는 include로 인한 Linux의 셰이더 컴파일 오류
- 렌더링 텍스처 반전 문제
- 스탠다드 파티클 셰이더 컷아웃 및 블렌딩 모드
- 프로젝터 사용 시 발생하는 크래시
- 그림자 강도를 모바일에서 계산하지 못하는 문제
- 에디터에 SoftLocks를 유발하는 머티리얼 업그레이더 문제
- 언릿 셰이더의 GI
- 언릿 머티리얼 셰이더 GUI의 Null 레퍼런스
[1.1.2-preview] - 2018-01-01
변경된 사항
- 모바일의 성능 개선
수정된 사항
- GLES 2.0 그림자
- 그림자 렌더링의 CPU 성능 회귀
- 알파 클립 그림자 문제
- 일치하지 않는 커맨드 버퍼 오류 메시지
- LWRP에서 리소스 누락으로 인해 발생하는 Null 레퍼런스 예외
- 카메라 지우기 플래그가 모바일에서 무시되는 문제
[1.1.1-preview] - 2018-01-01
추가된 사항
- Cascade Split 선택 UI를 추가했습니다.
- SHADER_HINT_NICE_QUALITY를 추가했습니다. 셰이더 경량 파이프라인에서 사용자가 이를 1로 설정하면 모바일 플랫폼에서 품질을 우선시합니다.
변경된 사항
- 섀도우 맵이 32비트 대신 16비트 포맷을 사용합니다.
- 약간의 셰이더 성능 향상
수정된 사항
- 감산 모드
- 그림자 거리가 더 이상 음수값을 허용하지 않습니다.
[0.1.24] - 2018-01-01
추가된 사항
- 경량 셰이더 라이브러리에 광원 추상화 레이어를 추가했습니다.
- 파이프라인 에셋에 HDR 전역 설정을 추가했습니다.
- 파이프라인 에셋에 소프트 파티클 설정을 추가했습니다.
- 파티클 셰이더를 SRP 라이브러리로 이식했습니다.
변경된 사항
- 이제 HDR RT가 티어 설정에서 지정된 포맷을 사용합니다.
- 경량 스탠다드 셰이더와 셰이더 라이브러리를 리팩터링하여 사용성을 개선했습니다.
- 모바일에서 타일 로드 작업을 최적화했습니다.
- GC 압박을 줄였습니다.
- 안개 및 라이트맵 키워드를 향상하여 셰이더 배리언트 수를 최대 56% 줄였습니다.
- 필요한 경우 real/half를 사용하도록 LW 셰이더 라이브러리 파일을 전환했습니다.
수정된 사항
- OpenGL의 실시간 섀도우
- GLES 2.0 셰이더 컴파일러 오류
- BeforeTransparent 커스텀 특수 효과를 활성화하면 발생하는 정렬 문제
- VR 싱글 패스 렌더링
- 백버퍼로 렌더링하는 경우의 뷰포트 렌더링 문제
- MSAA로 렌더링이 꺼진 경우의 뷰포트 렌더링 문제
- 다중 카메라 렌더링
[0.1.23] - 2018-01-01
추가된 사항
- UI 개선(LW에서 지원하지 않는 렌더링 기능을 숨김 처리)
변경된 사항
- 셰이더를 새로운 SRP 셰이더 라이브러리로 이식했습니다.
- 상수 버퍼가 새 배처를 사용하도록 리팩터링했습니다.
- 그림자 필터링 및 바이어스를 향상했습니다.
- 이제 파이프라인이 감마 색 공간에서 감마의 컬러 상수를 업데이트합니다.
- 그림자의 ALU 및 CB 사용을 최적화했습니다.
- 그림자 및 광원 분류 키워드를 향상하여 셰이더 배리언트 수를 최대 33% 줄였습니다.
- 파이프라인 에셋에서 기본 리소스를 제거했습니다.
수정된 사항
- 패키지 관리자의 SRP를 사용할 때 셰이더 include 경로를 수정했습니다.
- Unity 빌트인 파이프라인에 맞도록 스폿 광원 감쇠를 수정했습니다.
- 뎁스 프리패스 지우기 문제를 수정했습니다.
[0.1.12] - 2018-01-01
추가된 사항
- 이제 스탠다드 언릿 셰이더에 GI 샘플링 옵션이 포함됩니다.
- 스톡 Unity 모바일 및 레거시 셰이더를 위한 머티리얼 업그레이더를 추가했습니다.
- UI 향상
변경된 사항
- 실시간 섀도우 필터링을 향상했습니다.
수정된 사항
- 빌드에 참조되지 않은 셰이더가 포함되는 문제를 수정했습니다.
- 파티클 시스템 컴포넌트 광원이 유발하는 null 레퍼런스를 수정했습니다.