250331

凡愚·2025년 3월 31일

개발 일지

목록 보기
127/350

✅ What I did today


  • Udemy Course : Unity Shader
  • Project BCA


🎞️ Udemy Course : Unity Shader


        void surf (Input IN, inout SurfaceOutput o)
        {
            fixed4 c = tex2D (_MainTex, IN.uv_MainTex);
            o.Albedo = c.rgb;
            o.Alpha = c.a;
        }

Alpha 채널 사용

  • RenderQueue를 AlphaTest로 하면 Opaque 앞에서만 보이고
  • Transparent로 하면 제대로 보임
  • alpha:fade 붙여야 알파 채널 사용 가능

        Pass {
            ZWrite On
            ColorMask 0
        }

        CGPROGRAM
        #pragma surface surf Lambert alpha:fade
        struct Input {
            float3 viewDir;
        };

        float4 _RimColor;
        float _RimPower;

        void surf (Input IN, inout SurfaceOutput o) {
            // Rim lighting
            half rim = 1.0 - saturate(dot (normalize(IN.viewDir), o.Normal));
            o.Emission = _RimColor.rgb * pow(rim, _RimPower) * 10;
            // Interior transparency
            o.Alpha = pow(rim, _RimPower);
        }
        ENDCG

Hologram

  • 바깥쪽은 rim lighting, 안쪽은 transparent로 만드는 코드
  • 안쪽이 완전히 비춰보이지 않게 하려면 depth pass 이용

Alpha Blending

  • Blend SrcFactor DstFactor : 배경 색깔과 현재 색깔을 어떻게 더할지 정의
    • Blend One One : 소스색 + 배경색
    • Blend SrcAlpha OneMinusSrcAlpha : 소스색 알파 + 배경색 (1 - 알파)
    • Blend DstColor Zero : 소스색 배경색 + 배경색 0
  • 이것들은 파티클 시스템에 자주 쓰이는데, 내장 셰이더 중 Particles에 블렌딩 종류가 미리 만들어져있다. (현재는 legacy로 옮겨짐)
    SubShader {
        Tags {"Queue" = "Transparent"}
        Pass {
            Blend DstColor Zero
            SetTexture [_MainTex] { combine texture } 
        }
    }

https://docs.unity3d.com/kr/530/Manual/SL-Blend.html



🎮 Project BCA


Intro

구멍 없앴더니 UV가 뒤틀려서 기존 매시 아예 지우고 새로 생성

Reference

gpt한테 부탁한 디자인
문 색깔과 위의 사인 디자인 참고
(근데 bgm에 이거까지 넣으니까 살짝 오겜 파쿠리 느낌나서 보류)

게임룸 안이 meatlic?

시도해봤으나 쉽지 않음
다음부턴 photorealistic은 무조건 HDRP나 언리얼로 진행할 것

게임룸 모니터를 이런 식으로 좀 더 Interactive하게 만들어서 사실상의 게임 메인 메뉴로 만들기?

Camera movement

시작할 때 Shakify 때문에 덜컹거리듯 시작하는 느낌 있었음
고쳐보려고 했지만 실패하고 Unity Cinemachine 자체 솔루션으로 돌아옴
Cinemachine Basic Multi Channel Perlin의 preset들을 이용하니 나쁘지 않게 handheld camera movement 구현 가능했다

  • 가만히 있을 때
    • Amplitude Gain: 0.7 | Frequency Gain: 0.7
  • 걸어갈 때
    • Cinemachine Impulse 사용해보기 (내일)

Maximizing motion sickness

shakify 어색함 줄이려다 재미있는 현상 발생



0개의 댓글