1. 오늘 학습 내용(키워드)

오늘은 캐릭터로 레벨, 즉 게임씬에서 상호 작용하는 기능을 추가하는 법을 배웠다.
캐릭터와 오브젝트간 오버랩, 히트, 오브젝트의 무빙 등을 구현하는 방법이다.

  • 인터랙션 : 게임에서 캐릭터, 오브젝트간의 상호작용
    • 인터랙션의 예
      • 직접적 상호작용 : 문열기, 버튼 누르기, 아이템 줍기
      • 환경적 상호작용 : 함정 작동, 플랫폼 이동, 스위치 활성화
      • 물리적 상호작용 : 오브젝트 밀기, 던지기, 파괴하기

  • 이벤트 : 언리얼 엔진에서 인터랙션은 '이벤트'를 통해 발생
    • 예시
      • BOXCollison → 캐릭터가 Collision 안에 들어오면 Overlap 감지
      • 이벤트 발생 → OnComponentBeginOverlap 이벤트 발생
      • EventGraph → TimelineSetActorRotation 실행
      • 결과 → 문이 회전함
    • EventGraph의 구성
      • Event 노드 (시작점) : BeginPlay, Tick, Overlap, Hit
      • 조건 처리 : "누가 들어왔지?", "타이머 다 됐나?" 등 판단
      • 실행 : Timeline 재생, 문 열기, 파티클(이펙트) 재생 등

  • 오버랩, 충돌의 차이 이해
    • 🚪오버랩(Overlap)
      • 겹침을 감지하는 크리거 시스템
      • 물리 충돌 없이 통과 가능(투명한 감지 영역 같은 느낌)
      • 실제 물리 반응은 없지만, 이벤트는 발생함
      • 사용 예 : 문 앞 센서, 체크포인트, 아이템 습득
    • 💥충돌
      • 물리적 접촉을 감지
      • 튕김, 밀림, 파괴 등 물리 기반 반응 가능
      • 사용 예 : 벽에 부딪힘, 공 튀기기, 상자 밀기
    • 실전 예시
      • 오버랩 : 캐릭터가 특정 구역에 들어서자 → 자동문 열림
      • 충돌 : 캐릭터가 상자를 부딪치자 → 상자가 밀려남

2. 학습하며 겪었던 문제점 & 에러

무빙 플랫폼을 여러개 만드는데 작동 시간이 모두 플레이 후 일정하게 시작되어 같이 동기화 되어 움직이는 것 처럼 보였다. 튜더님에게 방법을 묻고 서로 다르게 시간을 주는 법을 로직에 추가하여 무빙 플랫폼이 각각 다르게 움직일 수 있도록 하였다.

  • Delay 로직을 추가하였다.

[플레이 영상]

3. 느낀점

캐릭터와 상호작용을 할 수 있는 오브젝트가 생기기 레벨이 좀 더 재밌는 공간이 되어 가고 있다. 게임의 한 스테이지 정도 만들 수 있게 되었다.

4. 차주 학습 할 것

C++란 무엇인가?, C++ 코딩 배우기

profile
🕹️🎮🍱✈️📸 안녕하세요! 게임개발에 도전하고 있습니다!

0개의 댓글