
다듬기 및 마무리이제 마무리할 단계이다.그전에 몇가지 개선사항을 짚어보고 수정을 해보도록 하자. 첫 번째로 카메라 움직임을 더 부드럽게 조정해보자.이는 탱크에서 스프링암을 선택하면 볼 수 있는 지연 기능을 통해 조절할 수 있다.여기서 카메라 렉과 회전 렉을 활성화 해주었다.이러면 카메라가 약간 지연되면서 탱크를 부드럽게 따라오게 된다.이에 대한 수치는 카메라 지연 속도와 회전 지연 속도의 값을 조절하여 얼마나 지연 되서 따라오게 할 지 선택할 수 있다.해당 값 또한 정답이 없기에 개인의 취향에 맞게 테스트해보고 값을 선택하면 된다. 두 번째로 탱크가 죽은 뒤에도 포탑이 탱크를 향해 발사체를 발사하는 것을 수정해보자.이는 간단하게 bool 타입 변수를 선언해서 활용함으로서 해결할 수 있다. 탱크가 죽었을 ..

카메라 셰이크이번엔 역동적인 움직임 연출을 위해 카메라 셰이크 기능을 추가해준다.이러면 발사체가 대상을 맞추면 카메라가 흔들리게 된다. 언리얼 엔진에는 카메라 셰이크를 위한 내장 클래스가 존재한다.우선 C++ 클래스가 아닌 블루프린트 클래스를 생성하는데, 이는 카메라 셰이크에 변수가 많아서 블루프린트 클래스에서 작업하는 것이 훨씬 쉽기 때문이다. 먼저 발사체가 부딪혔을 때의 카메라 셰이크를 만들어주자. 그리고 얼마나 흔들릴지 진동 값을 조절해주어야 한다.자세한 수치는 직접 테스트해보며 조정해보는 것이 좋다.우선 강의에서 나온 수치를 그대로 적용하였다. 각각의 변수는진동이 지속되는 시간, 카메라 흔들림이 시작될 때 까지의 시간, 카메라 흔들림이 종료될 때까지의 시간을 의미한다. 추가적으로 위치 진동의 값도..

사운드발사체가 발사됐을 때와 탱크나 터렛이 죽었을 때의 사운드를 추가해주자.이를 위해 발사체에 발사시 사운드와 히트 사운드, 베이스폰에 데스 사운드 이렇게 총 3개가 필요하다.우선 발사체에서 사운드 변수를 선언해주자.사운드를 위해서 UBaseSound 타입 포인터 변수를 사용하게 된다. 같은 변수를 2개 사용하기에 앞에만 전방선언 해줘도 뒤에 변수는 해줄 필요가 없다.또는 미리 전방선언을 따로 해주는 방법도 있다. 그리고 베이스폰에서도 선언해주자. 이제 언리얼로 돌아가서 각각에 맞는 사운드 파일을 할당해주자.여기서 Launch Sound와 Hit Sound는 같은 걸로 할당해주었다. Death Sound의 경우 탱크와 터렛 각각에 할당해주어야 한다. 이제 사운드를 재생시키는 방법을 알아야 한다.사운드 ..
문제링크 : https://www.acmicpc.net/problem/16212#include using namespace std;typedef long long ll;typedef pair pii;const int MAX = INT_MAX;int N;int arr[500001];int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin >> N; for(int i=0; i> arr[i]; sort(arr, arr+N); for(int i=0; i 간단한 정렬 문제이다.힌트에 주어진 것 처럼 sort 함수를 사용하면 매우 간단하게 풀이가 가능하다.