분류 전체보기 163

UNITY_UI_CLIP_RECT 란 무엇인가?

Rect Mask 2D 라는 컴퍼넌트를 위해 존재한다. 사각형 영역을 클립하기 위해 계산을 하는데 Shader Vector 에서 UNITY_UI_CLIP_RECT 을 추가하면 버텍스에서도 계산을 안할껀데 왜 그냥 두었나 모르겠다. 우선 새로 만드는 UI Shader 에서는 Vector 에서도 "#ifdef UNITY_UI_CLIP_RECT" 를 추가하자 #ifdef UNITY_UI_CLIP_RECT float2 pixelSize = vPosition.w; pixelSize /= float2(1, 1) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy)); float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); float2 ..

Shader/이론 2022.08.03

URP 외곡하기

아래 처럼 따로 URP 셋팅을 해준 상태에서 LayerMask 는 외곡되는 오브젝트의 Layer 을 포함되면 안된다. Shader "Unlit/Temp" { Properties { _MainTex ("Texture", 2D) = "white" {} _Refraction ("Refraction", float) = 1 } SubShader { Tags { "RenderPipeline" = "UniversalPipeline" //"RenderType"="Opaque" "RenderType"="Transparent" // "Queue"="Geometry+0" "Queue"="Transparent" } Blend SrcAlpha OneMinusSrcAlpha, One OneMinusSrcAlpha LOD 100 ..

카테고리 없음 2022.07.22

프리팹 저장하기

에디트 상에서 선택된 프리팹이 저장할 일이 있을때 사용. 컴퍼넌트 데이터들이 변경되어도 Save 버튼이 활성화 되지 않는 경우가 있어서 제작 PrefabUtility.SavePrefabAsset(eff.gameObject, out isSuccess); /* #if UNITY_2021_2_OR_NEWER var stage = UnityEditor.SceneManagement.PrefabStageUtility.GetCurrentPrefabStage(); #elif UNITY_2018_3_OR_NEWER var stage = UnityEditor.Experimental.SceneManagement.PrefabStageUtility.GetCurrentPrefabStage(); #endif #if UNITY_20..