본문 바로가기

분류 전체보기

UE5 애니메이션 인스턴스, 몽타주, 노티파이 AnimInstance를 상속받은 C++ 클래스 생성 애니메이션 블루프린트 생성 시 새로 만든 AnimInstance를 부모 클래스로 선택 캐릭터의 애님 클래스 변경 혹은 애니메이션 몽타주 작성 함수명을 "AniNotify_노티파이이름"으로 하면 자동으로 호출됨
UE5 UMG UserWidget C++ 연동 위젯 블루프린트 생성 위젯 배치 C++ 클래스 추가 부모 클래스 UserWidget 선택 계층 구조의 위젯 이름과 변수 이름을 동일하게 하면 위젯 선택 후 디테일 패널에 변수 여부 체크 해제 추가한 클래스로 위젯 블루프린트 부모 클래스 변경
C# 을/를 이/가 은/는 등 조사 구별하기 using System.Collections.Generic; public static class StringUtil { private static Dictionary koreanParticles = new Dictionary { { "을/를", new KeyValuePair("을", "를") }, { "이/가", new KeyValuePair("이", "가") }, { "은/는", new KeyValuePair("은", "는") }, }; public static string KoreanParticle(string text) { foreach (var particle in koreanParticles) { var index = text.IndexOf(particle.Key) - 1; while (inde..
C# 생성자와 가상 함수 기본적인 C# 생성자 호출 순서 using System; class Base { public Base() { Console.WriteLine("Base"); } } class Derived : Base { public Derived() { Console.WriteLine("Derived"); } } class Program { public static void Main() { Derived d = new Derived(); } } 기반 클래스 생성자 -> 파생 클래스 생성자 순으로 호출되고 컴파일러가 파생 클래스 생성자 public Derived()에서 public Derived() : base()로 만들어줌 생성자에서 가상 함수를 호출하는 경우 using System; class Base { publi..
Phong vs Blinn-Phong Phong float3 reflectVector = normalize(reflect(-lightDir, s.Normal)); float spec = saturate(dot(reflectVector, viewDir)); Blinn-Phong float3 H = normalize(lightDir + viewDir); float spec = saturate(dot(H, s.Normal));
Unity C# Enum 사용시 Garbage 문제??? 얼마전까지 유니티에서 enum이나 struct에서를 Dictionary, List 등에서 사용하면 가비지가 발생하는 것으로 알고 사용하고 있었는데.. 유니티 버전이 오르면서 .net 4 버전 이상을 사용하게 됐고 그에 따라 enum인지 체크해서 enum 전용으로 비교해준다고 함... 적당한 테스트 코드 using System.Collections.Generic; using UnityEngine; public class EnumTest : MonoBehaviour { enum TestType { Test1, Test2, Test3, } Dictionary dic = new Dictionary { { TestType.Test1, 1 }, { TestType.Test2, 2 }, { TestType.Test3..
Unity Matcap Shader Shader "MatCap" { Properties { _MainTex("Base (RGB)", 2D) = "white" {} _MatCap("MatCap (RGB)", 2D) = "white" {} } Subshader { Tags { "RenderType" = "Opaque" } Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #include "UnityCG.cginc" struct v2f { float4 pos: SV_POSITION; float2 uv : TEXCOORD0; float2 cap: TEXCOORD1; }; uniform float4 _MainTex_ST; v2f vert(appdata_base v) { v2f o; o.pos ..
Unity 2Pass Outline Toon Shader Shader "Custom/Outline_2Pass" { Properties{ _MainTex("Albedo", 2D) = "white" {} _BumpMap("BumpMap", 2D) = "bump" {} _OutlineColor("OutlineColor", Color) = (1,1,1,1) _Outline("Outline", Range(0.0005, 0.01)) = 0.01 } SubShader{ Tags { "RenderType" = "Opaque" } Cull front // Pass1 CGPROGRAM #pragma surface surf NoLighting vertex:vert noshadow noambient struct Input { float4 color : Color; }; float4..