Unreal Engine
-
블루프린트 뷰포트에서 캐릭터 메쉬를 할당해주고 위치를 조절할 때 좌측 상단의 원근을 사용하면 정확한 위치 이동이 가능하다. 여담으로 유니티, 3DMAX, 언리얼의 좌표계는 모두 다르다. 그렇기에 화살표(Arrow) 컴포넌트는 캐릭터의 방향을 알려주어 정말 편하다고 할 수 있다. 이벤트 그래프에서 데이터에 우클릭 하면 변수로 승격이라는 버튼이 존재한다. 이 기능은 해당 핀에 호환되는 변수를 만들고 Get 노드를 꺼내 바로 연결까지 해준다. https://onionisdelicious.tistory.com/49 [UE4/Theory] 008. 인터페이스 Interface !!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해..
[UE4/Theory] 000. 자잘한 팁들블루프린트 뷰포트에서 캐릭터 메쉬를 할당해주고 위치를 조절할 때 좌측 상단의 원근을 사용하면 정확한 위치 이동이 가능하다. 여담으로 유니티, 3DMAX, 언리얼의 좌표계는 모두 다르다. 그렇기에 화살표(Arrow) 컴포넌트는 캐릭터의 방향을 알려주어 정말 편하다고 할 수 있다. 이벤트 그래프에서 데이터에 우클릭 하면 변수로 승격이라는 버튼이 존재한다. 이 기능은 해당 핀에 호환되는 변수를 만들고 Get 노드를 꺼내 바로 연결까지 해준다. https://onionisdelicious.tistory.com/49 [UE4/Theory] 008. 인터페이스 Interface !!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해..
2020.07.09 -
!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 언리얼에서는 AI 컨트롤 클래스 라는 녀석을 제공해주고 있다. 이 클래스는 AI가 하는 행동들을 구현해 놓은 클래스이다. 위처럼 AI 컨트롤러를 만들어 두면 이를 다른 Enemy에 연결하여 AI를 활용할 수 있도록 한다. 스텔스 게임의 경우 일반적으로 게임 내에서의 적이 플레이어를 보거나 플레이어의 소음을 듣고 행동한다. 그런 행동 역시, AI Controller 블루프린트에서 지정이 가능하다. 위에서 생성한 블루프린트의 컴포넌트에 PawnSensing 을 추가하자. PawnSensing 으로 방금 말했던 부분들을 감지할 수 ..
[UE4/Theory] 016. AI 컨트롤러 AI Controller!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 언리얼에서는 AI 컨트롤 클래스 라는 녀석을 제공해주고 있다. 이 클래스는 AI가 하는 행동들을 구현해 놓은 클래스이다. 위처럼 AI 컨트롤러를 만들어 두면 이를 다른 Enemy에 연결하여 AI를 활용할 수 있도록 한다. 스텔스 게임의 경우 일반적으로 게임 내에서의 적이 플레이어를 보거나 플레이어의 소음을 듣고 행동한다. 그런 행동 역시, AI Controller 블루프린트에서 지정이 가능하다. 위에서 생성한 블루프린트의 컴포넌트에 PawnSensing 을 추가하자. PawnSensing 으로 방금 말했던 부분들을 감지할 수 ..
2020.07.09 -
!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 언리얼에서는 NPC의 AI를 편하게 구현하기 위해서 다양한 기능을 제공한다. 이번에 소개할 기능은 그 중 하나이다. 여담으로 이 기능은 유니티에서도 존재한다. 내비게이션 메쉬는 AI가 움직일 수 있는 이동 범위를 지정할 수 있다. 우선 다음의 객체를 꺼내 배치해보자. 그럼 큐브와 비슷한 모습으로 등장하는데 해당 큐브 영역 안에 스테이지가 존재하면 이를 자동으로 감지하여 이동할 수 있는지 없는지를 자동으로 판단한다. 내비 메시의 스케일을 늘리면 늘릴 수록 그 범위는 증가한다. 내비 메시의 스케일을 늘려서 내비가 적용되는 범위를 ..
[UE4/Theory] 015. 내비게이션 메쉬!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 언리얼에서는 NPC의 AI를 편하게 구현하기 위해서 다양한 기능을 제공한다. 이번에 소개할 기능은 그 중 하나이다. 여담으로 이 기능은 유니티에서도 존재한다. 내비게이션 메쉬는 AI가 움직일 수 있는 이동 범위를 지정할 수 있다. 우선 다음의 객체를 꺼내 배치해보자. 그럼 큐브와 비슷한 모습으로 등장하는데 해당 큐브 영역 안에 스테이지가 존재하면 이를 자동으로 감지하여 이동할 수 있는지 없는지를 자동으로 판단한다. 내비 메시의 스케일을 늘리면 늘릴 수록 그 범위는 증가한다. 내비 메시의 스케일을 늘려서 내비가 적용되는 범위를 ..
2020.07.09 -
!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 사운드를 사용하기 위해선 콘텐츠 브라우저로 사운드 파일을 가져오고 우클릭 -> 큐 생성으로 큐를 만들어준다. (언리얼에서 사운드를 사용하기 위해선 되도록 .wav파일을 사용하자) Material 파일과 비슷한 맥락으로 사운드 소스를 출력하는데 여러가지 처리를 할 수 있다. 예를 들어서 Modulator 라는 노드는 해당 사운드의 Pich값, Volume값을 조절할 수 있도록 해준다. Random 노드를 추가하면 다수의 사운드 클립을 연결 해주고 재생했을 때, 연결된 사운드 중에서 랜덤으로 하나를 재생하도록 한다. 이는 피격마다..
[UE4/Theory] 014. 사운드 Sound!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 사운드를 사용하기 위해선 콘텐츠 브라우저로 사운드 파일을 가져오고 우클릭 -> 큐 생성으로 큐를 만들어준다. (언리얼에서 사운드를 사용하기 위해선 되도록 .wav파일을 사용하자) Material 파일과 비슷한 맥락으로 사운드 소스를 출력하는데 여러가지 처리를 할 수 있다. 예를 들어서 Modulator 라는 노드는 해당 사운드의 Pich값, Volume값을 조절할 수 있도록 해준다. Random 노드를 추가하면 다수의 사운드 클립을 연결 해주고 재생했을 때, 연결된 사운드 중에서 랜덤으로 하나를 재생하도록 한다. 이는 피격마다..
2020.07.09 -
!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 대쉬를 구현하기 위해서 Launch 노드를 사용할 것이다. 구현 방법은 다음과 같은 구조로 시행했다. 프로젝트 세팅에서 DashStart Input 값을 설정하고 캐릭터 블루프린트의 부모 클래스에서 이벤트를 만든다. 그리고 커스텀 이벤트를 만드는데 이때, 커스텀 구현내용은 자식 클래스에서 할 것이기에 비워둔다. 자식 클래스에서 DashEvent 노드를 꺼낸다. 구현하기 전에 부모 클래스에 있던 내용도 실행해주기 위해서 우클릭 -> 부모 함수로의 호출 추가를 누른다. 그러면 부모 함수도 호출하는 노드가 생성된다. 이후엔 Laun..
[UE4/Theory] 013. 앞 대쉬 구현 (Launch)!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 대쉬를 구현하기 위해서 Launch 노드를 사용할 것이다. 구현 방법은 다음과 같은 구조로 시행했다. 프로젝트 세팅에서 DashStart Input 값을 설정하고 캐릭터 블루프린트의 부모 클래스에서 이벤트를 만든다. 그리고 커스텀 이벤트를 만드는데 이때, 커스텀 구현내용은 자식 클래스에서 할 것이기에 비워둔다. 자식 클래스에서 DashEvent 노드를 꺼낸다. 구현하기 전에 부모 클래스에 있던 내용도 실행해주기 위해서 우클릭 -> 부모 함수로의 호출 추가를 누른다. 그러면 부모 함수도 호출하는 노드가 생성된다. 이후엔 Laun..
2020.07.09 -
!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 적의 피격 판정을 처리해보려고 한다. 본인은 사전에 적에 대해서 블루프린트를 만들어 두었다. 혹시라도 이 글을 보는 사람이 있다면 이 글이 조금 난해하더라도 구현 방식에 집중하주었음 한다. 그럼 원하는 정보를 얻을 수 있을 것이다. 적의 피격 판정을 처리하기 위해서 피격 판정용 콜리전을 만들어 넣어준다. 이유는 캐릭터 기반 블루프린트가 기존에 가지고 있는 캡슐 콜리전은 용도에 맞게 변경이 어려울 뿐 아니라 다른 콜리전으로 변경이 복잡하다. 캐릭터의 공격 판정을 처리하기 위해서 마찬가지로 캐릭터에 공격 판정용 콜리전을 만들어 넣..
[UE4/Theory] 012. 피격 판정 처리 (Collision Overlap / AnimNotifyState)!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 적의 피격 판정을 처리해보려고 한다. 본인은 사전에 적에 대해서 블루프린트를 만들어 두었다. 혹시라도 이 글을 보는 사람이 있다면 이 글이 조금 난해하더라도 구현 방식에 집중하주었음 한다. 그럼 원하는 정보를 얻을 수 있을 것이다. 적의 피격 판정을 처리하기 위해서 피격 판정용 콜리전을 만들어 넣어준다. 이유는 캐릭터 기반 블루프린트가 기존에 가지고 있는 캡슐 콜리전은 용도에 맞게 변경이 어려울 뿐 아니라 다른 콜리전으로 변경이 복잡하다. 캐릭터의 공격 판정을 처리하기 위해서 마찬가지로 캐릭터에 공격 판정용 콜리전을 만들어 넣..
2020.07.09 -
!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 이번 글은 이전 글 중에서 'C++로 다루는 언리얼'의 추가 내용이다. 다음의 링크를 확인하자. https://onionisdelicious.tistory.com/44 [UE4/Theory] 005. C++로 다루는 언리얼 !!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 언리얼은 C++ 언어로 프� onionisdelicious.tistory.com 본인이 사용하고 있는 캐릭터는 부모 클래스가 C..
[UE4/Theory] 011. C++로 다루는 언리얼 2!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 이번 글은 이전 글 중에서 'C++로 다루는 언리얼'의 추가 내용이다. 다음의 링크를 확인하자. https://onionisdelicious.tistory.com/44 [UE4/Theory] 005. C++로 다루는 언리얼 !!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 언리얼은 C++ 언어로 프� onionisdelicious.tistory.com 본인이 사용하고 있는 캐릭터는 부모 클래스가 C..
2020.07.09 -
!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 애니메이션을 바탕으로 몽타주를 만들 수 있다. 이는 지난 글에서 다뤘었다. 그런데 몽타주를 살펴보면 섹션이라는 기능이 존재한다. 애니메이션에 섹션을 설정하면 애니메이션의 흐름을 설정할 수 있다. 예를들어 공격을 하는 애니메이션에 대해서 임의의 위치에 Attack01, Attack02 섹션을 만들고 몽타주를 플레이할 때, 몽타주 플레이 노드에 인자값으로 Attack02 섹션을 넣어주면 Attack02 섹션에서부터 애니메이션이 플레이 된다. 어떤 섹션부터 실행하는가, 섹션이 끝나면 어떤 섹션으로 넘어가냐, 섹션이 끝나면 루프를 돌..
[UE4/Theory] 010. 애니메이션 몽타주의 섹션!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 애니메이션을 바탕으로 몽타주를 만들 수 있다. 이는 지난 글에서 다뤘었다. 그런데 몽타주를 살펴보면 섹션이라는 기능이 존재한다. 애니메이션에 섹션을 설정하면 애니메이션의 흐름을 설정할 수 있다. 예를들어 공격을 하는 애니메이션에 대해서 임의의 위치에 Attack01, Attack02 섹션을 만들고 몽타주를 플레이할 때, 몽타주 플레이 노드에 인자값으로 Attack02 섹션을 넣어주면 Attack02 섹션에서부터 애니메이션이 플레이 된다. 어떤 섹션부터 실행하는가, 섹션이 끝나면 어떤 섹션으로 넘어가냐, 섹션이 끝나면 루프를 돌..
2020.07.09 -
캐릭터 블루프린트에 카메라를 달아주고 캐릭터 이동을 구현했었다. 그런데 막상 구현하니 캐릭터 애니메이션 처리와 카메라 처리가 상당히 부자연 스러웠다. 이는 다음의 값들로 수정해줌으로써 에러를 수정했는데 수정한 값들을 정리하고 지금보니 난해한 정리였다. 적어는 두겠지만 나중에 다시 이해할 수 있을지는 모르겠다. 캐릭터 이동에 따른 회전: 1. CharacterMovement / Rotation Settings / Orient Rotation to Movement 2. BluePrint(self) / Pawn / Use Controller Rotation Yaw. 카메라 처리 : Camera / Camera Settings / Inherit Yaw
[UE4/Issue] 캐릭터 이동에 따른 회전과 카메라 처리캐릭터 블루프린트에 카메라를 달아주고 캐릭터 이동을 구현했었다. 그런데 막상 구현하니 캐릭터 애니메이션 처리와 카메라 처리가 상당히 부자연 스러웠다. 이는 다음의 값들로 수정해줌으로써 에러를 수정했는데 수정한 값들을 정리하고 지금보니 난해한 정리였다. 적어는 두겠지만 나중에 다시 이해할 수 있을지는 모르겠다. 캐릭터 이동에 따른 회전: 1. CharacterMovement / Rotation Settings / Orient Rotation to Movement 2. BluePrint(self) / Pawn / Use Controller Rotation Yaw. 카메라 처리 : Camera / Camera Settings / Inherit Yaw
2020.07.09 -
!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 블렌드 스페이스에 대한 내용을 진행하기 전에 캐릭터에 대한 애니메이션 작업은 애니메이션 블루프린트에서 작업한다. 이번에 할 작업은 애니메이션 블루프린트가 캐릭터의 이동속도를 가지고 있어야 한다. Anim 블루프린트의 이벤트 그래프에 존재하는 Update를 통해 Velocity값에 따른 처리를 하도록 노드가 구성했다. '블렌딩 처리' 라는 작업에 대해서 전에 다뤄본적이 있다. 아래 링크를 참조하면 그 내용을 확인할 수 있다. https://onionisdelicious.tistory.com/31 [UE4/Theory] 004.캐..
[UE4/Theory] 009. Blend Space!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 블렌드 스페이스에 대한 내용을 진행하기 전에 캐릭터에 대한 애니메이션 작업은 애니메이션 블루프린트에서 작업한다. 이번에 할 작업은 애니메이션 블루프린트가 캐릭터의 이동속도를 가지고 있어야 한다. Anim 블루프린트의 이벤트 그래프에 존재하는 Update를 통해 Velocity값에 따른 처리를 하도록 노드가 구성했다. '블렌딩 처리' 라는 작업에 대해서 전에 다뤄본적이 있다. 아래 링크를 참조하면 그 내용을 확인할 수 있다. https://onionisdelicious.tistory.com/31 [UE4/Theory] 004.캐..
2020.07.09 -
애니메이션을 하기 위해선 Anim 블루프린트를 사용하게 된다. 본인은 Anim 블루프린트에 New State Machine을 추가, DefaultSlot을 추가하고 연결하여 애니메이션 블루프린트를 구현했다. 이때 Warning이 발생했는데, 이는 프로젝트 세팅에서 다음의 옵션을 꺼주자 해결할 수 있었다.
[UE4/Issue] Allow Multi Threaded Animation Update애니메이션을 하기 위해선 Anim 블루프린트를 사용하게 된다. 본인은 Anim 블루프린트에 New State Machine을 추가, DefaultSlot을 추가하고 연결하여 애니메이션 블루프린트를 구현했다. 이때 Warning이 발생했는데, 이는 프로젝트 세팅에서 다음의 옵션을 꺼주자 해결할 수 있었다.
2020.07.09 -
!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 블루프린트에서도 인터페이스가 존재한다. 이때의 인터페이스는 그래픽이 아닌 프로그래밍의 의미이다. 프로그래밍의 인터페이스와 같이 함수를 선언만 해주고 필요한 곳에서 정의해주는 '그' 인터페이스를 말하는 것이다. 내 블루프린트에서 함수를 추가할 수 있으며, 디테일 창에서 해당 함수의 입력/출력 인자를 설정할 수 있다. 프로그래밍에서 존재하는 기존의 인터페이스와 동일하게 이곳에서 함수를 구현하지 않는다. 필요한 블루프린트 클래스에서 인터페이스를 할당해주고 그곳에서 바로 구현하여 사용하는 방식이다. 다음은 블루프린트 클래스에서 인터페..
[UE4/Theory] 008. 인터페이스 Interface!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 블루프린트에서도 인터페이스가 존재한다. 이때의 인터페이스는 그래픽이 아닌 프로그래밍의 의미이다. 프로그래밍의 인터페이스와 같이 함수를 선언만 해주고 필요한 곳에서 정의해주는 '그' 인터페이스를 말하는 것이다. 내 블루프린트에서 함수를 추가할 수 있으며, 디테일 창에서 해당 함수의 입력/출력 인자를 설정할 수 있다. 프로그래밍에서 존재하는 기존의 인터페이스와 동일하게 이곳에서 함수를 구현하지 않는다. 필요한 블루프린트 클래스에서 인터페이스를 할당해주고 그곳에서 바로 구현하여 사용하는 방식이다. 다음은 블루프린트 클래스에서 인터페..
2020.07.09 -
기본적으로 여타 객체지향 언어에서 그랬듯이, 부모 클래스를 상속받은 자식 클래스는 부모 클래스의 함수를 그대로 사용이 가능했다. Custom Event 노드도 그대로 사용이 가능했지만 BeginPlay, Tick 같은 녀석들은 따로 부모 노드가 존재해서 부모 노드를 실행해야지만 그대로 사용이 가능했다.
[UE4/Issue] 부모 클래스의 함수를 자식클래스에서 실행기본적으로 여타 객체지향 언어에서 그랬듯이, 부모 클래스를 상속받은 자식 클래스는 부모 클래스의 함수를 그대로 사용이 가능했다. Custom Event 노드도 그대로 사용이 가능했지만 BeginPlay, Tick 같은 녀석들은 따로 부모 노드가 존재해서 부모 노드를 실행해야지만 그대로 사용이 가능했다.
2020.07.09 -
!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 게임에서 사용하는 조작에 대해서 따로 다룰 수 있도록 블루프린트에선 Player Controller 블루프린트가 존재한다. PlayerController 를 상속받은 블루프린트는 실질적인 컨트롤러를 담당하는 블루프린트이다. 이동/공격/점프 등 플레이어가 입력하는 값들을 이곳에서 정리하면 훨씬 체계적이며 효율적으로 사용할 수 있을 것이다. 이 역시 GameMode에 할당해서 기본 플레이어 컨트롤러로써 사용이 가능하다. 사용자가 구현한 Game Controller와 Player Character를 GameMode에 할당해주면 캐릭..
[UE4/Theory] 007. Player Controller!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 게임에서 사용하는 조작에 대해서 따로 다룰 수 있도록 블루프린트에선 Player Controller 블루프린트가 존재한다. PlayerController 를 상속받은 블루프린트는 실질적인 컨트롤러를 담당하는 블루프린트이다. 이동/공격/점프 등 플레이어가 입력하는 값들을 이곳에서 정리하면 훨씬 체계적이며 효율적으로 사용할 수 있을 것이다. 이 역시 GameMode에 할당해서 기본 플레이어 컨트롤러로써 사용이 가능하다. 사용자가 구현한 Game Controller와 Player Character를 GameMode에 할당해주면 캐릭..
2020.07.09 -
!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 언리얼의 레벨에서는 레벨마다 해줘야 할 기본적 세팅을 설정할 수 있도록 레벨 블루프린트가 존재했다. GameMode 또한 그런 기본적 세팅이 가능한 타입 중 한 가지로, 이를 이용하면 똑같은 유형의 레벨을 설정해주기 위해 반복되는 작업을 대신해 줄수 있다. 블루프린트를 생성할 때 Game Mode Base로 생성하면 GameMode Blueprint 클래스를 생성할 수 있다. 내부에는 Classes 카테고리가 존재하는데 여기서 플레이어 캐릭터/컨트롤러 등을 설정해 줄수 있다. 이렇게 설정한 후에, 월드 세팅에서 Game Mod..
[UE4/Theory] 006. GameMode!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 언리얼의 레벨에서는 레벨마다 해줘야 할 기본적 세팅을 설정할 수 있도록 레벨 블루프린트가 존재했다. GameMode 또한 그런 기본적 세팅이 가능한 타입 중 한 가지로, 이를 이용하면 똑같은 유형의 레벨을 설정해주기 위해 반복되는 작업을 대신해 줄수 있다. 블루프린트를 생성할 때 Game Mode Base로 생성하면 GameMode Blueprint 클래스를 생성할 수 있다. 내부에는 Classes 카테고리가 존재하는데 여기서 플레이어 캐릭터/컨트롤러 등을 설정해 줄수 있다. 이렇게 설정한 후에, 월드 세팅에서 Game Mod..
2020.07.09 -
언리얼 엔진은 사용하는 버전에 따라 visual studio 의 버전 역시 조절해야 한다. 버전에 민감하다. 예를 들면 Unreal Engine 4.22.3 을 사용할 때, Visual Studio 2017을 사용하여야 한다. 이는 언리얼 엔진 공식 문서에서도 확인할 수 있다. https://docs.unrealengine.com/ko/Programming/Development/VisualStudioSetup/index.html 언리얼 엔진용 Visual Studio 구성 언리얼 엔진 4 에서 작동하도록 Visual Studio 를 구성하는 팁입니다. docs.unrealengine.com Visual Studio를 설치할 때, 설치 관리자에서 다음의 요소를 설치해 주어야 한다. 1. C++를 사용한 게..
[UE4/Issue] 언리얼 프로젝트를 C++로 할 때 주의할 이슈언리얼 엔진은 사용하는 버전에 따라 visual studio 의 버전 역시 조절해야 한다. 버전에 민감하다. 예를 들면 Unreal Engine 4.22.3 을 사용할 때, Visual Studio 2017을 사용하여야 한다. 이는 언리얼 엔진 공식 문서에서도 확인할 수 있다. https://docs.unrealengine.com/ko/Programming/Development/VisualStudioSetup/index.html 언리얼 엔진용 Visual Studio 구성 언리얼 엔진 4 에서 작동하도록 Visual Studio 를 구성하는 팁입니다. docs.unrealengine.com Visual Studio를 설치할 때, 설치 관리자에서 다음의 요소를 설치해 주어야 한다. 1. C++를 사용한 게..
2020.07.09 -
!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 언리얼은 C++ 언어로 프로젝트를 구현할 수 있다. 기본적인 C++ 문법에서 추가적으로 알아야 할 키워드가 존재하는데, 이 점들을 숙지하면 C++로 할 수 있었던 작업을 똑같이 할 수 있을 것이다. 여담으로 C++을 사용하여 구현하는 방식과 블루프린트를 사용하여 구현하는 방식의 호불호가 갈리며, 각자의 장단점이 서로 대립하여 존재한다. 본인은 C++와 블루프린트를 비교했을때 블루프린트 쪽이 오타율이 적었지만, 개발 속도는 코드 쪽이 빠르던 것을 알 수 있었다. 선택은 자유다. 기존에 언리얼 프로젝트를 만들었던 방식엔 블루프린트..
[UE4/Theory] 005. C++로 다루는 언리얼!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 언리얼은 C++ 언어로 프로젝트를 구현할 수 있다. 기본적인 C++ 문법에서 추가적으로 알아야 할 키워드가 존재하는데, 이 점들을 숙지하면 C++로 할 수 있었던 작업을 똑같이 할 수 있을 것이다. 여담으로 C++을 사용하여 구현하는 방식과 블루프린트를 사용하여 구현하는 방식의 호불호가 갈리며, 각자의 장단점이 서로 대립하여 존재한다. 본인은 C++와 블루프린트를 비교했을때 블루프린트 쪽이 오타율이 적었지만, 개발 속도는 코드 쪽이 빠르던 것을 알 수 있었다. 선택은 자유다. 기존에 언리얼 프로젝트를 만들었던 방식엔 블루프린트..
2020.07.09 -
!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! Mixamo나 마켓플레이스에서 3D모델을 FBX 파일로 가져오면 언리얼에서 그대로 사용할 수 있다. 애니메이션 역시 사용이 가능하다. 이번에 해볼 것은 Import한 3D 모델과 애니메이션을 이용하여 공격과 점프를 구현할 것이다. 참고로 공격은 애니메이션만 구현할 것이다. 적을 공격하고 데미지를 주는 메커니즘은 다루지 않는다. 캐릭터(플레이어) 공격 캐릭터 공격 애니메이션을 사용하기 위해서 애니메이션 몽타주를 사용할 것이다. 애니메이션 몽타주는 하나의 애셋에 들어있는 애니메이션을 합쳐 선택적으로 재생할 수 있도록 해주는 유연한..
[UE4/Theory] 004.캐릭터에게 생명을(공격, 점프 구현)!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! Mixamo나 마켓플레이스에서 3D모델을 FBX 파일로 가져오면 언리얼에서 그대로 사용할 수 있다. 애니메이션 역시 사용이 가능하다. 이번에 해볼 것은 Import한 3D 모델과 애니메이션을 이용하여 공격과 점프를 구현할 것이다. 참고로 공격은 애니메이션만 구현할 것이다. 적을 공격하고 데미지를 주는 메커니즘은 다루지 않는다. 캐릭터(플레이어) 공격 캐릭터 공격 애니메이션을 사용하기 위해서 애니메이션 몽타주를 사용할 것이다. 애니메이션 몽타주는 하나의 애셋에 들어있는 애니메이션을 합쳐 선택적으로 재생할 수 있도록 해주는 유연한..
2020.05.04 -
*스켈레톤 애니메이션 식물에는 줄기가 있어 똑바로 서 있을 수 있다. 인간에게는 근육을 잡아당겨 주는 골격이 존재해서 고유의 형태를 유지할 수 있으며, 관절이 있어서 다양한 동작을 표현할 수 있다. 스켈레톤 애니메이션은 인체의 골격을 가지고 있는 캐릭터 애니메이션에 사용되는 방법으로, 운동학적 방법에 의해 관절을 제어하여 애니메이션을 구현한다. 이때, 스켈레톤을 구성하는 인체의 골격 한 가닥, 한 가닥을 본이라고 한다. *루트 모션 스켈레톤 중에서 'root'라고 하는 본을 기준으로 만든 애니메이션이 존재하는데, 이 애니메이션의 캐릭터가 동작하는 모션을 루트 모션이라고 한다. 애니메이션을 만드는 애니메이터가 캐릭터의 역동적인 좌표이동을 직접 제어하기 위해 고안된 방법인데, 애니메이션에 의해 캐릭터가 움직..
[UE4/Issue] 스켈레톤 애니메이션, 루트모션, 루트본 등에 대해서*스켈레톤 애니메이션 식물에는 줄기가 있어 똑바로 서 있을 수 있다. 인간에게는 근육을 잡아당겨 주는 골격이 존재해서 고유의 형태를 유지할 수 있으며, 관절이 있어서 다양한 동작을 표현할 수 있다. 스켈레톤 애니메이션은 인체의 골격을 가지고 있는 캐릭터 애니메이션에 사용되는 방법으로, 운동학적 방법에 의해 관절을 제어하여 애니메이션을 구현한다. 이때, 스켈레톤을 구성하는 인체의 골격 한 가닥, 한 가닥을 본이라고 한다. *루트 모션 스켈레톤 중에서 'root'라고 하는 본을 기준으로 만든 애니메이션이 존재하는데, 이 애니메이션의 캐릭터가 동작하는 모션을 루트 모션이라고 한다. 애니메이션을 만드는 애니메이터가 캐릭터의 역동적인 좌표이동을 직접 제어하기 위해 고안된 방법인데, 애니메이션에 의해 캐릭터가 움직..
2020.05.04 -
!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 언리얼 화면 구성에 대해 알아보았다. 각각 어떤 탭으로 나뉘어 있고, 어떤 기능을 하는지 각각의 명칭을 알려주었다. 이번에는 뷰포트를 이용해서 시점을 이동하고 액터를 다뤄보고 뷰포트에 대한 기능을 알아보자 뷰포트 뷰포트의 정의를 다시 확인하자. 뷰포트란 게임에서 플레이어가 돌아다닐 수 있는 공간인 레벨을 볼 수 있는 화면이다. 뷰포트를 통해서 레벨을 편집할 수 있으며, 게임을 테스트 할 때에도 뷰포트에서 플레이를 해볼 수 있다. 뷰포트 시점 이동 뷰포트를 테스트 해보기 위해서 시작용 콘텐츠를 사용해보자. 콘텐츠 브라우저에서 다..
[UE4/Theory] 003. 뷰포트 다뤄보기!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 언리얼 화면 구성에 대해 알아보았다. 각각 어떤 탭으로 나뉘어 있고, 어떤 기능을 하는지 각각의 명칭을 알려주었다. 이번에는 뷰포트를 이용해서 시점을 이동하고 액터를 다뤄보고 뷰포트에 대한 기능을 알아보자 뷰포트 뷰포트의 정의를 다시 확인하자. 뷰포트란 게임에서 플레이어가 돌아다닐 수 있는 공간인 레벨을 볼 수 있는 화면이다. 뷰포트를 통해서 레벨을 편집할 수 있으며, 게임을 테스트 할 때에도 뷰포트에서 플레이를 해볼 수 있다. 뷰포트 시점 이동 뷰포트를 테스트 해보기 위해서 시작용 콘텐츠를 사용해보자. 콘텐츠 브라우저에서 다..
2020.04.23 -
!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 언리얼을 사용해보기로 했다면 우리는 언리얼 환경에서 익숙해질 필요가 있다. UI 며, 기능이며, 많은 면에서 처음이기에 어색할 수 밖에 없다. 첫 프로젝트를 만들고 언리얼 UI와 환경에 대해서 익숙해져보자. 언리얼 프로젝트 브라우저 처음 언리얼을 실행하면 제일 먼저 언리얼 프로젝트 브라우저를 확인할 수 있다. 언리얼 프로젝트 브라우저에선 새 프로젝트를 만들거나, 기존에 만들었던 프로젝트를 불러올 수 있다. 새 프로젝트를 만들때에도 1) 블루프린트 기반인지, C++ 기반인지, 2) 아무런 베이스 없이 기본으로 만들 것인지, 1인..
[UE4/Theory] 002. 언리얼 화면에 익숙해지자.!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 언리얼을 사용해보기로 했다면 우리는 언리얼 환경에서 익숙해질 필요가 있다. UI 며, 기능이며, 많은 면에서 처음이기에 어색할 수 밖에 없다. 첫 프로젝트를 만들고 언리얼 UI와 환경에 대해서 익숙해져보자. 언리얼 프로젝트 브라우저 처음 언리얼을 실행하면 제일 먼저 언리얼 프로젝트 브라우저를 확인할 수 있다. 언리얼 프로젝트 브라우저에선 새 프로젝트를 만들거나, 기존에 만들었던 프로젝트를 불러올 수 있다. 새 프로젝트를 만들때에도 1) 블루프린트 기반인지, C++ 기반인지, 2) 아무런 베이스 없이 기본으로 만들 것인지, 1인..
2020.04.21 -
!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 환영한다! 언리얼을 처음 접하는 사람이든, 언리얼을 다시 리뷰하는 사람이든, 언리얼을 시작했다는 점에 축하를 해주고 싶다! 뭐든지 시작이 제일 어렵다! 본인도 언리얼 강의를 들을 기회가 있었지만 자유로우면 항상 나태해지듯 시작을 계속 미루고 있었다! 하지만 이 글을 보고 있는 그대들은 첫 발걸음을 땠으니, 이 얼마나 대단한 일인가! 처음인 만큼 언리얼이 무엇인지 알아보고, 설치해보도록 하자! Unreal Engine 4 언리얼 엔진은 3D 게임을 개발할 수 있는 프로그램이며, 오늘날에 이르러서는 게임뿐만 아니라 시퀀서 툴 지원..
[UE4/Theory] 001. Hello Unreal! 언리얼 설치하기!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 환영한다! 언리얼을 처음 접하는 사람이든, 언리얼을 다시 리뷰하는 사람이든, 언리얼을 시작했다는 점에 축하를 해주고 싶다! 뭐든지 시작이 제일 어렵다! 본인도 언리얼 강의를 들을 기회가 있었지만 자유로우면 항상 나태해지듯 시작을 계속 미루고 있었다! 하지만 이 글을 보고 있는 그대들은 첫 발걸음을 땠으니, 이 얼마나 대단한 일인가! 처음인 만큼 언리얼이 무엇인지 알아보고, 설치해보도록 하자! Unreal Engine 4 언리얼 엔진은 3D 게임을 개발할 수 있는 프로그램이며, 오늘날에 이르러서는 게임뿐만 아니라 시퀀서 툴 지원..
2020.04.21 -
게임엔진이라곤 유니티만 사용해왔던 사람이 처음 언리얼을 짧게나마 사용하면서 들었던 생각을 정리해보았다. * 몇몇 단축키는 유니티와 유사했다. 예를 들어 Alt + 좌클릭 드래그로 객체를 둘러본다던지 F키로 객체를 찾는 둥.. * UI도 대강 비슷했다. 뷰포트 = 씬뷰 + 겜뷰 디테일 = 인스펙터 월드 아웃라이너 = 하이어라키 콘텐츠 브라우저 = 에셋 모드 = ??? * 그래도 다른부분이 상당수 보였다. 유니티의 Scene = 언리얼의 Level 유니티의 게임 오브젝트 = 언리얼의 액터 (둘다 객체라는 점은 같은 모양이다.) * 유니티와 언리얼의 XYZ 좌표계 방향이 서로 다르다! 유니티의 앞이 Z축이었다면 언리얼은 윗방향이 Z축이었다. * 언리얼의 거리 단위는 cm이다. * 언리얼의 프로그래밍 방법은 비..
[UE4/Theory] 000. 처음 시작하면서 들었던 생각들게임엔진이라곤 유니티만 사용해왔던 사람이 처음 언리얼을 짧게나마 사용하면서 들었던 생각을 정리해보았다. * 몇몇 단축키는 유니티와 유사했다. 예를 들어 Alt + 좌클릭 드래그로 객체를 둘러본다던지 F키로 객체를 찾는 둥.. * UI도 대강 비슷했다. 뷰포트 = 씬뷰 + 겜뷰 디테일 = 인스펙터 월드 아웃라이너 = 하이어라키 콘텐츠 브라우저 = 에셋 모드 = ??? * 그래도 다른부분이 상당수 보였다. 유니티의 Scene = 언리얼의 Level 유니티의 게임 오브젝트 = 언리얼의 액터 (둘다 객체라는 점은 같은 모양이다.) * 유니티와 언리얼의 XYZ 좌표계 방향이 서로 다르다! 유니티의 앞이 Z축이었다면 언리얼은 윗방향이 Z축이었다. * 언리얼의 거리 단위는 cm이다. * 언리얼의 프로그래밍 방법은 비..
2020.04.11