#gdc11 #review HALO: REACH Effects Tech
GPU를 미친 듯이 괴롭힌 이펙트 종결 발표. 거기다 충돌도 구현했다.
Cheap Colliding Particles
- 요구사항 : CPU대신 GPU를 괴롭혀 줘.
- 파티클 하나당 28 bytes 사용
- type data를 texture에 저장.
- 이것 때문에 드로우 콜 한 번으로 렌더링이 가능하다.
- particle state buffer
- 이걸로 총 파티클 수를 제어함
- pixel 하나가 파티클 하나를 가르킴
- 죽은 파티클은 검정색
- 살아 있는 건 색깔
- 파티클 충돌 멋지다
- 살색은 여유 공간.
- surface에서 마진을 둔다.
- 파티클 속도 벡터와 surface normal을 연산해 튕김을 구현
- surface tangent를 기준으로 reflect
Shields & Depth Effects
- 버텍스 확장
- 깊이와 비교해 fade out
- 캐릭터와 가까울수록 투명
Low Resolution Transparent
- 반투명 레이어가 너무 많을 때
- low resolution을 적극 사용
- low -> high 트랜지션은 비싸므로 남용하면 느려진다
- 그룹을 low-res로 그리고 high-res 콘텐츠와 섞는다.
- 이렇게 묶은 그룹을 반투명 소팅에 넣어서 소팅한다.
- 그룹에 가장 먼 녀석을 소팅 기준값으로 사용
- high res 녀석들보다 멀리 가서(그룹 내 가장 먼 녀석이랑) high res에 가려질 가능성이 크다.
- 뎁스 잘 사용하자
- 이쪽을 어떻게 잘 활용하느냐가 관건인 듯.
발표
- 발표자: Chris Tchou (Bungie LLC)
- 발표자료: GDC Vault - HALO: REACH Effects Tech - gdcvault.com