전체 글330 8. 카메라 연결 & 플레이어 이동 이번 강의에서는 카메라 연결과 플레이어 이동 두 가지 기능에 대해 알아봤다. 카메라 연결의 경우는 이전 SpringArm과 비슷하게 헤더 파일을 추가하고 클래스를 선언 및 정의하는 과정이었다. 다만 좀 다른 점은 SetupAttachment 함수에서 연결해주는 부분이 RootComponent가 아닌 SpringArm이라는 것 플레이어 이동의 경우 상/하/좌/우 이동하는 기능을 구현했는데, 프로젝트 설정의 입력 란에서 축에 대해 각각 값을 정할 수 있었는데, 예를 들면 Forward는 1, Backward는 -1이었다. 이런 식으로 설정해 준 다음 실제로 AShooterCharacter 클래스에서 멤버함수를 만들어주고, 이 함수들을 바인딩해주는 일련의 과정들을 거치게 되었다. void AShooterCha.. 2023. 3. 28. 14. Player Interface HUD 구현 Player Interface HUD - 플레이어의 현재 상태를 나타내는 HUD로, HP바와 스킬셋을 보여준다. - 현재 캐릭터의 종류, HP바를 구현했고, 스킬셋은 추후 구현할 예정이다. - PlayerInterface HUD 클래스를 두고, HealthBarHUD 클래스 등 같이 움직이는 HUD들을 PlayerInterfaceHUD의 월드에 종속되게 해서 같이 움직일 수 있도록 처리했다. - HP 바의 경우 조금 공을 들였는데, HP를 나타내는 텍스쳐가 1칸(1x8 텍스쳐)이어서 이걸 이용해서 HP를 그리려면 어떻게 해야 할까 고민한 끝에 hlsl 셰이더 코드랑 친해질 겸 한번 셰이더로 짜봤다. - 현재 HP바의 위치, 텍스쳐의 크기, 현재 플레이어의 체력 비율, 화면 전체 크기를 상수 버퍼로 넘겨서.. 2023. 3. 28. 7. Spring Arm 만들기 이번 강의는 Spring Arm을 만드는 내용이었다. Spring Arm을 만들면서 언리얼 엔진의 UPROPERTY 매크로를 통해 속성을 정의하고 블루프린트나 Details 창에 표시되도록 하는 VisibleAnywhere 옵션과 카테고리를 설정하는 등의 기능들을 알아봤다. SpringArm 클래스에 대해서는 아직 정확하게 설명이 나오진 않았지만 이 SpringArm의 끝에 카메라를 단다고 했으니 셀카봉? 비슷한 개념으로 생각이 된다 다만 내가 들고 있는 게 아니라 몸 어딘가 긴 막대기를 연결해서 쭉 빼놓은 느낌?ㅎㅎ - 그 외에 헤더 파일을 추가할 때 API문서를 참고해서 주소를 알아내는 방법과, 헤더 파일을 솔루션 탐색기에서 검색해서 알아보는 내용을 배웠다. - 이 내용도 잘 기억해뒀다가 앞으로 작업.. 2023. 3. 27. 6. UE_LOG(FString, float, bool, char, wchar ...) 이번 수업에서는 UE_LOG에서 출력할 수 있는 여러 가지 Primitive Type들에 대해 알아보았다. 그리고 FString에 대해서도 알아보았다. FString은 TEXT("") 매크로를 통해 유니코드로도 작성 가능하며, 역참조 연산자를 오버로딩해서 const char*를 반환하는 기능을 확인했다. UE_LOG를 이용하면 작업할 때 특정 분기에서 로그를 출력하도록 해서 디버깅에 많은 도움이 될 것이다. 그리고 *GetName()을 출력함으로써 이걸 출력한 오브젝트가 어떤 오브젝트인지도 구분이 가능하다. 앞으로 언리얼 엔진을 사용하면서 매우 유용하게 사용할 것 같은 기능이다. 2023. 3. 27. 이전 1 ··· 36 37 38 39 40 41 42 ··· 83 다음