PhotoScan용 마네킹 조명

8142 단어 Unity
유니티에서는 포토스캔의 작업실에서 촬영해 제작한 마네킹에 대해 조명이 필요한 사건이 있다.당시 발생한 문제와 처리한 일을 적어라.

문제


사진 스캐너 스튜디오에서 만든 모형은 착색기를 Unlit으로 설정할 때 가장 느낌이 좋고 실물처럼 보이지만 이렇게 하면 불빛의 영향을 받지 않는다.
그래서 스탠다드 착색기로 조명을 시도했지만 어색하고 조정하기 어려웠어요.

처리하다


따라서, 나는 표준 착색기를 개조하고, emission을 사용하여 표준과 unlit 사이의 값을 찾으려고 시도했다.그늘의 대비도를 낮췄을 뿐이지만 이번 안건은 이 조정만으로도 충분하다.
좌: 조정 전(Albedo 100%) 우: 조정 후(Albedo 50%, Emission 50%)

Shader "Custom/UnlitStandardMix" {
    Properties {
        _Color ("Color", Color) = (1,1,1,1)
        _MainTex ("Albedo (RGB)", 2D) = "white" {}
        _BumpMap ("Normal", 2D) = "white" {}
        _BumpScale ("_BumpScale", Range(0,1)) = 0.0
        _Glossiness ("Smoothness", Range(0,1)) = 0.5
        _Metallic ("Metallic", Range(0,1)) = 0.0
        _Amount ("_Amount", Range(0,5)) = 0.0
        _Emission ("_Emission", Range(0,1)) = 0.5

    }
    SubShader {
        Tags { "RenderType"="Opaque" }
        LOD 200

        CGPROGRAM
        #pragma surface surf Standard addshadow 
        #pragma target 3.0

        sampler2D _MainTex;
        sampler2D _BumpMap;

        struct Input {
            float2 uv_MainTex;
        };

        half _Glossiness;
        half _Metallic;
        fixed4 _Color;
        float _Amount;
        float _Emission;
        float _BumpScale;

        void surf (Input IN, inout SurfaceOutputStandard o) {

            fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;

            o.Albedo = c.rgb;
            o.Metallic = _Metallic;
            o.Smoothness = _Glossiness;
            o.Alpha = c.a;

            o.Albedo = c.rgb * (1-_Emission);
            o.Emission = c.rgb * _Emission;

            fixed4 n = tex2D(_BumpMap, IN.uv_MainTex);  
            o.Normal = UnpackScaleNormal(n, _BumpScale);            

        }
        ENDCG
    }
    FallBack "Diffuse"
}

이상입니다!

좋은 웹페이지 즐겨찾기