코가손의 블로그

[ DevLog ] Udemy강의 학습, Unreal Engine 5 C++ Developer: Learn C++ & Make VideoGames 본문

GameDevLog/UnrealEngine5

[ DevLog ] Udemy강의 학습, Unreal Engine 5 C++ Developer: Learn C++ & Make VideoGames

Cogason 2023. 3. 5. 19:53

코스 내용 : https://www.udemy.com/course/unrealcourse/

 

 

[ 2023.02.22 ~ 2023.03.03 ]

  • Physics Simulation옵션
    • 쌓아두면 불안정함, Add 10DOP Simplified Collision으로 해결
  • 카메라 바라보는 방향으로 오브젝트 발사
    • Impulse 사용
    • 엑터 스폰
    • 벡터 기초, Rotation
  • Functions, Pure Functions, Member Functions 다룸
  • Loading Levels, Delay
    • 총알 다 쓰면 5초 후 레벨 재시작

 

 

  • 캐릭터 블루프린트
    • 입력에 따른 캐릭터 이동 기능
  • C++ 사용
    • UPROPERTY로 편집기에서 클래스 관련 설정
  • 움직이는 플랫폼 구현
    • 캐릭터 밀릴 때 이상하게 밀리는 현상 해결법
  • GameMode설정
  • OutputLog 출력
  • FRotator로 회전해보기

 

 

[ ~ 2023.03.04 ]

  • Modular식 레벨 디자인, 빛 세팅
  • C++ 엑터 컴포넌트
  • FVector VInterpConstantTo로 Lerp구현
  • 인게임 오브젝트 피킹, Grabber클래스 구현
    • DrawDebugLine()
    • GetWorld()->SweepSingleByChannel()
      (TraceChannel은 GameEngine.ini 파일에서 찾을 수 있음)

 

 

[ ~ 2023.03.06 ]

  • Grabber Release기능 추가
  • TriggerComponent, OverlapEvents 이용, 트리거에 가고일 석상 인식 시키기
  • Trigger 가고일에만 발동되도록 ActorTag 설정
  • AttachToComponent이용하여 트리거&가고일 함께 땅으로 내려가도록 구현
    • Grab한 상태면 트리거가 내려가지 않도록함
    • Grab상태를 Tag이용하여 알려줌

 

 

[ ~ 2023.03.08 ]

  • 타워와 탱크의 부모클래스 설계
    • 탱크 = 베이스 + 터렛(회전부), 타워 = 베이스 + 터렛
  • PlayerController & GetHitResultUnderCursor로 탱크 터렛 회전 구현
    • PlayerController가 있으면 GetHitResultUnderCursor호출 가능
  • 부자연스러운 터렛 회전 보정(마우스 위치에 따른 급격한 회전, 설치한 메쉬 바깥에 HitResult시)
    • Interpolation이용, 부드럽게 회전
    • HitResult가 벽을 넘어가지 않도록 Blocking Volume설치

 

 

[ ~ 2023.03.09 ]

  • 타워 회전
  • ActionMapping, AxisMapping
    • Axis -> 매 프레임 호출 -v ~ v 값 리턴
    • Action -> 눌렸을 때 호출
  • Fire기능(탱크와 타워)
    • 탱크 좌클릭 시 발사, 타워는 타이머 이용 발사
    • GetWorldTimerManager().SetTimer() 사용
  • 대포알 Spawn (C++에서 Blueprint기반 클래스 Spawn)
    • TSubclassOf<클래스> 변수, 이용해 편집기에서 대포알 메쉬 설정
  • 대포알 움직이는 방법3가지
    • Tick사용 안함-> 엔진의 Impulse 이용
    • Tickt사용 -> 직접 계산
    • MovementComponent이용(선택)

 

 

[ ~ 2023.03.11 ]

  • 대포알 - 엑터 데미지 처리
    • OnTakeAnyDamage, OnComponentHit, UGameplayStatics::ApplyDamage 이용
  • GameMode에서 엑터(탱크, 터렛)죽음 처리
  • GameMode 승리/패배 게임로직 및 Widget
  • FX & Audio
  • CameraShake

 

 

[ ~ 2023.03.13 ]

  • 애니메이션 블랜드
  • 소켓이용 총 부착
  • 총 슈팅
    • Controller->GetPlayerViewPoint
    • LineTraceSingleByChannel

 

 

[ ~ 2023.03.14 ]

  • 총 데미지, FPointDamageEvent
  • 죽음/기본 애니메이션을 Blend Poses by Bool로 블랜드
  • 적, AI Controller
    • SetFocus(), MoveToActor(), LineOfSight()
    • Behavior Tree, Blackboard
    • Decorator, Selector, Service
  • 게임 종료 조건 확인
    • EngineUtils의 TActorRange로 월드 내의 모든 컨트롤러 찾아 이용

 

 

[ ~ 2023.03.15 ]

  • 게임모드 승리조건 추가
  • 총 발사 관련 사운드
    • Randomized Sound Ques
    • SoundSpacialization
  • 크로스헤어, 체력바
  • AimOffset & Animation State Machine
Comments