반응형
    
    
    
  Unity로 2D 게임을 만들다보면 카메라가 표시하는 화면 좌표에 대한 정보를 얻어야 할 때가 있습니다. 그럴 때 카메라가 표시하는 화면의 왼쪽(Left), 오른쪽(Right), 위(Top), 아래(Bottom), 전체 길이(Width), 전체 높이(Height) 등의 정보가 필요합니다.

아래 소스는 camera_ 변수에 화면을 표시하는 카메라를 설정하면 화면의 왼쪽(Left) x좌표, 오른쪽(Right) x좌표, 위(Top) y좌표, 아래(Bottom) y좌표 및 전체 길이(Width), 전체 높이(Height) 등을 얻는 간단한 소스 예제입니다.  
예제 소스에서는 마우스 오른쪽 버튼을 누르면 해당 정보가 디버그로 표시하게 해놓았습니다.
참고로 해당 소스는 간단히 만든 관계로 camera_에 대한 null처리는 하지 않았습니다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraBound : MonoBehaviour
{
    public Camera camera_ = null;
    private float size_y_;
    private float size_x_;
    public float Bottom
    {
        get
        {
            return size_y_ * -1 + camera_.gameObject.transform.position.y;
        }
    }
    public float Top
    {
        get
        {
            return size_y_ + camera_.gameObject.transform.position.y;
        }
    }
    public float Left
    {
        get
        {
            return size_x_ * -1 + camera_.gameObject.transform.position.x;
        }
    }
    public float Right
    {
        get
        {
            return size_x_ + camera_.gameObject.transform.position.x;
        }
    }
    public float Height
    {
        get
        {
            return size_y_ * 2;
        }
    }
    public float Width
    {
        get
        {
            return size_x_ * 2;
        }
    }
    void Start()
    {
        size_y_ = camera_.orthographicSize;
        size_x_ = camera_.orthographicSize * Screen.width / Screen.height;
    }
    void Update()
    {
        if (Input.GetMouseButtonDown(1))
        {
            string msg = 
                string.Format("스크린 좌표: ({0}, {1}) ~ ({2}, {3}) : {4} x {5}", 
                    Left, Top, Right, Bottom, Width, Height
                );
            Debug.Log(msg);
        }
    }
}반응형
    
    
    
  '개발 라이브러리 & 툴 > 유니티' 카테고리의 다른 글
| Unity 안드로이드 개발시 알아두면 좋은 것들 (0) | 2021.12.27 | 
|---|---|
| Unity 안드로이드 빌드 시 화면 멈춤(Freezing) 현상 해결 (0) | 2021.12.26 | 
| Unity 여러 개의 카메라를 이용하여 여러 개의 포스트 이펙트 적용하기 (0) | 2021.12.03 | 
| Unity 개발시 편집 중인 텍스트나 csv파일 데이터를 게임에서 읽기 (0) | 2021.11.26 | 
| Unity 씬 이동 간에 빈 이동 씬을 이용하여 최대 사용 메모리 줄이기 (0) | 2021.11.23 | 
| Unity 스크립트 수정 후 스크립트 관련 대화상자 뜨는 시간 줄이기 (0) | 2021.10.29 | 
| Unity 정적(Static)객체를 전역 변수처럼 활용하기 (3) | 2021.10.22 | 
| Unity 싱글톤(Singleton)의 이해 (0) | 2021.10.21 |