ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 03. dropper Ragdoll & ui
    newGame/Dropper

    안녕하세요.

     

     

    오늘은 플레이어가 충돌시 일어나는 ragdoll 상태와 더불어

     

    승리 실패 성공 을 했을 시 ui 를 따로 살펴 보려고 합니다.

     


    처음 Ragdoll 시스템을 접했을때 상당히 신기했습니다.

     

    원하는 애니메이션이 아닌 자연스러운? 연출이 가능했으며

     

    현재까지도 많은 옵션값은 잘 모르지만 ragdoll을 어떻게 적용하고 joint를 어떻게 연결 하면 되는지는 확실히 알았습니다..!

     

    유니티 자체에서 Ragdoll을 만들어 입혀 주게 되면 자동으로 박스 콜라이더와 리지드바디

     

    그리고 캐릭터 조인트가 생성이 됩니다.

     

    원하는 부위에 리지드바디와 캐릭터 조인트를 생성하여 더 연결을 할 수 있고, 사이즈 및 위치를 변경 시킬 수 있습니다.


    시작시 터치 화면

    우선 처음 시작하면 어색함을 없애주기 위하여

     

    Touch To Jump! 라는 텍스트와 함께

     

    이미지를 만들어 주었습니다.

     

    이미지는 단순히 Click Back 이미지와

     

    Click Foward 이미지를 활용해

     

    Click Foward의 Animator를 생성해 주어

     

    Click Foward를 활성화 / 비활성화를 해주어 클릭 & 터치 하는

     

    이미지 효과를 연출해 주었습니다.

     

    단순히 터치 텍스트만 텅 하고 있기가 어색해 보여

     

    상단에 Level과 현재 ft를 지정해 주었습니다.

     


    이후

     

    ClickImgController의 스크립트를 만들어

     

    터치하면 플레이어에서 점프가 되게 해주는 판넬의 canvas에 컴포넌트 해 주었습니다.

     

    SerializeField를 이용해 ingameTouchPanel과 Player가 갖고 있는 PlayerController를 받아와 주었으며

     

    OnClickImgTouch 함수를 생성해 주어

     

    "Touch to Jump" 텍스트 이미지를 비활성화 시켜주며

     

    Player가 점프가 되는 기능 구현이 담긴 clickImgJump 함수를 여기서 실행 시켜주게 바꿔 주었습니다.

     

    실행은 단순하게 Event Trigger (터치 & 클릭 시 )

     

    에서 실행 시켜 주었습니다.

     


    실패 화면과 성공 화면의 Ui 입니다.


    그 전에 플레이어의 상태값을 지정해 주기 위해 싱글톤 인줄 알았지만,, 

     

    이것은 싱글톤 패턴이 아닌 단순 스테틱 변수라고 하는게 맞다는 피드백을 받은적이 있어서..

     

    스테틱 변수로 Manager스크립트를 작성해 주었으며,

    플레이어의 상태값을 지정해줄 

     

    enum 상태값 4개를 지정해 주었습니다.

     


    우선 OnTriggerEnter인 SlowBox와 충돌 시

     

    일어질 일에서

     

    Manager의 상태값을 Start로 변경을 해 주었으며.

     

    _vignetteUI 라는 속도선을 더해 주었습니다.

     

    (속도감 +up)

     

    스케일 값을 애니메이션 으로 조정 하여 움직이는 효과를 주었습니다.


    "Obstacle" 이라는 레이어를 만들어서 (장애물) 을 만들어 주었습니다.

     

    차례대로 보자면 vignetteUi(속도선) 비활성화

     

    InGameUI 항목 비활성화

     

    플레이어 Collider 비활성화

     

    PlayerDieMotionUi() 함수 실행

     

    _SpeedParticle (파이틀 속도선 비활성화)

     

    그리고 Instantiate로 플레이어가 장애물에 부딪힐 시 벌어지는 이펙트 효과를

     

    생성해 주었습니다.

     

     


    +추가

     

    InGameUI를 만들어 주어

     

    현재 ft와 Leve의 보여지는 ui 항목들을 관리해 주었습니다.

     

    특이사항으로는 *2 를 해주어 2배씩 떨어지게 만들어 준 점과

     

    초기 상태가 670으로 균일하게 맞춰 준 점 입니다.

     


    다음 글에서는

     

    실패시 button Click Event와

     

    성공시 성공 ui민 Button을 살펴 보도록 하겠습니다.

     

    감사합니다.

     

     

    'newGame > Dropper' 카테고리의 다른 글

    06. dropper Player Move & 1Level  (0) 2022.11.16
    05. dropper NextStage Button  (0) 2022.11.04
    04. dropper ReTryAgain Button  (0) 2022.11.04
    02. dropper 로직  (0) 2022.11.04
    01. dropper 기획 (재)  (0) 2022.11.02

    댓글

김효겸 / Tel. 010-7735-0580 / E-mail. dollzzang2@hanmail.net