분류 전체보기 168

[최적화] Shader Variants와 효율적인 사용

[최적화] Shader Variants와 효율적인 사용 목차이글은...Shader와 Shader VariantsShader Variants는 언제 생기는가?Shader Variants를 줄여보자.빌드 후 런타임 중 셰이더는 어떤 키워드들로 컴파일링 되었는지 확인해 보자.Shader Variants를 효율적으로 사용해 보자.Shader Graph - Shader Variant LimitShader Variants 최적화와 테스트를 진행하며 했던 삽질글을 마치며...참고자료이글은...  어느 날 빌드가 너무 오래 걸려 원인을 찾아보니 Shader 컴파일링 때문이고, 다시 이것은 Shader Variants와 관련되어 있어, Shader Variants를 정확히 알며, 최적화와 연관 지어 잊지 않도록 기록을 ..

[UE5][BP] Actor Moving, Action Mapping, Timeline

[UE5][BP] Actor Moving, Action Mapping, Timeline 오브젝트를 이동시켜보자. 이 작업을 진행하기 전에 간단한 몇 가지 지식을 알고 시작하면 좋을 것 같다. 3D 게임은 당연히 3D 공간에서 이루어진다. 그렇기 때문에 상하좌우와 앞뒤가 존재한다. 우선 상하, 좌우에 대해서 알아보자. 상하, 좌우에 쉼표를 넣은 이유는 각 축에 대해서 하나의 값만 이용하면 되기 때문이다. 무슨 말이냐면, 상, 하가 아닌, 좌, 우가 아닌, +상, -상, +좌, -좌 이렇게 하면 두 개의 값으로 4방향을 모두 조정할 수 있다는 것이다. 다음으로 Normalize에 대해서이다. Normalize는 Shader 작성에서도 자주 쓰이는데, 정규화이다. 이것은 무슨 말이냐면, 벡터의 방향을 유지한 ..

[UE5][BP] Change Material

[UE5][BP] Change Material   일반적으로 블루프린트는 이벤트, 조건, 액션으로 이루어진다.  1. 이벤트 : 언제를 뜻한다.   2. 조건 : 액션이 실행될 조건을 뜻한다.   3. 액션 : 어떤 행동을 할 것인가를 뜻한다. 위 세 가지를 전부 합쳐보면, '조건을 만족했을 때, 어떤 행동을 취한다'라는 간단한 로직이 나오며, 이것에 몇 가지 살을 붙여서 프로그램(기능)을 돌린다.  몇가지 살을 붙인다는 것은 예를 들어 '방아쇠가 당겨지면 총이 발사된다'를 '주인공이 권총의 방아쇠를 당기면 총이 적을 향해서 발사된다'라는 식으로 살을 붙일 수 있다.  그리고 이 살들은 모두 조건이 될 수 있다.  블루프린트를 작성하면, 기본적으로 세 가지 트리거를 확인할 수 있는데, 'Event Beg..

[UE5] 루멘은 왜? 디퍼드 랜더에서만 작동하나요?

[UE5] 루멘은 왜? 디퍼드 랜더에서만 작동하나요? '내가 만든 레벨에서는 왜 루멘이 작동하지 않아?'라고 친구가 나에게 물었다.  이에 대답해 줄 수 있는 나의 답변은 한 가지이다.  너의 프로젝트를 내가 봐야 알 것 같아!  자 그럼 왜 루멘이 작동하지 않는지 생각해 보자.  1. 나의 프로젝트가 언리얼 4에서 언리얼 5로 마이그레이션을 하였다.  이 경우, 기존 라이팅 등의 세팅과 충돌이 날 수 있어, 자동으로 변경되지 않는다.  내가 직접 변경을 해주어야 한다.  2. 랜더 패스를 포워드 랜더로 설정한 상태인 것이다. 언리얼은 기본적으로 디퍼드 랜더 패스로 설정되어 있기 때문에(모바일의 경우 기본적으로 포워드) 이 경우는 드물지만, 루멘이 활성화되어 있지 않다면 이것일 가능성이 매우 크다. 언리..

[SHADER] Shader pass와 ShaderLab pass에 대하여

[SHADER]Shader pass와 ShaderLab pass에 대하여 Shader pass 셰이더 패스는 렌더링 되는 개체의 정점(vertex)나 조각(fragments)/픽셀(pixels)에 대해 특정 계산이 수행되는 렌더링 파이프라인의 단계를 나타낸다. 각 패스에는 고유한 명령 및 데이터 세트가 있을 수 있고, 패스의 조합을 통해 복잡한 렌더링 효과를 얻을 수 있다.셰이더 패스는 보통 다음과 같다. - 입력 어셈블리 : 셰이더 패스가 시작되기 전에 입력 데이터를 어셈블해야 한다.  정점 셰이더의 경우 일반적으로 기하학적 기본요소(예를 들어 삼각형)의 정점을 처리하고 배치로 구성하는 작업이 포함된다. - 버텍스 패스 : 렌더링되는 형상의 각 정점에서 버텍스 셰이더가 실행된다.  버텍스 셰이더는 버텍..