D3D11: Billboard Texture Issue.
본문 바로가기
카테고리 없음

D3D11: Billboard Texture Issue.

by Midfall 2025. 7. 2.
320x100

[목표]

Billboard Texture 구현하기

Billboard Texture 는 사용자의 시점에 따라 항상 사용자를 바라보는 텍스처를 말한다.

사용자의 위치를 기준으로, 제자리 회전을 하기 때문에, 항상 앞면이 보이게 된다.

 

[문제상황]

Billboard texture를 배치는 성공했는데, 회전이 제자리가 아니라 Player 기준으로 회전을 한다.

그래서 플레이어를 중심으로 공전하는 문제가 발생함.

 

[시도해본 것들]

일단, yawRot라는 새로운 matrix를 도입했다.

yawRot는 camera.yaw를 받아서 YRotation을 계산한다.

rotation의 방향은 맞는데, view transform 이후에는 플레이어 중심으로 origin이 바뀌다보니,

player를 기준으로 공전하게 된다.

 

그래서, yawRot을 계산할때,

m_billboardPoints.m_constantData.yawRot =
    Matrix::CreateRotationY(-m_camera.GetYaw())*Matrix::CreateTranslation(Vector3(0,0,0));

 

RotationY*Translation(origin)을 해서 모두 원점으로 옮긴 후 제자리 회전을 하도록 했다.

회전을 하고 translation을 하면, 회전은 제자리에서 정의가 되었기 때문에 공전하지 않기 때문이다.

 

그런데 여기다가 view를 곱하니까 다시 공전하기 시작했다.

 

300x250

댓글