월드 공간에서 스프라이트 크기에 대한 혼동 (통합)


11

1080x1920 해상도의 Sprite가 있습니다. 게임 뷰 해상도도 1080x1920으로 설정했습니다. 내가 생각한 것은 스프라이트 (1080x1920)가 카메라보기에 올바르게 맞아야한다는 것입니다.

이미지의 해상도는 1080x1920입니다

그러나 그 스프라이트를 드래그하면 스프라이트가 확대되어 카메라 뷰에서 사라집니다.

화면보기, 스프라이트에 카메라가 없습니다

이 스프라이트가 카메라 뷰 내에 100 % 들어가도록하려면 어떤 조정을해야합니까? Sprite Transform Scale을 변경할 수있었습니다. 그러나 처리해야 할 다른 스프라이트가 많고 비례해야하기 때문에 문제가 발생할 수 있습니다.


3D 스프라이트에 대해 이야기하고 있습니까? 아니면 UI 2D 스프라이트?
TomTsagk

2D 스프라이트 .....
Faizan Khan

답변:


19

이것은 스프라이트가 화면에서 픽셀 단위로 블리 팅되는 것이 아니라는 점을 기억할 때 의미가 있습니다. , 그러나 사용자가 제어 할 수있는 장치에 구애받지 않는 게임 플레이 좌표계에서 3D 세계의 일부입니다.

해당 게임 플레이 세계의 다른 모든 것과 마찬가지로 화면에 매핑되는 부분은 카메라 객체를 구성한 방법에 따라 결정됩니다.

스프라이트 표시 크기를 결정하는 네 부분이 있습니다.

  1. 스프라이트 의 소스 해상도 입니다.

  2. 단위 당 픽셀 의 가져 오기 설정 관리자에서 선택한 설정을.

    텍스처 공간의 픽셀에서 월드 공간의 단위로 크기를 변환하기위한 변환 계수를 설정합니다 (예 : 모든 게임 플레이 및 물리 계산이 수행되는 공간).

    월드 단위의 높이 = 픽셀 당 소스 높이 / 단위당 픽셀

    일반적으로이 숫자를 선택하여 게임의 관련 게임 플레이 지표와 일치시켜야합니다. 예. 간격이 135 픽셀 인 타일 격자가있는 경우 단위당 픽셀 수 = 135를 선택하면 게임 좌표계에서 격자의 각 셀이 정확히 1 단위 너비가되어 계산이 더 편리해집니다.

  3. 카메라 의 직교 크기 입니다.

    (또는 투시 카메라를 사용하는 경우 카메라의 시야와 카메라에서 스프라이트까지의 깊이의 조합)

    뷰 중심에서 상단 가장자리까지 카메라에서 볼 수있는 세계 단위 수를 결정합니다.

    차지한 카메라 높이의 부분 = 월드 단위의 높이 / (2 * 카메라 직교 크기)

    따라서 135 PPU 값으로 실행하면 1920 픽셀 높이 스프라이트의 크기는 전 세계에서 14.222222 단위가됩니다. 즉, 카메라 높이가 중간)

  4. 창문 / 출력 화면 해상도의 픽셀 크기.

    기본적으로 카메라의보기는 화면을 세로로 채우므로 화면 / 창의 높이가 변경되면 장면의 세로 자르기가 변경되지 않습니다 (화면의 위쪽 또는 아래쪽 가장자리에있는 개체는 움직이지 않거나 자르면 전체 장면이 사용 가능한 높이를 채우기 위해 커지거나 작아집니다).

    따라서 카메라가 위에서 아래로 볼 수있는 월드 단위 수는 창 / 화면의 픽셀 수에서 위에서 아래로 매핑됩니다.

    출력 픽셀 크기 = 차지하는 카메라 높이의 부분 * 픽셀의 창 높이

    따라서 스크린의 높이가 1920 픽셀이고 소스 스프라이트가 정확히 카메라의 뷰를 채우면 1920 개의 스크린 픽셀 전체에 걸쳐 1 : 1 정렬로 출력됩니다.


자세한 답변을 주셔서 감사합니다 !!!!
파이 잔 칸

3
도움이 되셨 다니 다행입니다. : 그 수도도 도움 유니티에서 스프라이트 크기 작업에 대한 몇 가지 다른 Q & A를 서면으로 작성했습니다 스프라이트 크기를 선택하는 방법에 , 서로 다른 크기의 스프라이트의 모양을 일치에 , 스케일링 픽셀 아트에
DMGregory

1
고마워 .... 나는 또한 트위터에 당신을 따라 ... UbiSoft에서 일하는 사람과 상호 작용하는 것이 정말 기분이 좋아요 :)
Faizan Khan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.