스파르타코딩클럽_Unity개발과정

7/1 최종 프로젝트 - 스플래툰 모작 (물감 덧칠하기)

ybbro 2025. 7. 1. 22:23

1. 페인트 매니저

멀티 플레이 중 동시다발적으로 색칠 입력이 들어오기에

이를 순차적으로 처리할 수 있는 구조를 싱글톤으로 접근이 용이하게끔

 

들어온 GPU 색칠 입력에 순차적으로 대응하기 위해

UnityEngine.Rendering.CommandBuffer 를 사용

 

1) CommandBuffer 란?

해석 그대로 명령 버퍼

명령을 넣은 순차적으로 빼서 수행 (선입선출)

물감을 뿌릴 명령들을 모아놓을 버퍼 >> 물감을 뿌린 순서대로 표현 가능하여 난전 중에도 상대 팀의 물감 위에 덧씌우기 가능

 

2) CommandBuffer.SetRenderTarget(RenderTexture _rend)

버퍼에 쌓아둔 명령의 타겟이 되는 텍스쳐만 바꿔가면서 순차적으로 실행하기 위한 메서드

 

3) 랜더텍스쳐에 덧씌우기
CommandBuffer.Blit(Texture source, RenderTargetIdentifier dest, Material mat)

source 텍스쳐를 dest에 덧씌워 표현 (mat 머티리얼 효과를 주어서)

 

4) CommandBuffer.Clear();
버퍼에 쌓인 내용들 중 시행이 끝난 부분을 제거