모름

 

이번 튜토리얼에서는 위와 같이 지구를 바탕으로 스테이지를 선택하는 씬을 따라하여 만들어봅니다. 

 

 

구체에 스테이지 선택 포인트가 될 구체를 덧붙여줍니다. 이 때 중요한 것은 Pivot을 스테이지 포인트와 카메라 피봇을 동일하게 적용해주어야 한다는 점입니다.

 

public void LookAtKingdom(Kingdom k) {
    Transform cameraParent = Camera.main.transform.parent;
    Transform cameraPivot = cameraParent.parent;

    cameraParent.DOLocalRotate(new Vector3(k.y, 0, 0), lookDuration, RotateMode.Fast).SetEase(lookEase);
    cameraPivot.DOLocalRotate(new Vector3(0, -k.x, 0), lookDuration, RotateMode.Fast).SetEase(lookEase);

    //인디케이터 UI 타겟
    FindObjectOfType<FollowTarget>().target = k.point;
}

 

적용된 Pivot 을 이용하여, DOTween 에셋을 이용하여 로컬회전을 준다면 자연스러운 회전이 가능해집니다. DOTween 은 스크립팅 애니메이션 에셋입니다.

 

 

 

그리고 포토샵을 통해 간단한 Fade 이미지를 만들어 준 후 전체 화면에 덮어씌어줍니다. 그럼 우측 화면처럼 FADE 효과가 들어간 화면을 얻을 수 있습니다.

 

 

이어서 지구 텍스쳐 이미지와 우주 이미지를 가져와 각각 지구표면 메터리얼, 스카이박스 메터리얼로 변환시켜 적용합니다.

 

 

그리고 포인트 지점을 가리키는 UI 애니메이션을 추가합니다.

 

private void Animate() {
    Sequence s = DOTween.Sequence();
    s.Append(rect.DOSizeDelta(origSize, duration).SetEase(Ease.OutCirc));
    s.Join(img.DOFade(1, duration / 3));
    s.Join(img.DOFade(0, duration / 4).SetDelay(duration / 1.5f));
    s.SetLoops(-1);
}

 

위 애니메이션도 DOTween 에셋을 활용합니다. Sequence 타입은 DOTween 을 이용한 애니메이션들을 모아 한 장면에 저장한다는 의미로 보입니다. 이를 이용해 UI의 rect.sizeDelta 를 원래 사이즈로 원상복귀 시키는 애니메이션을 만듭니다. 그리고 SetLoops() 함수를 통해 무한 반복을 요청합니다.

 

 

최종적으로 위와 같은 화면을 만들 수 있습니다. 여기서 표현하지 못한 부분은 베지에 곡선과 지구 표면 라이팅 효과입니다. 추후 작성하겠습니다.