게임기획과비주얼스크립팅 5주차 - 블루프린트 기능 추가
수업 안내
다음 주 체육 대회로 인한 휴강
영상 시청 - Experience the art of the possible | Unity AI
스크립팅도 인공지능을 통해서 발전중이다
https://youtu.be/Slw9hnILnes?si=kWtVIB-xMdZL2pKc
이벤트 정밀화
총알에 맞으면 소리가 나도록 하려면 어떻게 해야 할까?
부딪힌 물체가 총알인지 아닌지를 확인해야 한다.
캐릭터가 부딪혀도 색상이 변하는 것은 버그에 가깝다. (눈치채지 못했다면, 테스트를 꼼꼼하게 하지 않은 것)
추가된 기능이 있다면 이것저것 테스트 하는 습관이 중요하다.
우리가 원하는 구현은 "오브젝트와 발사체가 충돌하면" 변경되는 것이다.
왼쪽은 실행되기 위해 필요한 것
오른쪽은 실행될 내용을 의미한다.
각각의 색상은 변수의 타입을 알려준다.
[ 색상별 변수 의미 ]
파란색 : 액터 같은 오브젝트 타입
빨간색 : 참/거짓으로 표현되는 Boolean 타입
노란색 : Vector 타입
남색 : 구조체 타입
총알은 어떻게 구분할까? Other를 통해 맞은 오브젝트를 받아올 수 있다.
기존의 노드 구조에 FirsPersonProjectile 검색하여 연결한다.
Alt를 누르고 클릭하여 선을 끊을 수 있다.
피격 이펙트 추가하기
언리얼에서의 이펙트 처리
Emitter + Particle = Emitter + 수 많은 Particle...
Emitter는 특정 위치에서 파티클 이펙트를 만들어내는 오브젝트
이펙트는 하나 이상의 작은 오브젝트로 이루어져 있다.
영상 시청 - 고급 피직스 및 이펙트 | 기능 하이라이트 | 언리얼 엔진
https://youtu.be/i66v8svhfmI?si=O4_6_Vdllinzs-pb
기존에 작성한 블루프린트에 파티클을 생성할 수 있는 Emitter를 추가하기 위한 함수
Spawn Emitter at Location함수를 노드에 추가한다.
기능 추가하기
Destroy Actor를 통해 삭제 해 보자
총알 수정
컨텐츠 브라우저에서 FirstPersonProjectile을 찾아 수정한다.
좌측에서 Projectile을 클릭하면, 우측 디테일에 사용하는 변수들을 확인 할 수 있다.
캐릭터 수정
일반적인 FPS 게임처럼 왼쪽 쉬프트키를 누르면 달려가는 기능을 추가 해 보자
FirstPersonCharacter 블루프린트를 열어 수정한다.
키 바인딩과 관련된 것들이 이미 구현되어 있다.
Sprint 생성 및 할당
블루프린트에서 생성한 스프린트 입력 액션을 불러올 수 있다.
C키를 눌러 코멘트 박스를 생성 할 수 있다.
Character Movement를 불러와 내부 변수를 조정 할 수 있다.
앉아서 기어가는 기능도 추가 해 보자.
마우스 우클릭을 하면 Zoom이 되는 기능을 추가 해 보자
카메라의 FOV(Field of View)값을 이용하여 구현 할 수 있다.