{!See https://docs.google.com/document/d/1takg_GmIBBKKTj-GHZCwzxohpQz7Bhekivkk72kYMtE/edit for reference implementation of OneTrust, dataLayer and GTM} {!OneTrust Cookies Consent} {!OneTrust Cookies Consent end} {!dataLayer initialization push} {!dataLayer initialization push end} {!Google Tag Manager} {!Google Tag Manager end} 8.x에서 10.x로 HDRP 업그레이드 | High Definition RP | 10.5.0
docs.unity3d.com
"{0}"의 검색 결과

    목차 표시/숨기기

    8.x에서 10.x로 HDRP 업그레이드

    고해상도 렌더 파이프라인(HDRP)에서 몇몇 기능은 주요 버전에서 다르게 작동합니다. 이 문서는 8.x에서 10.x로 HDRP를 업그레이드하는 데 도움이 됩니다. 패키지 버전 9.x-프리뷰는 현재 퍼블리시되어 있습니다. 이 버전은 Unity 2020.1과 호환 가능하며 10.x의 일부 기능을 포함하고 있습니다. 하지만 이 패키지는 피드백 목적용이며 향후 유지되지 않을 예정입니다.

    상수 버퍼 API

    10.x에서 HDRP는 새로운 상수 버퍼 API를 사용하여 프레임 동안 유니폼을 설정할 수 있으며 여러 전송 대신 단일 전송으로 셰이더에 보냅니다. 이렇게 하기 위해 개별적으로 선언된 전역 변수가 현재 모두 ShaderVariablesGlobal 구조 내에 있습니다. 그 결과 CommandBuffer.SetVectorXXX() 또는 관련된 함수를 사용하여 개별적으로 전역 값을 설정하는 것이 더 이상 불가능합니다. 대신 전역 변수를 변경하려면 전체에 구조체를 업데이트해야 합니다.

    현재 ShaderVariablesGlobal 구조체의 유일하게 공개적으로 액세스할 수 있는 변수는 카메라 관련이며 다음의 함수를 통해 커스텀 패스 내에서만 사용할 수 있습니다.

    • RenderFromCamera()
    • RenderDepthFromCamera()
    • RenderNormalFromCamera()
    • RenderTangentFromCamera()

    프레임 설정

    10.x부터 새로운 HDRP 에셋을 만드는 경우 MSAA Within Forward 프레임 설정은 기본적으로 활성화되어 있습니다.

    메뉴

    10.x부터 Assets > Create > Shader의 다양한 HDRP 메뉴 항목은 일관성을 위해 HD Render Pipeline으로 이름을 변경하였습니다.

    데칼

    10.x부터 데칼에는 더 이상 전체 뎁스 프리패스가 필요하지 않습니다. HDRP는 다른 옵션을 강제로 적용하지 않는 한 뎁스 프리패스 동안 활성화되어 있는 Receive Decals만 사용하여 머티리얼을 렌더링합니다.

    10.x부터 메시 렌더러와 터레인에서 Rendering Layer Mask 프로퍼티를 사용하는 데칼 레이어 시스템을 사용할 수 있습니다. 2020.2 이전의 이 프로퍼티에 대한 기본값에는 데칼 레이어 플래그가 포함되지 않습니다. 즉 이 기능을 활성화하면 올바르게 설정할 때까지 메시가 데칼을 수신하지 않습니다. 스크립트 Edit > Render Pipeline/HD Render Pipeline > Upgrade from Previous Version > Add Decal Layer Default to Loaded Mesh Renderers and Terrains는 이미 생성된 메시와 또한 선택에만 적용하는 버전을 전환하기 위해 제공됩니다. 새롭게 생성된 메시 렌더러나 터레인에는 Decal Layer Default가 기본적으로 활성화됩니다.

    조명

    10.x부터는 에디터 메뉴에서 스폿 광원을 생성할 때 이제 HDRP가 기본적으로 Reflector 프로퍼티를 활성화합니다. C# 스크립트를 통해 스폿 광원을 생성하는 경우 이 프로퍼티는 비활성화됩니다.

    10.x부터 HDRP는 호환되지 않는 조명 큐브맵에 대한 백플레이트 렌더링을 비활성화합니다.

    10.x부터 스크린 공간 앰비언트 오클루전과 스크린 공간 전역 조명, 스크린 공간 반사, 레이트레이싱 효과, 볼류메트릭 재투영은 올바르게 작동하지 않기 때문에 반사 프로브와 상호작용하지 않습니다.

    10.x부터 Lighting 창에서 정적 조명 하늘로 사용되는 하늘 오버라이드를 비활성화하는 경우 하늘은 더 이상 베이크된 조명에 영향을 미치지 않습니다. 이전에는 비활성화되어 있을 때에도 하늘이 베이크된 조명에 영향을 미쳤습니다.

    10.x부터 HDRP은 점 광원 쿠키에 대한 큐브맵 배열이 있으며 현재 일반적인 2D 쿠키 아틀라스로 8면체 투영을 사용합니다. 이는 광원 쿠키와 IES에 대해 단일 경로를 허용하지만 저해상도 큐브 쿠키를 사용할 때 시각적 결함이 발생할 수 있습니다. 예를 들어 픽셀 아트 데이터를 투영합니다.

    큐브맵 쿠키 아틀라스가 더 이상 존재하지 않기 때문에 HDRP는 쿠키의 현재 2D 아틀라스에 공간이 충분하지 않을 수 있습니다. 이러한 경우 HDRP는 콘솔 창에 오류를 표시합니다. 이 오류를 수정하려면 2D 쿠키 아틀라스 크기를 늘립니다. 이렇게 하려면 다음을 수행합니다. HDRP 에셋을 선택합니다. 인스펙터에서 Lighting > Cookies로 이동합니다. 2D Atlas Size 드롭다운에서 더 큰 쿠키 해상도를 선택합니다.

    10.x부터 HDRP 에셋에 있는 컬러 버퍼의 텍스처 포맷은 평면 반사 프로브에도 적용됩니다. 이전에 평면 반사 프로브는 항상 float16 렌더 타겟을 사용했습니다.

    10.x부터 광원 레이어 프로퍼티는 HDRP 설정에서 HDRP 기본 설정 패널로 이동했습니다.

    10.x부터 물리 기반 하늘에서 태양면 강도는 해당 크기에 비례합니다. 이전에 태양면은 태양면 크기에 의해 잘못 구동되지 않았습니다.

    10.x부터 이전에 데칼이나 릿, LayeredLit, 언릿 머티리얼에서 UseEmissiveIntensity 프로퍼티를 사용한 경우 EmissiveColorLDR 프로퍼티가 sRGB 색 공간에 있어야 합니다. 이전에는 HDRP가 리니어 RGB 색 공간에 있는 것처럼 EmissiveColor를 처리했으므로 버전 간에 시각 요소가 일치하지 않을 수 있습니다. 이런 불일치를 수정하기 위해 HDRP에는 전환을 자동으로 처리하는 마이그레이션 스크립트가 포함되어 있습니다.

    이전 9.x.x-프리뷰 패키지에서 마이그레이션한 프로젝트의 경우입니다. 현재 노출 모드가 노출 볼륨의 다른 노출 모드로 변경될 수 있는 노출의 열거형 순서에 변경 사항이 있습니다. 이는 올바른 노출 모드를 다시 선택하여 수동으로 수정해야 합니다.

    10.x부터 디버그 렌즈 감쇠가 제거되었지만 렌즈 감쇠는 현재 완벽한 렌즈 또는 완벽하지 않은 렌즈를 모델링함으로써 HDRP 기본 설정 패널에 지정될 수 있습니다.

    10.x부터 스크린 공간 반사 효과는 항상 Before Refraction 투명 패스 후에 HDRP가 생성하는 컬러 피라미드를 사용합니다. 즉 컬러 버퍼에는 BeforeRefraction 렌더링 패스를 사용하는 투명 게임 오브젝트만 포함됩니다. 이전에 콘텐츠는 왜곡 효과가 활성화되었는지 여부에 따라 달랐습니다.

    볼류메트릭 안개

    프로젝트를 10.2로 업그레이드할 때 씬의 볼류메트릭 안개 품질이 저하될 수 있습니다. 이는 새로운 볼류메트릭 안개 제어 모드 때문입니다. 볼류메트릭 안개를 8.x에서처럼 동일하게 보이게 하려면 다음 단계를 따르십시오.

    1. Fog 볼륨 오버라이드에서 Fog Control Mode를 Manual로 설정합니다.
    2. 이 모드가 노출하는 프로퍼티의 경우 8.x에 있었던 값과 동일한 값을 입력합니다.

    또는 Fog Control Mode를 Balance로 설정하고 새로운 성능 지향 프로퍼티를 사용하여 볼류메트릭 안개 품질을 정의합니다.

    그림자

    10.x부터 더 이상 HDRP Config 패키지를 변경하여 디퍼드 렌더링에 대해 그림자 필터링 품질을 설정할 필요가 없습니다. 대신 현재는 HDRP 에셋에서 바로 필터링 품질을 변경할 수 있습니다. 이전에 HDRP 에셋에서 그림자 필터링 품질을 Medium으로 설정하지 않았다면 자동 프로젝트 업그레이드 프로세스가 그림자 품질을 변경합니다. 즉 직접 원래 값으로 되돌려야 할 수 있습니다.

    HDRP는 현재 별도의 아틀라스에 OnEnable 그림자와 OnDemand 그림자를 저장하며 이를 처리하는 데 더 많은 API를 사용할 수 있습니다. 자세한 내용은 HDRP의 그림자를 참조하십시오.

    셰이더 함수 SampleShadow_PCSS는 이제 x에 그림자 아틀라스 해상도를 포함하고 y에 아틀라스 해상도의 역을 포함하는 추가 float2 파라미터를 전달해야 합니다.

    광선 바이어스와 두께 파라미터는 컨택트 그림자에 추가되었습니다. 이로 인해 기본 파라미터를 가진 컨택트 그림자의 시각적 효과에 사소한 변경 사항이 발생할 수 있습니다. 프로젝트의 필요에 따라 값을 조정하는 것이 좋습니다.

    셰이더 config 파일

    10.x부터 섀도우 맵의 변경으로 인해 HDRP는 HDShadowFilteringQuality 열거형에서 HDShadowManager.cs로 이동했습니다. HDRP는 또한 ShaderConfig.s_DeferredShadowFiltering과 ShaderOptions.DeferredShadowFiltering이 더 이상 효과가 없으므로 소스 코드에서 제거했습니다.

    10.x부터 ColoredShadow라는 새로운 옵션을 사용할 수 있습니다. 이를 사용하여 그림자가 색채인지 단색인지를 제어할 수 있습니다. ColoredShadow는 기본적으로 활성화되어 있으며 현재 레이트레이싱 기반 섀도우에서만 작동합니다. 컬러가 지정된 그림자는 일반 그림자보다 리소스를 더 많이 소모합니다.

    10.x부터 레이트레이싱 옵션과 생성된 동등한 셰이더 매크로 SHADEROPTIONS_RAYTRACING은 제거되었습니다. 레이트레이싱 기반 효과를 HDRP에서 사용하기 위해 더 이상 셰이더 config 파일을 편집하지 않아도 됩니다.

    셰이더 코드

    10.x부터 HDRP는 새로운 구조체를 사용하여 광원 루프에서 정보를 출력합니다. 이는 현재 float3 diffuseLighting과 float3 specularLighting 페어 대신 커스텀 광원 루프 구조체를 사용합니다. 이렇게 하면 HDRP가 API를 중단하지 않고 향후 광원 루프에서 더 많은 정보를 익스포트할 수 있습니다.

    다음 함수는 현재 페어 대신 이 구조체를 전달합니다.

    • LightLoop(), 래스터화 및 레이트레이싱용
    • PostEvaluateBSDF()
    • ApplyDebug()
    • PostEvaluateBSDFDebugDisplay()

    기존의 셰이더를 업그레이드하려면 위의 모든 함수에 대해 다음을 수행하십시오.

    1. 광원 루프 호출 전에 선언 float3 diffuseLighting; float3 specularLighting;을 LightLoopOutput lightLoopOutput;으로 교체합니다.
    2. 인자 페어 out float3 diffuseLighting, out float3 specularLighting을 out LightLoopOutput lightLoopOutput으로 교체합니다.

    다양한 머티리얼에서 함수 ModifyBakedDiffuseLighting()의 프로토타입은 void ModifyBakedDiffuseLighting(float3 V, PositionInputs posInput, SurfaceData surfaceData, inout BuiltinData builtinData) 에서 void ModifyBakedDiffuseLighting(float3 V, PositionInputs posInput, PreLightData preLightData, BSDFData bsdfData, inout BuiltinData builtinData)로 변경되었습니다.

    이전의 프로토타입 정의를 사용하고 올바른 인자로 새로운 함수 프로토타입을 호출하는 ModifyBakedDiffuseLighting()에 대한 새로운 정의도 있습니다. 이에 대한 목적은 추후 조명 기능을 준비하도록 변경합니다. 커스텀 셰이더를 업데이트하려면 프로토타입 업데이트 외에도 반드시 다음 줄을 제거해야 합니다.

    BSDFData bsdfData = ConvertSurfaceDataToBSDFData(posInput.positionSS, surfaceData);
    
    PreLightData preLightData = GetPreLightData(V, posInput, bsdfData);
    

    10.x부터 HDRP에는 새로운 사각형 영역 그림자 평가 함수인 EvaluateShadow_RectArea가 포함됩니다. GetAreaLightAttenuation() 함수는 GetRectAreaShadowAttenuation()으로 이름을 다시 지정했습니다. 또한 타입 DirectionalShadowType은 SHADOW_TYPE으로 이름을 변경했습니다.

    10.x부터 매크로 ENABLE_RAYTRACING, SHADEROPTIONS_RAYTRACING, RAYTRACING_ENABLED가 제거되었습니다. SCREEN_SPACE_SHADOWS_OFF SCREEN_SPACE_SHADOWS_ON이라는 새로운 다중 컴파일이 포워드 패스에 도입됩니다. 이렇게 하면 셰이더 config 파일 에디션이 없이도 레이트레이싱 효과를 활성화할 수 있습니다.

    10.x부터 TransparentDepthPrepass와 TransparentDepthPostpass 식별을 위해 SHADERPASS는 SHADERPASS_TRANSPARENT_DEPTH_PREPASS와 SHADERPASS_TRANSPARENT_DEPTH_POSTPASS를 각각 사용하고 있습니다. 이전에는 SHADERPASS_DEPTH_ONLY였습니다. CUTOFF_TRANSPARENT_DEPTH_PREPASS와 CUTOFF_TRANSPARENT_DEPTH_POSTPASS 정의는 현재 새로운 경로 매크로가 사용될 수 있기 때문에 제거되었습니다.

    10.x는 뎁스 프리패스와 모션 벡터에 새로운 다중 컴파일을 도입하여 데칼 레이어 기능에 지원을 허용합니다. 이러한 패스는 현재 #pragma multi_compile _ WRITE_DECAL_BUFFER를 추가해야 합니다.

    10.x부터 Decal.shader에 대한 셰이더 코드가 변경되었습니다. 이전에는 코드는 대략 16개의 패스를 사용하여 여러 데칼 속성의 렌더링을 처리했습니다. 현재 코드는 네 개의 패스만 사용합니다(예: DBufferProjector, DecalProjectorForwardEmissive, DBufferMesh, DecalMeshForwardEmissive). 일부 패스는 이름도 다릅니다. DBufferProjector와 DBufferMesh는 현재 다중 컴파일 DECALS_3RT DECALS_4RT를 사용하여 여러 배리언트를 처리하며 셰이더 스트리퍼도 업데이트되었습니다. 다양한 셰이더 데칼 프로퍼티는 AffectXXX 프로퍼티(_AlbedoMode, _MaskBlendMode, _MaskmapMetal, _MaskmapAO, _MaskmapSmoothness, _Emissive는 _AffectAlbedo, _AffectNormal, _AffectAO, _AffectMetal, _AffectSmoothness, _AffectEmission으로 변경되었으며 - 키워드 _ALBEDOCONTRIBUTION은 현재 _MATERIAL_AFFECTS_ALBEDO와 두 개의 새로운 키워드인 _MATERIAL_AFFECTS_NORMAL과 _MATERIAL_AFFECTS_MASKMAP이 추가됨)의 새로운 세트에 일치하도록 이름이 정정/변경되었습니다. 이러한 새로운 프로퍼티는 현재 머티리얼에 노출된 데칼 셰이더 그래프의 프로퍼티와 일치합니다. 머티리얼 업그레이드 프로세스는 모든 데칼 머티리얼을 자동으로 업그레이드합니다. 하지만 프로젝트에는 데칼 머티리얼을 생성하거나 조작하는 C# 스크립트가 포함되는 경우 새로운 프로퍼티와 키워드를 사용하기 위해 스크립트를 업데이트해야 합니다. 따라서 마이그레이션은 절차적으로 생성된 데칼 머티리얼에서 작동하지 않습니다.

    10.x부터 HDRP는 머티리얼 내의 데칼 애플리케이션에 대한 셰이더 코드를 변경했습니다. 이전 버전에서 HDRP는 HTileMask에 의존하는 "HTile"이라는 최적화를 수행했습니다. 추가 조사 후 이 최적화는 더 이상 소용이 없는 것으로 나타나 HDRP는 이와 관련된 모든 코드를 제거했습니다. 여기에는 DecalSurfaceData의 HTileMask 멤버와 DBufferHTileBit 구조체와 관련 플래그가 포함됩니다. 커스텀 셰이더를 업데이트하려면 DBUFFERHTILEBIT_DIFFUSE, DBUFFERHTILEBIT_NORMAL 및 DBUFFERHTILEBIT_MASK 정의가 더 이상 존재하지 않기 때문에 제거하고 대신 개별 속성의 가중치가 중립이 아닌지 확인합니다. 예를 들어 ApplyDecalToSurfaceData() 함수에서 다음 줄을 교체합니다.

        if (decalSurfaceData.HTileMask & DBUFFERHTILEBIT_DIFFUSE)
            {
              (...)
            }
    
            if (decalSurfaceData.HTileMask & DBUFFERHTILEBIT_NORMAL)
            {
              (...)
            }
    
            if (decalSurfaceData.HTileMask & DBUFFERHTILEBIT_MASK)
            {
                (...) ComputeFresnel0((decalSurfaceData.HTileMask & DBUFFERHTILEBIT_DIFFUSE) ? (...));
            }
    

    각각 다음 줄을 사용합니다.

        if (decalSurfaceData.baseColor.w  < 1.0)
            {
              (...)
            }
    
            if (decalSurfaceData.normalWS.w < 1.0)
            {
              (...)
            }
    
            if (decalSurfaceData.MAOSBlend.x < 1.0 || decalSurfaceData.MAOSBlend.y < 1.0 || decalSurfaceData.mask.w)
            {
                (...) ComputeFresnel0((decalSurfaceData.baseColor.w  < 1.0) ? (...));
            }
    
    

    머티리얼에 데칼을 적용하는 가장 좋은 방법에 대한 예는 LitDecalData.hlsl 파일의 ApplyDecalToSurfaceData() 함수를 참조하십시오.

    10.x부터 셰이더 코드의 데칼 함수 프로토타입이 변경되었습니다. 새로운 버텍스 노멀 파라미터가 각도 기반 페이딩을 처리할 수 있도록 추가되었습니다. 함수 GetDecalSurfaceData()에 대한 프로토타입은 DecalSurfaceData GetDecalSurfaceData(PositionInputs posInput, inout float alpha) 에서 DecalSurfaceData GetDecalSurfaceData(PositionInputs posInput, float3 vtxNormal, inout float alpha) 로 변경되었습니다.

    다양한 머티리얼의 함수 ApplyDecalToSurfaceData()에 대한 프로토타입은 void ApplyDecalToSurfaceData(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData) 에서 void ApplyDecalToSurfaceData(DecalSurfaceData decalSurfaceData, float3 vtxNormal, inout SurfaceData surfaceData) 로 변경되었습니다.

    10.x부터 HDRP는 FullScreenDebug라는 이름의 새로운 전체 화면 디버그 패스를 추가합니다. 이 패스를 포함하지 않는 셰이더를 기반으로 한 머티리얼을 사용하는 모든 오브젝트는 전체 화면 디버그 패스 동안 렌더링되지 않습니다.

    Unity 2020.2부터 셰이더 그래프의 레이트레이싱 키워드는 Raytracing Quality로 이름이 정정되었으며 RAYTRACING_SHADER_GRAPH_LOW와 RAYTRACING_SHADER_GRAPH_HIGH 정의는 현재 각각 RAYTRACING_SHADER_GRAPH_DEFAULT와 RAYTRACING_SHADER_GRAPH_RAYTRACED입니다. 커스텀 셰이더 코드에서 이러한 정의를 사용하지 않는 경우 프로젝트를 로드할 때 셰이더 그래프가 올바른 정의가 있는 셰이더를 자동으로 다시 생성하기 때문에 별도의 작업을 할 필요가 없습니다.

    Unity 2020.2부터 파라미터인 positionNDC는 함수 SampleEnv에 추가되었습니다. 이는 float4 SampleEnv(LightLoopContext lightLoopContext, int index, float3 texCoord, float lod, float rangeCompressionFactorCompensation, int sliceIdx = 0) 에서 float4 SampleEnv(LightLoopContext lightLoopContext, int index, float3 texCoord, float lod, float rangeCompressionFactorCompensation, float2 positionNDC, int sliceIdx = 0) 로 변경된 프로토타입입니다. 예를 들어 릿 셰이더의 호출은 float4 preLD = SampleEnv(lightLoopContext, lightData.envIndex, R, PerceptualRoughnessToMipmapLevel(preLightData.iblPerceptualRoughness), lightData.rangeCompressionFactorCompensation, posInput.positionNDC); 로 업데이트되었습니다.

    10.x부터 셰이더 키워드인 _BLENDMODE_ALPHA _BLENDMODE_ADD와 _BLENDMODE_PRE_MULTIPLY가 제거되었습니다. 따라서 해당 키워드는 더 이상 사용되지 않으며 프로퍼티 _Blendmode가 대신 사용됩니다. 이와 유사하게 셰이더 키워드인 _BLENDMODE_PRESERVE_SPECULAR_LIGHTING가 제거되었으며 해당 위치에 프로퍼티인 _EnableBlendModePreserveSpecularLighting가 셰이더 코드에서 사용됩니다.

    예를 들어 Material.hlsl에서 아래의 줄이

        #if defined(_BLENDMODE_ADD) || defined(_BLENDMODE_ALPHA)
                return float4(diffuseLighting * opacity + specularLighting, opacity);
    

    아래의 줄로 교체되었습니다.

        if (_BlendMode == BLENDMODE_ALPHA || _BlendMode == BLENDMODE_ADDITIVE)
                return float4(diffuseLighting * opacity + specularLighting * (
        # ifdef SUPPORT_BLENDMODE_PRESERVE_SPECULAR_LIGHTING
                _EnableBlendModePreserveSpecularLighting ? 1.0f :
        # endif
                    opacity), opacity);
    
    

    이렇게 하여 셰이더 배리언트의 수를 줄였습니다. 커스텀 셰이더의 경우 프로퍼티인 _Blendmode를 선언한 후 Material.hlsl를 포함하여 이동해야 할 수 있습니다. 또한 커스텀 셰이더가 스페큘러 옵션을 보존하는 블렌딩 모드를 지원하고자 하는 경우 _EnableBlendModePreserveSpecularLighting 프로퍼티가 정의되어 있고 컴파일 시간 상수인 SUPPORT_BLENDMODE_PRESERVE_SPECULAR_LIGHTING도 정의되어 있는지 확인해야 합니다.

    10.x부터 HDRP에 평면 반사 프로브에 대한 새로운 최적화가 포함됩니다. 현재 셰이더가 프로브의 환경 맵을 샘플링할 때 LightData.roughReflections 파라미터가 활성화되어 있는 경우(값이 1.0) 밉 수준 0에서 샘플링합니다. 이 동작을 고려하려면 반드시 커스텀 셰이더를 업데이트해야 합니다. 예를 들어 릿 셰이더의 호출은 float4 preLD = SampleEnv(lightLoopContext, lightData.envIndex, R, PerceptualRoughnessToMipmapLevel(preLightData.iblPerceptualRoughness) * lightData.roughReflections, lightData.rangeCompressionFactorCompensation, posInput.positionNDC); 로 업데이트되었습니다. 또한 반사 프로브에 거리 기반 거칠기를 위조하는 새로운 기능이 추가되었으며 새로운 헬퍼 함수가 도입되었습니다. 이전 코드는 최종적으로 릿 셰이더에서 float4 preLD = SampleEnvWithDistanceBaseRoughness(lightLoopContext, posInput, lightData, R, preLightData.iblPerceptualRoughness, intersectionDistance); 로 다시 작성됩니다. intersectionDistance는 EvaluateLight_EnvIntersection() 함수의 반환 파라미터입니다.

    10.x부터 HDRP는 마스크맵을 사용할 때 금속성 프로퍼티에 대해 범위 재매핑을 사용합니다. Lit, LitTessellation, LayeredLit, LayeredLitTesselation 셰이더에 두 개의 새로운 프로퍼티(_MetallicRemapMin과 _MetallicRemapMax)가 추가되었습니다. 데칼 셰이더에는 프로퍼티인 _MetallicRemapMin이 추가되었으며 _MetallicScale이 _MetallicRemapMax로 이름이 정정되었습니다.

    10.x부터 새로운 패스인 ScenePickingPass는 에디터가 테셀레이션된 오브젝트와 후면 오브젝트를 사용하여 선별을 올바르게 처리할 수 있도록 모든 셰이더와 마스터 노드에 추가되었습니다.

    10.x부터 셰이더 코드의 데칼 함수가 추가되었습니다. 양면 머티리얼에 대해 노멀 반전을 처리하려면 GetDecalSurfaceData()에 대한 호출을 DecalSurfaceData GetDecalSurfaceData(PositionInputs posInput, float3 vtxNormal, inout float alpha) 함수에서 DecalSurfaceData GetDecalSurfaceData(PositionInputs posInput, FragInputs input, inout float alpha)로 업데이트해야 합니다.

    레이트레이싱

    Unity 2020.2부터 셰이더 그래프의 레이트레이싱 노드는 이제 레이트레이싱 기반 경로(이전의 낮은 경로)를 패스트레이싱을 제외한 모든 레이트레이싱 기반 효과에 적용합니다.

    커스텀 패스 API

    실행 함수의 서명이 파라미터를 간소화하기 위해 변경되어 현재는 다음과 같이 입력으로 CustomPassContext만을 사용합니다. void Execute(CustomPassContext ctx)

    CustomPassContext에는 이전의 Execute 함수에 대한 모든 파라미터가 포함될 뿐 아니라 사용 가능한 모든 렌더 텍스처와 커스텀 패스 인스턴스에 유일한 MaterialPropertyBlock도 포함됩니다.

    이 컨텍스트를 사용하여 커스텀 패스 개발 속도를 높이는 함수가 포함되어 있는 새로운 CustomPassUtils 클래스를 사용할 수 있습니다.

    커스텀 패스 유틸리티에 대한 자세한 내용은 커스텀 패스 매뉴얼 또는 CustomPassUtils API 문서를 참조하십시오.

    커스텀 패스를 업그레이드하려면 원래의 실행 함수 프로토타입을 새로운 프로토타입으로 교체합니다. 교체하려면 아래의 줄을

    protected override void Execute(ScriptableRenderContext renderContext, CommandBuffer cmd, HDCamera hdCamera, CullingResults cullingResult) { ... }
    

    다음으로 교체합니다.

    protected override void Execute(CustomPassContext ctx) { ... }
    

    밀도 볼륨 마스크 텍스처

    이전에는 2D 플립북 텍스처를 밀도 마스크 텍스처가 요구하는 3D 포맷으로 전환하려면 Window > Rendering 메뉴에 있는 Density Volume Texture Tool 을 사용해야 했습니다. Unity 2020.2부터는 이 전환을 직접 Texture Importer 를 통해 할 수 있습니다. 임포터를 사용하여 플립북 텍스처를 전환하는 방법에 대한 자세한 내용은 밀도 볼륨 문서를 참조하십시오.

    확산 프로파일

    확산 프로파일 리스트는 HDRP 에셋 인스펙터 UI에서 Default HDRP Settings(프로젝트 설정 창 내)로 이동되었습니다.

    이런 변경으로 인해 여러 HDRP 에셋 설정이 Quality Settings인 경우 영향을 받을 수 있습니다. 이런 경우 Quality Settings에 있는 하나 이상의 HDRP 에셋에 Graphics Settings에 할당된 확산 프로파일과 다른 확산 프로파일이 있는 경우 HDRP 에셋의 리스트는 손실됩니다. 현재 관련 있는 유일한 리스트는 Default HDRP Settings에 있는 리스트입니다.

    업그레이드하기 전에 프로젝트에 사용된 모든 확산 프로파일을 Graphics Settings에 할당된 HDRP 에셋에 넣는 것이 좋습니다. 이 작업은 프로젝트의 손실된 확산 프로파일에 관해 업그레이드 후에 발생할 수 있는 문제를 방지합니다.

    포스트 프로세싱

    이전에는 Motion Blur 볼륨 컴포넌트에서 카메라 회전 고정이 항상 활성화되어 기본적으로 카메라 회전에서 파생된 모션 벡터의 일부가 다르게 고정되었습니다. 이는 카메라에 관한 모션 벡터의 변경 사항으로 인해 혼란을 일으킬 수 있습니다.

    2020.2부터 카메라 회전 고정 옵션은 기본값이 아니며 Camera Clamp Mode 설정 아래에서 옵션으로 선택해야 합니다. 또한 모션 블러에 대한 카메라 영향의 추가 고정 제어는 동일한 설정에서 사용할 수 있습니다.

    문서 개요
    맨 위로
    Copyright © 2023 Unity Technologies — 상표 및 이용약관
    • 법률정보
    • 개인정보처리방침
    • 쿠키
    • 내 개인정보 판매 금지
    • Your Privacy Choices (Cookie Settings)