WJ의 개인블로그

Unity. 2DCamera follow 기초2 본문

Unity/Unity 기초

Unity. 2DCamera follow 기초2

WABA 2019. 1. 22. 15:09

2DCamera follow 기초2(영역 지정)


    public Transform player;


    Vector3 velocity = Vector3.zero;


    public float smoothTime = 0.15f;


    public bool XMaxEnabled = false;

    public float XMaxValue = 0;

    public bool XMinEnabled = false;

    public float XMinValue = 0;


    public bool YMaxEnabled = false;

    public float YMaxValue = 0;

    public bool YMinEnabled = false;

    public float YMinValue = 0;    


    


    void FixedUpdate()

    {


        Vector3 playerPos = player.position;        

        


        //horizontal

        if (XMinEnabled && XMaxEnabled)

            playerPos.x = Mathf.Clamp(player.position.x, XMinValue, XMaxValue);


        else if (XMinEnabled)

            playerPos.x = Mathf.Clamp(player.position.x, XMinValue, player.position.x);


        else if (XMaxEnabled)

            playerPos.x = Mathf.Clamp(player.position.x, player.position.x, XMaxValue);


        //vertical

        if (YMinEnabled && YMaxEnabled)

            playerPos.y = Mathf.Clamp(player.position.y, YMinValue, YMaxValue);


        else if (YMinEnabled)

            playerPos.y = Mathf.Clamp(player.position.y, YMinValue, player.position.y);


        else if (YMaxEnabled)

            playerPos.y = Mathf.Clamp(player.position.y, player.position.y, YMaxValue);


        playerPos.z = transform.position.z;


        transform.position = Vector3.SmoothDamp(transform.position, playerPos, ref velocity, smoothTime);

    }

'Unity > Unity 기초' 카테고리의 다른 글

Unity. 2D기초 Camera follow  (0) 2019.01.22
Unity.오브젝트 사이클  (0) 2019.01.18