Pink Transparent Star

Unity/YouTube 따라 만들기

[ Unity ] 똥 피하기 게임 만들기

채유나 2022. 7. 6. 15:26
728x90

 

 

https://youtu.be/B6bNI0buoyc

 

유튜버 Dev GomDol님의 똥피하기 게임으로 Unity를 이용하여 공부할 겸 제작해 보았습니다.

 

[ 강의를 들으면서 새로 알게 된 내용 ]

private void ScreenChk()
    {
        
        Vector3 woripos = Camera.main.WorldToViewportPoint(this.transform.position); //월드 공간에서의 위치 값을 뷰포트 공간으로 바꿔서 가지고옴
       
        if (woripos.x < 0.05f)
        {
            woripos.x = 0.05f;
        }
        if (woripos.x > 0.95f)
        {
            woripos.x = 0.95f;
        }
        this.transform.position = Camera.main.ViewportToWorldPoint(woripos);
    }

월드 공간에서의 위치값을 설정하여 뷰포트 공간으로 바꿔서 가지고 올 수 있음을 알 수 있었음.

 

[ 모바일에서도 이용할 수 있도록 플레이어의 이동을 변환 ]

 

움직임 변환 내용 : 화면의 좌측 & 우측을 클릭하여 플레이어가 움직일 수 있도록 수정

 

녹스를 이용하여 게임 플레이 < 최종 >

 

터치 화면 나눈 방법 -&nbsp;뷰포트 공간을 나눠 좌측, 우측을 구분

 

private void TouchPlayerMove()
    {        
        if(Input.touchCount > 0)
        {
            var screenPos = Input.touches[0].position;
            
            var viewportPos = Camera.main.ScreenToViewportPoint(screenPos);
            var xMove = (viewportPos.x < 0.5) ? -1f : 1f; // 움직임
            
            if (xMove < 0)
            {
                renderer.flipX = true;
                animator.SetBool("Speed", true);
            }
            else if(xMove > 0)
            {
                renderer.flipX = false;
                animator.SetBool("Speed", true);

            }
            else
            {
                animator.SetBool("Speed", false);
            }
            rigidbody.velocity = new Vector2(xMove * speed, rigidbody.velocity.y);
        }
    }

< 모바일 빌드 코드 >

 

유니티 모바일 터치
Input.touchCount 모바일 장치 화면에 접촉되어 있는 손가락의 갯수
Input.touches 모바일 장치 화면에 접촉한 손가락의 순서 ( Touch 구조체를 반환)

 

Camera.main
스크린 포인트(Screen Point) 화면 포인트는 픽셀로 정의
뷰 포인트(Viewport Point) 정규화(0 과 1사이)되고 카메라에 상대적
월드 포인트(World Point) 전역 좌표(Transform.positino)으로 정의

 

 

 

 

 

 

728x90