• 티스토리 홈
  • 프로필사진
    유니얼
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
유니얼
  • 프로필사진
    유니얼
    • 분류 전체보기 (295)
      • Unity (17)
        • 게임 개발 (5)
      • Unreal (24)
        • 게임 개발 (20)
      • DirectX (36)
      • 코딩테스트 (91)
        • 프로그래머스 (25)
        • 백준 (66)
      • Google Workspace (1)
      • Programing (102)
        • C# (68)
        • C++ (24)
        • JavaScript (10)
      • 게임 서버 프로그래밍 (17)
      • Web (6)
        • 슈퍼코딩 (6)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
    등록된 댓글이 없습니다.
  • 최근 공지
    등록된 공지가 없습니다.
# Home
# 공지사항
#
# 태그
# 검색결과
# 방명록
  • [Unreal Engine] CounterStrike류 멀티플레이 게임 제작 12# Weapon Switch
    2024년 04월 17일
    • 유니얼
    • 작성자
    • 2024.04.17.:01
    728x90

    개요

    멀티플레이 게임에서 무기 전환 시스템은 플레이어가 전투 상황에 빠르게 대응하고 다양한 전략을 사용할 수 있게 해줍니다. Unreal Engine에서는 입력 액션, 논리, 애니메이션을 사용하여 매끄러운 무기 전환 기능을 구현할 수 있습니다. 이 포스트에서는 무기 전환을 위한 입력 액션 설정, 무기 전환 로직 구현, 무기 장착 및 해제 알림(RepNotify), 애니메이션 몽타주 생성, 그리고 장착 애니메이션 멀티캐스트 방송에 대해 설명합니다.

     

    Weapon Switching Input Actions

    플레이어가 무기를 전환할 수 있도록 특정 입력에 대한 액션을 설정합니다.

    1. 프로젝트 설정에서 'IA_PrimaryWeapon','IA_SecondaryWeapon' 입력 액션을 생성하고, 키나 버튼 바인딩을 할당합니다.
    2. 'BP_BasePlayer'에서 이 입력 액션을 감지하는 이벤트를 추가합니다.

    Weapon Switching Logic

    무기 전환 로직은 현재 선택된 무기와 플레이어가 선택하려는 무기 간의 전환을 처리합니다.

    1. SRV_EquipWeapon 이벤트가 트리거될 때, 플레이어 인벤토리에서 다음 무기를 찾습니다.
    2. 현재 무기를 비활성화하고, 선택한 무기를 활성화합니다.

    Equip and Unequip Weapon RepNotify

    무기의 장착과 해제를 네트워크상의 다른 플레이어와 동기화하기 위해 RepNotify를 사용합니다.

    1. 무기의 상태(장착된 무기, 비활성화된 무기)를 추적하는 Replicated 변수를 설정합니다.
    2. RepNotify 함수를 사용하여 이 변수의 변경 사항이 네트워크에 방송될 때마다 동기화된 무기 전환을 처리합니다.

    Creating Animation Montages

    무기 전환 시 플레이어 캐릭터가 애니메이션을 재생하도록 애니메이션 몽타주를 생성합니다.

    • 각 무기에 대한 장착 애니메이션 몽타주("AnimMon_Reload_Pistol","AnimMon_Reload_Rifle")를 만듭니다.
    • 몽타주 Anim Slot Manager에서 UpperBody Slot을 추가하고 "AnimMon_Reload_Pistol","AnimMon_Reload_Rifle"의 슬롯을 UpperBody Slot으로 교체합니다.
    • 애니메이션 블루프린트에서 "Layered blend per bone"을 통해서 무기 전환 시 애니메이션을 블랜딩합니다.

    Equip Animation Multicast

    무기 장착 애니메이션을 모든 클라이언트에게 방송하기 위해 멀티캐스트 이벤트를 사용합니다.

    1. 애니메이션 몽타주를 네트워크상의 모든 클라이언트에 재생하는 멀티캐스트 함수를 구현합니다.
    2. 플레이어가 무기를 전환할 때, 해당 멀티캐스트 함수를 호출하여 모든 플레이어에게 애니메이션을 동기화합니다.

    결론

    Unreal Engine의 Blueprint를 사용한 무기 전환 시스템은 멀티플레이 게임에서 플레이어의 경험을 풍부하게 만드는 핵심 기능입니다. 입력 액션, 전환 로직, RepNotify, 그리고 애니메이션 몽타주를 통해 플레이어는 부드럽고 직관적으로 무기를 전환할 수 있습니다.

    반응형
    다음글
    다음 글이 없습니다.
    이전글
    이전 글이 없습니다.
    댓글
조회된 결과가 없습니다.
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
목차
표시할 목차가 없습니다.
    • 안녕하세요
    • 감사해요
    • 잘있어요

    티스토리툴바