전체 글 (842) 썸네일형 리스트형 Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 6-12 건(Gun) 액터해당 게임은 총을 사용한 슈터 게임이다.따라서 캐릭터는 총을 가지게 되므로 이번 강의에서는 총 액터를 생성해주는 작업을 해본다. 기존 캐릭터를 보면 총이 이미 존재하지만, 기본적으로 슈터 장르의 게임에서는 여러 총을 사용하기 위해 총이 교체 가능해야 한다.따라서 따로 총 액터를 생성하고, 이를 캐릭터의 하위로 할당하여 사용하게 된다.먼저 총을 생성하는데 총은 캐릭터나 폰의 기능이 필요없으므로 단순 Actor 클래스로 생성하게 된다. 그리고 해당 클래스에 대한 블루프린트도 미리 만들어두자. 다음으로 해당 총의 루트가 될 SceneComponent와 이에 어태치하여 사용할 Mesh를 선언해주자.이때 Mesh는 총이 어떤 이유에서인지 스켈레톤 메시로 작성되어있기 때문에 스켈레톤 메시로 선언해주.. [백준 11536번] 줄 세우기 (C++) 문제링크 : https://www.acmicpc.net/problem/11536 #include using namespace std;typedef long long ll;typedef pair pii;const int MAX = INT_MAX;int N;string s;vectorv;vectorv1;vectorv2;int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin >> N; for(int i=0; i> s; v.push_back(s); v1.push_back(s); v2.push_back(s); } sort(v1.begin(), v1.end()); //오름차순 sort(v2.beg.. Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 6-11 애니메이션 속도 계산하기현재 애니메이션의 속도와 캐릭터의 속도가 같지 않아서 마치 발이 미끄러지는 듯한 현상이 관측되는 것을 볼 수 있다.이를 개선하기 위하여 애니메이션의 속도를 계산해보자.이를 위해 우선 앞으로 달리는 애니메이션 모습을 체크해보자. 우리가 앞으로 달리는 애니메이션에서 체크해야할 것은 발의 움직임이다.발이 지면에 붙은 순간의 시간과 발이 지면에서 떨어진 순간의 시간을 이용하여 해당 움직임의 속도를 구할 수 있다.아래 표시한 마커의 소수점이 해당 시간을 나타낸다. (0.26) 그리고 추가로 속도를 구하기 위해 해당 발 움직임의 위치가 필요하다.우측 상단을 보면 Location을 확인할 수 있는데 로컬 좌표계로 보면 위치가 그대로인 상태에서 회전만 하는 것이기에 위치의 움직임을 구하는 것이 .. Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 6-10 벡터의 역방향 트랜스폼이번엔 애니메이션의 회전을 적용시킬 차례이다.이를 위해서 트랜스폼에 대한 이해도를 높힐 필요가 있다. 먼저 월드 좌표계와 로컬 좌표계가 존재하며, 월드 좌표계는 베이스가 월드의 중앙이고 로컬은 해당 액터가 중심이 된다.따라서 위치는 상대적이게 되며 월드 좌표계를 기준으로 두면 월드의 중심에서 액터가 움직인 것이고, 로컬 좌표계를 기준으로 두면 액터가 중심으로 월드의 베이스 위치가 달라지게 되는 것이다.이러한 것이 글로벌 공간과 로컬 공간 간의 트랜스폼이 된다. 우리가 필요로 하는 것은 현재 플레이어의 각도이므로 로컬 좌표계의 각도가 필요한 것이다.이는 기존의 Get Velocity 함수를 통해 얻은 속도를 이용하여 방향을 얻는 것이 가능하다.해당 속도를 통해 어떤 방향으로 가는지, .. Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 6-9 애니메이션을 게임플레이에 연결하기이제 블렌드 스페이스를 이용하여 만든 애니메이션을 직접 연결해볼 차례이다.이를 위해 애니메이션 블루프린트의 AnimGraph 화면으로 돌아가보자.기존의 내용은 쓸모가 없으니 전부 지우고, Asset Brower에서 블렌드 스페이스를 통해 만든 애니메이션인 BS_Locomotion을 가져올 수 있다. 이제 각도와 스피드에 대한 변수가 필요하다 이를 각각 생성하여 할당해주고, 출력 값도 연결해주자. 캐릭터의 각도와 스피드를 얻어야 하는데, 이는 해당 애니메이션 블루프린트의 Event Graph에서 가능하다.기본으로 있는 Try Get Pawn Owner 함수를 통해 캐릭터를 얻을 수 있고, Event Blueprint Update Animation 함수를 통해 Tick 함수와.. [백준 14729번] 칠무해 (C++) 문제링크 : https://www.acmicpc.net/problem/14729 #include using namespace std;typedef long long ll;typedef pair pii;const int MAX = INT_MAX;int N;vectorv;int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin >> N; for(int i=0; i> n; v.push_back(n); } sort(v.begin(), v.end()); cout 언뜻보면 간단한 정렬문제이지만, 출력 형식을 고려해야하는 문제이다.입력받는 수가 소수점 단위이므로 double 형으로 입력을 받도록 하였다. 이후 출력하기에 앞.. Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 6-8 2D 블렌드 스페이스저번 강의에서 Blend 함수를 통해 애니메이션을 블렌딩 해줬지만, 블렌드 스페이스라는 더 좋은 방법이 존재한다.우선 이를 생성해보자. 블렌드 스페이스를 생성할 때도 기본이 될 스켈레톤 메시를 선택해주어야한다. 생성하고 나면 다음과 같은 화면이 존재하며, 뷰포트 바로 아래 공간이 우리가 작업할 공간이다. 우선 해당 공간에 상하좌우 이동을 할당해보자.할당할 애니메이션은 우측 하단의 에셋 브라우저에서 가져오면 된다.할당한 후에는 컨트롤을 누르면 아래와 같이 초록색 X 표가 보이는데, 이를 통해 해당 X가 위치한 곳의 애니메이션이 재생된다.그리고 블렌드 스페이스 내에 좌측 상단 3가지 중 가운데 표시를 누르면 할당한 내용의 이름을 볼 수 있다. 현재 블렌드 스페이스 좌측과 하단에 None으.. Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 6-7 애니메이션 블루프린트의 기초저번에 잠깐 다뤘던 애니메이션에 대해서 이번엔 애니메이션 블루프린트를 통해 다뤄보자.이를 위해 우선 애니메이션 블루프린트를 생성해주자.생성시에 우리가 사용할 스켈레톤 메시를 선택해주어야 한다. 그러면 이제 다음과 같은 화면을 볼 수 있다.좌측에는 미리보기와 함수 및 변수 작성 칸이, 중앙에는 이벤트 그래프 칸이, 우측에는 디테일 패널 및 프리뷰 에디터와 에셋 브라우저가 존재한다. 기본적으로 에셋 브라우저에서 원하는 애니메이션을 골라서 Output Pose에 넣고 컴파일을 해주면 해당 애니메이션이 출력된다. 우리는 중앙에서 Animgraph를 통해 여러 변수들을 사용하여 애니메이션들을 블렌딩하게 된다.블렌딩하기 위해 사용하는 함수는 Blend 함수이다.해당 함수는 이유는 모르겠으.. 이전 1 ··· 22 23 24 25 26 27 28 ··· 106 다음