저번에 라이트 프로브를 구우면 저장된다고 언급했습니다. 네. 이제 그 데이터를 까볼 차례입니다. 테스트 환경 정확한 측정을 위해 9번째 라이트프로브를 0,0,0에 배치, 렌더러 한놈도 0,0,0에 배치합니다 그리고 렌더러를 통해 sh 계수를 확인합니다. LightProbes.GetInterpolatedProbe(transform.po...
Line Purge Effect
젤다의 선 이펙트가 만들고 싶어졌습니다. 그래서 만들어봅니다. 1차. 디졸브를쓴건데 디졸브가 gif에서 얇아서 안보입니다…슬프네요 그래서 수정했습니다. 중심포지션고려과 알파도 조금 본 포스트는 CK 2024 졸업작품 AzureField 작업물이 일부 포함되어 있습니다. 구현 이번 구현은 다음과 같은 작업환경에서 이루어집니다 lin...
Deferred Gbuffer 가져오기
머리 학교 프로젝트가 Unity URP Deferred 사용하는데, 메쉬 블렌딩 효과를 낼수있는 쉐이더 제작을 요청했습니다. 그 중 몇가지 문제가 있었고, 결국 G버퍼를 가져와서 SceneColor(_CameraOpaqueTexture) 대신 사용하는 방법에 대해 알아봤습니다. 몸통 G버퍼 데이터 UnityGBuffer.hlsl 파일을 참조해...
이끼 버텍스 블렌드 쉐이더 제작
졸업작품 프로젝트 팀을 들어가니 요청을 받았습니다. 현재 유적이나 돌 모듈 등에 이끼 표현이 들어가는데, 자연스럽게 표현할 수 있는 쉐이더가 필요합니다. 이 과정에서 필요한 머테리얼이 있다면 요청해주시면 감사하겠습니다. 결과물 Day 2 작업물입니다 요청사항 분석 해당 정보로는 정확히 요청사항 분석이 어려웠습니다. 현재 유적...
PBR(Physically Based Rendering)
PBR(Physically Based Rendering) 개요 PBR(Physically Based Rendering)은 현실 세계의 물리적 법칙을 기반으로 이미지를 렌더링하는 기술입니다. PBR의 목표는 현실적이고 일관된 결과를 제공하여 시각적으로 설득력 있는 이미지를 생성하는 것입니다. 이를 위해 PBR은 표면의 물리적 특성을 수학적으로 모델...
Covariance, Pearson Correlation Coefficient, Decorrelation
비상관화 (Decorrelation) 정의 비상관화(Decorrelation)는 두 개 이상의 변수 간의 상관성을 제거하여 독립적으로 만드는 과정을 말합니다. 이는 신호 처리, 데이터 분석, 통계 및 기계 학습에서 필요한 개념입니다. 목적 비상관화는 데이터의 차원을 줄이거나, 신호 간의 간섭을 줄이며, 데이터 분석의 정확성을 높이기 위해 사용...
VSCODE 정규표현식 Replace
방금 글쓰다가 짜증이 나서 생각난김에 씁니다. regex는 기억하다가도 안쓰면 까먹는단 말이죠… vscode(및 vs)에서는 정규표현식을 사용해서 replace를 할 수 있는데, 괄호나 대괄호, 따옴표등 단어를 랩핑하는 경우 굉장히 귀찮습니다. 머리 \b로 단어경계를 지정하고, \w로 문자를 지정하며, +를 사용하여 다음 \b가 나올때까지 매...
약식 Unity ML 정리
Config 파일 살펴보기 behaviors: <Behavior Name>: trainer_type: poca hyperparameters: batch_size: 2048 buffer_size: 20480 learning_rate: 0.0003 beta: 0.005 e...
GJK(Gilbert-Johnson-Keerthi)Algorithm
고등학교때 작성한 자료를 최근 질문받은적 있어서 다시 정리해봅니다. 그래서 노가다한 이미지는 없습니다. 1. 머리 GJK 알고리즘(Gilbert-Johnson-Keerthi Algorithm)은 두 개의 볼록한 형태(Convex Shapes), 주로 메쉬 혹은 시간이 변화한 콜라이더 사이의 충돌 여부를 효율적으로 판별하기 위해 사용되는 알고리즘입...
nameof와 const string
요약 : 런타임 성능 똑같음 (이번엔 간단히.. 수술로 1주일이 날라갔습니다) 머리 void GetData(in DerivedType instance) { FieldInfo fieldInfo = typeof(BaseType).GetField(nameof(m_targetData), BindingFlags.NonPublic | BindingF...