프로그래밍 공부

서울게임아카데미 교육과정 6개월 국비과정 113

카테고리 설명
  • 공격방식을 추가하여 다체롭개 해보자. 기존에 사용하였던, 소드모션의 동작방식을 재활용하여 마법 공격 방식을 추가한다. 입력 액션 설정 공격모션의 시작점인 무기 장착이다. 전에 만들었던 Sword의 장착키는 1 이고, Wizard의 장착키는 2로 설정하여 동작시킬 것 이다. Combat을 참조하여, 현재 Combat에 따라 장착한것이 없을 때는 StartWizardMode를, 칼을 들고 있을 때 는, Sheath Sword를, 아니라면 내가 마법모션 이었을 경우, WizardMode를 종료시킨다. 기본 상태에서는 마법모드를 시작하고, 칼을 들고 있을 때는 칼을 넣고 마법을 들어야 할 것 이다. 이러한 과정을 통합하여, 좀 더 자연스럽게, 전환을 실행 -> 전환시에 모션 판별을 하여 코드를 자연스럽게 구성시..

  • 공격이벤트에 칼에 따라다니는 선을 하나 그어보자. 트레일 이벤트를 커스텀으로 가볍게 만들 것 이다. 우선, 이팩트를 만들기 위해 머티리얼을 한개 제작해준다. 머티리얼 커스텀 머티리얼을 커스텀 할 것 이다. 우선 파티클 컬러를 생성하고, 해당 컬러에 필터를 씌워서 알파값을 조정할 것 이다. TextureCoordinate를 생성한다. 이 블루프린트는 일정좌표로 계산되어 UV값의 위치를 조정하는 역할을 한다. 적용하는 텍스처의 UV값을 조정하여 어떠한 값 기준으로 블렌딩하는데 이용된다. ComponentMast를 추가한다. 이것은 RGB중 사용자가 지정한 Color값을 Mask하여 가려버리는 효과가 있다. 즉, 해당 Color값은 A값이 0이된다. 마스크를 위와같이 지정해보자. UV좌표값이 구체를 기준으로,..

  • 언리얼에서 CSV데이터를 활용하여 콤보공격을 구현해보자. 우선, 콤보 공격은 공격 이벤트를 수정해야 함 으로 공격이벤트를 건들이는 블루프린트 노드로 이동한다. BP_Player->AttackingEvent 우선 추가해야할 변수는 위와 같다. 현재 다음 콤보로 넘어가는 과정인지 체크할 bool변수 한개, 현재 콤보공격이 몃번째에 해당하는지 확인하는 float변수 한개 현재 콤보공격이 마지막 콤보인지 확인하는 bool변수 한개(이건 이펙트와 카메리위빙에 사용함) 다음 애니메이션이 콤보공격을 출력하는지 확인하는 bool변수 한개 이다. 콤보공격에 노티파이 추가하기 우선 콤보공격 시에, 현재 공격이 콤보공격에 넘어갈 수 있는지 확인하는 노티파이를 추가할 것 이다. 즉, 노티파이 스테이트 를 사용해서 일점 범위구..

  • 값의 정보를 CSV파일로 저장, 불러오기 해보자. 먼저, CSV파일 형태로 저장하기 위해 형식을 만들어야 한다. 데이터 테이블 만들기 데이터 테이블은 위와같이 생성할 수 있다. 지정된 데이터 테이블에 대해 형식을 저장하거나, 일정 형식으로 저장되어있는 CSV와 같은 형태로 데아터를 지정하고 불러오면 된다. 데이터 테이블을 만들 시에 위와같이 가져올 수 있다. CSV파일 형태로 데이터가 저장되며, 여기서 수정하여 내보낼 수 있다. 또는 CSV파일을 가져올 수도 있다. 데이터 테이블 불러오기 형식이 만들어져 있는 CSV파일이다. 이 데이터를 언리얼에서 가져와 사용하려면 다음과 같은 순서를 따른다. 먼저, 가져올 데이터 테이블 CSV의 형식을 전부 지정해주어야 한다. 블루프린트 -> 구조체 로 이동하여, 구조..

  • 언리얼 내에서 피격처리를 좀더 객관화 하여, 추가적인 행동을 취해보자. 피격 시 애니메이션을 송출할 것이다. 우선, 피격 애니메이션을 정의할 몽타주를 새로 생성한다. 몽타주 생성 위와같이, Hit모션에 따른 몽타주를 새로 정의한다. 사망모션과 Hit모션을 둘다 만들어준다. 몽타주는 각각 Hit은 상체 또는 전신으로 동작하고, Dead는 전신으로 동작한다. 각 몽타주의 슬롯을 필요에 따라 원하는 위치에 정의해준다. 몽타주를 만들었으면, 이제 ABP에서 BP작업을 진행해준다. ABP연결하기 ABP_Enemy로 이동한다. 이미 전에 ABP_Player에서 했던대로, 새롭게 연결하여 정의해준다. 기본 애니메이션은, BS_SwordEnemy를 통해 재생되고, 해당 애니메이션을 기준으로, UpperBody, 그 이..

  • 전에 만들었던 HP_Bar위젯을 머리위에 띄울 것 이다. 먼저, BP_Enemy로 이동하여,Mesh에 상속되는 WIdget을 생성한다. 이 위젯 컴포넌트 에서 객체를 미리 할당하고, 제어할 것 이다. 생성 한 뒤, 디테일 창으로 이동한다. 디테일 창 에서 객체의 UserInterface를 통해 생성한 Widget 의 객체를 설정해줄 수 있다. 내부 세부사항은 위와같이 설정하여, 드로 사이즈를 정의해준다. Health_Bar 체력바의 이벤트 그래프를 정의한다. 커스텀 이벤트를 만들고, 인풋값으로 Health를 받아온 다음, 호출마다 HealthBar의 %를 바꾸어준다. 예시에서는 100 을 최대치로 정의하였지만, 전체 체력을 따로 받아와서 1을 최대치로 정의해주어도 된다. 체력값 조정 커스텀 이벤트를 정의..