Make Unreal REAL.
article thumbnail
Level 0. 커피 심부름

Level 0. 커피 심부름 카페라떼가 아니면 무조건 아메리카노이다. #include #include using namespace std; int solution(vector order) { int answer = 0; for (string& s : order) if (s.find("cafelatte") != string::npos) answer += 5000; else answer += 4500; return answer; }

article thumbnail
외적(Cross product)

이득우의 게임 수학 벡터 A와 벡터 B의 외적은 A⨯B로 나타낸다. 외적은 신발끈 공식(사선 공식)과 유사하게 아래와 같이 계산하고, 외적의 결과는 두 벡터에 동시에 수직인 벡터가 된다. 두 벡터로 만들어지는 평면의 법선 벡터(Normal Vector)를 만드는 것이다. 사실 외적의 결과가 되는 법선 벡터 C의 크기는 C의 행렬식의 절댓값과 같다. |A⨯B| = |det(C)| 외적은 연산 순서에 의해 크기는 바뀌지 않지만, 결과의 방향이 바뀐다. A⨯B = -(B⨯A) B⨯A = -A⨯B = A⨯-B = -B⨯-A 외적은 교환법칙과 결합법칙이 성립하지 않지만, 덧셈에 대한 분배법칙은 성립한다. A⨯B ≠ B⨯A C⨯(A⨯B) ≠ (C⨯A)⨯B C⨯(A + B) = C⨯A + C⨯B 외적의 크기는 두 벡..

article thumbnail
점프 능력

Advanced Unreal Engine 5 Multiplayer Gameplay Programming 점프는 이미 Chracter Movement 컴포넌트에 의해 이미 복제되고 있고, 심지어 점프 능력도 이미 존재한다. 이미 점프 능력이 있는데 커스텀 점프 능력을 만드는 이유는, GAS를 통해 다른 능력과 점프 능력과의 관계를 설정하기 위함이다. 새로운 Gameplay Ability C++ 베이스 클래스와, 그 클래스를 상속 받은 점프 능력 클래스를 생성한다. 점프 능력 C++ 클래스 GA_Jump를 상속 받은 블루프린트 클래스를 생성한다. 점프 능력 클래스에 생성자를 선언하고 구현한다. EGameplayAbilityNetExecutionPolicy LocalPredicted 로컬에서 시작한 후 서버에..

article thumbnail
Level 0. 코드 처리하기

Level 0. 코드 처리하기 #include using namespace std; string solution(string code) { bool mode = false; size_t len = code.length(); string answer; for (int i = 0; i < len; ++i) if (code[i] == '1') mode = !mode; else if ( (i & 1) == (mode ? 1 : 0) ) answer += code[i]; return answer.empty() ? "EMPTY" : answer; }

article thumbnail
오일러 각에서의 회전 보간

이득우의 게임 수학 중간 회전 값은 다음과 같은 선형 보간 식을 사용해 얻을 수 있다. 위 식을 통한 회전 보간(Rotational Interpolation)이 성립하기 위해서는, 두 각의 회전 변환을 곱한 결과가 두 각의 합의 회전 변환과 동일해야 한다. θ만큼의 Yaw(Y축) 회전을 R(θ)라고 할 때, R(α + β) = R(β)·R(α)가 성립해야 한다. 하나의 축만을 회전할 때는 문제가 없음을 확인했다. 이번에는 θ만큼의 Pitch(X축), Yaw(Y축) 회전을 R(θ)라고 할 때, R(α + β) = R(β)·R(α)가 성립하는지 확인해본다. 오일러 각 방식은 회전 순서에 따라 결과가 바뀌기 때문에, 두 개 이상의 축을 회전할 경우 R(α + β) ≠ R(β)·R(α)임을 확인했다. 따라서, ..

article thumbnail
향상된 입력(Enhanced Input)

Advanced Unreal Engine 5 Multiplayer Gameplay Programming 언리얼 엔진 5부터 사용 가능한 향상된 입력은 상황에 따라 같은 입력이 다르게 감지되도록 할 수 있다. 향상된 입력 향상된 입력 플러그인을 간략하게 살펴봅니다. docs.unrealengine.com Enhanced Input 플러그인을 활성화하고 에디터를 재시작한다. Project Settings - Input - Default Classes 메뉴에서 기본 Player Input Class와 Input Component Class를 Enhanced Input의 클래스로 변경한다. 현재 기존의 Input Mapping과 콜백 함수 바인딩으로 구성되어 있는 전후 이동, 좌우 이동, 상하 시야, 좌우 시야..

검색 태그