프로시듀얼 쉐이더를 응용해 구체하나를 만들어보겠습니다.
기계로봇의 심장느낌을 만들어보도록 하겠습니다.

처음엔 기본적으로 배운 TexCoord를 불러와 SphereMask로 빠르게 원을 분리시켜줍니다. 직접 벡터거리를 구해서 하는 방법도 있지만 빠르게 원을 구하는 이 방법으로 하겠습니다

이런 모양이 만들어집니다.
이제 심장박동같은 모션을 넣어주기 위해 SphereMask의 Radius에 노드들을 추가해주겠습니다.

Time → Multiply(0.3) → Sine: 시간에 따라 0.3의 속도로 값을 -1에서 1 사이로 계속 진동시킵니다. Sine 노드를 사용했기 때문에 단순히 값이 커지는 게 아니라, 부드럽게 커졌다가 작아지는 반복 운동을 만들어냅니다.
Noise → Multiply(0.2): Noise는 고정된 값이 아니라 랜덤한 패턴 값을 제공합니다. 여기에 0.2를 곱해 변화의 폭을 줄여줌으로써 너무 과하지 않은 미세한 떨림을 추가합니다.

SpehereMask 이후 이제 안의 원의 색과 바깥색을 설정해주고 안의 빨간색부분은 발광효과를 더 주기위해서 ScalarParameter를 사용하여 100배 더 키워주었습니다.
원의 색과 배경색을 Lerp로 묶어주고 배경색이 자연스러우면서 투명한걸 원했기때문에 Lerp에서 나온값을 Fresnel과 같이 묶어서 Opcity에 넣어주었습니다.

최종 결과물입니다. 큐브안의 원이 기계의 에너지원처럼 자연스럽게 움직이는 모습입니다.
이번과제의 트러블슈팅
1. 처음 원을 발광시키고 싶었을때 발광값을 Lerp의 바깥쪽에 두었더니 전체가 발광하여 그냥 전체가 하얗게 바뀌는 버그가 있었습니다.
2. 원이 커지고 돌아가는 속도를 할때 계속해서 원이 다시 생기는 주기만 빨라지고 정작 원이 움직이는 속도는 바뀌지않았습니다.
해결
1. 사진과 같이 안쪽의 원부분색을 설정하면서 그 곳에서 발광을 조절하니 정확히 원만 발광하게 만들수있었습니다.
2. Time과 Sine 사이에 각각 Multiply값을 넣어주니 모두 조절이 가능하였습니다.
'언리얼엔진 > TA·아키텍처' 카테고리의 다른 글
| Unreal 8기 TA 개인과제 구체만들기 (0) | 2026.04.14 |
|---|---|
| Unreal 8기 TA 개인과제 AI 캐릭터 생성하기 (0) | 2026.04.12 |
| Unreal 8기 게임개발 TA 개인과제 (0) | 2026.04.06 |