빌덱 프로젝트, 시각적 완성도 향상에 집중!

오늘은 게임의 시각적 완성도를 높이고 사용자 경험을 개선하는 데 중점을 두었습니다. 배경, UI 요소, 카드 애니메이션, 그리고 덱 시각화 등 다양한 부분에서 개선이 이루어졌습니다.

🛠️ 오늘 구현 및 해결한 주요 내용

  1. 게임 배경 이미지 추가:
    • 단색 배경 대신 고품질의 배경 이미지를 적용하여 게임 분위기를 조성했습니다.
    • Image 컴포넌트의 Source Image에 일반 Texture가 아닌 Sprite 타입의 이미지를 할당해야 하는 문제와 Sprite Mode 설정(Single/Multiple)을 해결했습니다.
    • CanvasRender ModeScreen Space - Overlay에서 Screen Space - Camera로 변경하고, Order in Layer를 조정하여 배경 이미지가 카드 뒤에 올바르게 렌더링되도록 했습니다.
  2. UI 요소 디자인 개선 (폰트 및 버튼):
    • 폰트 변경: TextMeshPro를 사용하여 게임 테마에 어울리는 새로운 폰트를 UI 텍스트에 적용했습니다. (TextMeshPro 폰트 에셋 생성 및 할당)
    • 버튼 스타일링: Kenney UI Pack의 이미지를 활용하여 버튼의 시각적 디자인을 개선했습니다.
  3. 카드 플레이 시 시각 효과 추가:
    • 선택 애니메이션: CardDisplay.cs에 코루틴을 활용하여 카드를 선택했을 때 짧게 커졌다가 흔들리는 애니메이션을 추가했습니다.
      • IEnumerator 사용을 위한 using System.Collections; 네임스페이스 누락 오류를 해결했습니다.
      • PlayCardAnimationSetSelected의 스케일 변경을 덮어쓰지 않도록 애니메이션 로직을 수정했습니다.
    • 파티클 효과: 카드를 교환(플레이)할 때 파티클 효과가 나타나도록 GameManager.cscardPlayParticlePrefab 변수와 PlayCardParticleClientRpc 메서드를 추가하고, SwapSelectedCards()에서 이를 호출하도록 구현했습니다.
  4. 카드 모양 직사각형으로 변경:
    • CardPrototype.prefab의 스케일이 런타임에 Vector3.one으로 강제 설정되어 직사각형 비율이 유지되지 않던 문제를 해결했습니다.
    • HandDisplay.csFieldDeckDisplay.cs에서 카드를 배치할 때 card.transform.localScalenew Vector3(0.7f, 1f, 1f)로 명시적으로 설정하여 직사각형 모양을 유지하도록 수정했습니다.
  5. 덱 및 버린 카드 더미 시각화:
    • DeckPileDisplay.cs 스크립트를 수정하여 메인 덱과 버린 카드 더미가 카드 수에 따라 두껍게 쌓인 것처럼 보이도록 구현했습니다.
    • CardBackVisual.prefab을 활용하여 여러 개의 카드 뒷면 시각화 오브젝트를 생성하고 Z축 오프셋을 주어 쌓이도록 했습니다.
    • 주요 버그 해결:
      • CardBackVisual.prefab에 불필요하게 포함되어 있던 NetworkObject 컴포넌트를 제거하여 네트워크 충돌 오류(GlobalObjectIdHash 중복)를 해결했습니다.
      • DeckPileDisplay.cs에서 cardBackVisualPrefab 변수 선언 오류를 수정했습니다.
      • DeckPileDisplay 스크립트가 붙을 오브젝트(DeckPileManager)를 생성하고, Main Deck PositionDiscard Pile Position Transform 변수에 적절한 위치 오브젝트를 할당하여 UnassignedReferenceException 오류를 해결했습니다.
      • CardBackVisual 프리팹이 단면으로 렌더링되어 180도 회전 시 투명하게 보이던 문제를 해결하기 위해 DeckPileDisplay.cs에서 카드를 회전시키는 코드를 제거했습니다.

🚀 다음 목표

게임의 시각적 완성도가 크게 향상되었습니다. 다음 단계에서는 점수판 기능 구현을 다시 논의하거나, 다른 시각 효과 추가(예: 카드 뽑기/버리기 파티클)를 진행할 수 있습니다.

오늘도 많은 문제들을 해결하며 프로젝트가 한 단계 더 발전했습니다.