Billboard Rendering ?
빌보드 렌더링은 컴퓨터 그래픽스에서 3D 환경에서 객체의 2D 이미지를 화면에 표시하는 기술입니다.
3D객체가 항상 카메라(바라보는시점)를 향하고 있도록하여 어느 방향에서 보아도 같은 이미지가출력됩니다.
빌보드 렌더링기술은 주로 나무, 꽃, 포스트 등등 3D 공간에서 화면에 표시되어야 할 대상을 효과적으로 처리하기 위하여 사용됩니다.
빌보드 렌더링의 사용 예시
1. 2D 객체 표시
3D공간에 있는 객체를 2D이미지로 화면에 표시해야 할 때 빌보드 렌더링을 사용하여 어느 각도에서 바라보아도 정면을 향하도록 할 수 있습니다. (ex. 플레이어, 몬스터 등의 객체위에 체력바)
2. 효율적인 렌더링
많은 양의 객체를 모델링하기 어려울때 자원이 많이 필요한 3D모델 대신 필요자원이 보다 적은 2D의 이미지를 사용하여 시각적으로 유사한 효과를 얻을 수 있습니다. (ex. 맵에 배치된 잡초)
3. 자원의 절약
빌보드 렌더링은 3D 모델링과 텍스처 생성에 비해 자원을 덜 소모합니다.
따라서 성능을 향상시키고 복잡한 방면에서의 부담을 줄일 수 있습니다.
빌보드 렌더링의 종류
1. View Space Billboards
빌보드를 카메라의 시야 공간에서 사용하는 것 입니다.
객체가 항상 카메라를 향하도록 하는 가장 간단한 방법 입니다.
뷰 스페이스 빌보드의 사용법과 장단점 | |
1. 뷰 매트릭스 생성 | 뷰 매트릭스(View Matrix)는 카메라의 위치와 방향을 나타내는 변환 매트릭스 입니다. 빌보드 객체를 뷰 스페이스에서 정확하게 배치하기 위해 뷰 매트릭스를 사용합니다. |
2. 빌보드 위치 설정 | 빌보드 객체의 월드 좌표를 알고 이를 뷰 매트릭스에 곱하여 뷰스페이스 에서의 좌표를 계산합니다. |
3. 뷰 스페이스 정렬 | 뷰 스페이스에서의 좌표를 이용하여 빌보드 객체를 화면에 배치합니다. 객체의 회전을 뷰 매트릭스로부터 추출하여 객체가 항상 카메라를 향하도록 회전시켜 줍니다. |
장점 | 간단한 구현과 효과적인 빌보드 효과를 구현할 수 있습니다. 객체가 항상 카메라를 향하도록 정렬됩니다. 때문에 시야에 들어오는 순간부터 항상 정면을 볼 수 있습니다. 원근감의 표현이 가능합니다. |
단점 | 카메라 위치에 따라 렌더링 결과가 달라질 수 있습니다. 빌보드 객체는 카메라를 바라보도록 정렬 되기때문에 카메라위치에 따라 빌보드가 회전 됩니다. 이러한 현상으로 인하여 특정 각도에서는 빌보드가 왜곡될 수 있습니다. |
뷰 스페이스 빌보드는 주로 화면에 가까이 보이는 작은 객체나 이펙트를 표현할때 사용됩니다.
2. World Space Billboards
빌보드를 월드 공간에서 사용하는 것으로 객체가 특정 방향을 향하도록 정렬하는 방식 입니다.
월드 스페이스 빌보드의 사용법과 장단점 | |
1. 빌보드 위치 및 방향 설정 | 빌보드 객체의 월드 좌표와 특정 방향을 설정합니다. 설정한 방향은 빌보드가 바라볼 방향입니다.(일반적으로는 카메라를 바라봅니다) |
2. 뷰 매트릭스 생성 | 뷰 매트릭스는 카메라의 위치와 방향을 나타내는 변환 매트릭스 입니다. 빌보드 객체를 뷰 스페이스에서 정확하게 배치하기 위하여 뷰 매트릭스를 사용해야 합니다. |
3. 빌보드 회전 계산 | 뷰 매트릭스로부터 빌보드 객체의 월드 좌표를 뷰 스페이스로 변환합니다. 이를 사용하여 빌보드 객체가 뷰 스페이스에서 카메라 방향을 향하도록 회전을 적용시켜줍니다. |
4. 월드 스페이스 배치 | 빌보드 객체의 월드 좌표와 계산된 회전을 사용하여 월드 공간에서 빌보드를 배치합니다. |
장점 | 카메라 위치에 따라 빌보드 객체가 회전하지 않으므로 항상 일관된 모습으로 보입니다. 때문에 시각적으로 안정적인 느낌을 줄 수 있습니다. |
단점 | 빌보드가 항상 특정 방향을 향하게 정렬 되는것은 일부 각도에서는 빌보드의 모습이 변형되어 보일 수 있습니다. 카메라와 빌보드 사이의 각도가 특정 범위를 벗어나면 의도하지 않은 모습으로 보일 수 있습니다. |
월드 스페이스 빌보드는 주로 비교적 덜 복잡한 장면에서 사용됩니다.
예를 들어 나무, 식물들과 같은 객체를 효과적으로 표현할때 사용합니다.
3. Axial Billboards
객체의 회전을 축 방향에 제한을 두고 일정 각도 내에서만 빌보드 효과를 적용하는 방식 입니다.
축 방향 빌보드의 사용법과 장단점 | |
1. 빌보드 위치 설정 | 빌보드 객체의 월드 좌표를 설정합니다. |
2. 뷰 매트릭스 생성 | 뷰 매트릭스는 카메라의 위치와 방향을 나타내는 변환 매트릭스 입니다. 빌보드 객체를 뷰 스페이스에서 정확하게 배치하기 위하여 뷰 매트릭스를 사용합니다. |
3. 뷰 스페이스 변환 | 빌보드 객체의 월드 좌표를 뷰 매트릭스로 변환하여 뷰 스페이스에서의 좌표를 계산합니다. |
4. 각도 제한 계산 | 뷰 스페이스에서 좌표를 이용하여 빌보드가 어느 축 방향을 향하는 지를 계산합니다. 이때 특정 각도 범위 내에 빌보드가 위치하도록 회전을 적용 시켜줍니다. |
5. 뷰 스페이스 배치 | 회전이 적용된 빌보드를 뷰 스페이스에서 배치합니다. |
장점 | 원근감을 유지하며 객체의 방향을 제한할 수 있습니다. 특정 방향 범위 내에서만 빌보드 효과를 적용하여 객체가 자연스럽게 회전하면서도 불필요한 회전을 막을 수 있습니다. |
단점 | 특정 각도에서만 빌보드 효과를 가지기 때문에 일부 각도에서는 빌보드가 원래 모습과 다르게 보일 수 있습니다. |
축 방향 빌보드는 일부 특정한 시각적 효과를 목적으로 사용됩니다.
또한 화면에 자연스러운 배치와 원근감을 유지시키는데 중요한 역할을 합니다.
정리
빌보드 렌더링은 복잡한 환경에서도 효과적으로 화면에 객체를 표시하는 데 사용되며, 특히 실시간 3D 그래픽스 애플리케이션에서 사용되어 자원 사용을 줄여주고 성능을 향상시키는데 유용하게 사용됩니다.
'공부 > Graphics' 카테고리의 다른 글
[Graphics] DirectX & UnrealEngine Pipeline 정리 (1) | 2024.02.12 |
---|---|
[Graphics] LOD(Level Of Detail) (0) | 2023.08.23 |
[Graphics] 오클루전 컬링(Occlusion Culling) (0) | 2023.08.23 |
[Graphics] 클리핑(Clipping) (0) | 2023.08.23 |
[Graphics] 절두체 컬링(Frustum Culling) (0) | 2023.08.23 |
댓글