전체 글178 ALS- 애니메이션 그래프 조건 설정 Idle Start Stop Cycle 을 완성했으니 주요 루프는 구성했다고 볼 수 있다.그렇다면 이러한 state간의 전환 조건을 설정해서 실제로 이 state를 연결하는 작업이 필요하다. 기본적인 루프는 Idle -> Start -> Cycle -> Stop -> Idle 이겠지만Start 하는 도중 멈춘다거나 멈추는 도중 다시 Start 한다거나 하는 변칙적인 입력에 대응하기 위해화살표가 이곳저곳에 들어가 있다. 먼저 Idle -> Start 이다.가속중이면 Start로 전환된다. 다음은 Start-> Cycle인데 조건이 세개나 된다.이 세가지 조건 중 하나라도 만족하면 바로 Cycle로 전환되는데,부자연스럽게 Start 애니메이션을 계속 재생하는것 보다 바로 Cycle로 탈출하여 현재 상황에.. 2026. 3. 20. ALS- Start state 세팅 캐릭터가 움직임을 시작할때 가속도를 받으며 달리기 시작하는 모션을 적용한다. start역시 하나의 layer로 분리되어있다.stop과 기본적으로 큰 차이는 없지만 start에는 stride warping 이라는 노드가 추가되었다.stop 에서는 거리 예측 기반의 distance matching을 사용했다면start에서는 현재 실제 속도에 맞춰 다리의 보폭을 적절이 조절하여 발 미끄러짐을 줄이는 stride warping을 사용한다. stop과 마찬가지로 Sequence evaluator에 바인딩 된 두 함수이다.다만 강의에서 설명하길, 에셋 설정을 stop과 같이 On Become Relevant에 넣으면 알 수 없는 버그가 발생한다고 이 부분을 On Update 쪽에 집어넣었다. update의 흐름쪽은.. 2026. 3. 19. ALS- Stop state 세팅 플레이어가 열심히 달리다가 입력을 멈추면 그대로 우뚝 멈추는게 아니라 어느정도 관성을 받아 미끄러지며 멈추는게 자연스러울것이다. 이를 위한 애니메이션을 세팅한다. stop Layer로 분리되어있으며 cycle과 크게 다르지 않다.Lean을 적용하여 멈출때도 살짝 기울어진 표현이 가능하고, Orientation warping으로 상하체 분리를 해준다. 여기서 가장 큰 차이점은 Sequence Player가 아니라 Evaluator를 사용한다는 것이다.Player는 애니메이션 에셋을 단순하게 재생시킨다. 하지만 Evaluator는 자동으로 재생되지 않고 프레임단위로 직접 움직여줘야 한다.이는 남은 정지거리에 따라서 애니메이션을 얼마나 재생해야 할지 판단하고 직접 컨트롤해줘야 자연스럽기때문이다. Sequenc.. 2026. 3. 18. ALS- Cycle state(걷기/뛰기) 세팅 가만히 서있을때의 애니메이션인 Idle을 구성했다면 다음은 Cycle( 걷기/ 뛰기) 이다. 보통은 Blend Space를 통해 걷기와 뛰기에 관련된 모든 애니메이션이 합쳐진 에셋에 방향과 속도 등의 데이터만 넣으면 되는 식으로 구성하지만 강의에서는 해당 방식은 버그가 많으며 유연하지 못하다는 이유로 상당히 복잡한 방식으로 걷기/뛰기 루프를 구성했다. 물론 원본이 되는 라이라에서 사용하는 방법을 참고하는 것이다. 언리얼엔진의 레퍼런스 프로젝트라고 할 수 있는 라이라에서 그 방법을 사용했다면 그만한 이유가 있겠지 Cycle 또한 하나의 레이어로 분리하여 구현했다.Sequence Player에서 걷기/뛰기 애니메이션이 결정된 후,이동 방향에 따라서 몸이 살짝 기울어지는 애니메이션이 Apply 된다.그리.. 2026. 3. 18. ALS- 기본 세팅, Idle state 만들기 https://www.udemy.com/course/unreal-engine-5-advance-locomotion-system-als-intermediate/Have you ever wondered why your game animations don't quite reach the polished level of AAA titles like Alan Wake 2? It's all about the system behind the scenes called ALS, or Advanced Locomotion System.In this course, we delve into the intricaci" data-og-host="www.udemy.com" data-og-source-url="https://www.u.. 2026. 3. 17. 백준 34817번 쉬운 정렬 문제 (c++) 애드 혹 문제이다.애드 혹 알고리즘이란?사실 알고리즘이 아니라 이 문제에만 적용되는 특별한 풀이법이라는 뜻이다.즉 넌센스 퀴즈나 수수께끼 비슷한거다. 먼저 문제를 보면 인접한 두 원소를 골라 교환한다고 한다.버블 소트나 선택정렬이 떠오른다하지만 입력의 범위가 무려 20만이다.O(n2) 인 정렬을 사용했다가는 확인하는것만으로도 시간초과가 날 것이다. 즉, 이 문제는 정렬을 하면 안된다. 핵심적인 생각은 작은 수가 큰 수 보다 오른쪽에 있다면 그 둘은 반드시 만나서 지나가야 한다는 것이다.이때 이 두 수가 K 보다 더 큰 차이라면 지나가지 못하고 막히게 된다.이러면 정렬이 불가능하다는 것. 자신보다 훨씬 더 큰수가 오른쪽에 있는 경우는 아무 상관이 없다. 그 둘은 만날 필요 없이 이미 정렬된 상태라고 볼 수.. 2026. 3. 15. 백준 5397번 키로거 (c++) 문제 자체는 단순하나, 이터레이터의 사용이 까다로워서 어려웠다 구현 방법에는 여러가지가 있을 수 있으나,빈번한 원소 추가 삭제, 삽입이 있으므로 연결 리스트인 list 컨테이너를 사용해 구현했다 int t;cin >> t;while (t--){ string s; cin >> s; list lst; auto iter = lst.begin(); /*iter = lst.insert(iter,'a'); cout ') { if (iter != lst.end())iter++; } else if (c == '-') { if (iter != lst.begin()) { iter = lst.erase(--iter); } } else { iter = lst.insert(iter, c); .. 2026. 3. 4. 백준 12849번 본대 산책 (c++) 그래프를 그림으로 주고 그걸 코드로 적어야 하는 귀찮은 문제.. 그래프에 경로라면 일단 x->y 형태를 떠올리고 dp[x][y] 형태의 코드를 적기 십상이나,해당 시간의 어떤 노드에 있을 경우의 수만 따지면 되므로 dp[x] 로 풀어야 한다int d;ll dp[8];ll nxt[8];int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> d; dp[0] = 1; while (d--) { nxt[0] = dp[1] + dp[2]; nxt[1] = dp[0] + dp[2] + dp[3]; nxt[2] = dp[0] + dp[1] + dp[3] + dp[4]; nxt[3] = dp[1] + dp[2] + dp[4] + dp[5]; n.. 2026. 3. 2. 백준 30459번 현수막 걸기 (c++) dfs로 돌렸다가 시간초과가 났다. 아니면 dp 문제인줄 알았더니 밑변의 길이에 대해서 높이를 이분탐색하는 문제였다. int n, m, r;vector arr;vector pole;int ans = -1;말뚝의 위치를 저장할 배열과 깃대를 저장할 배열을 만든다.그리고 정답을 갱신할 변수를 만들어준다. cin >> n >> m >> r;r *= 2;arr.resize(n);pole.resize(m);for (int i = 0; i > arr[i];for (int i = 0; i > pole[i];sort(arr.begin(), arr.end());sort(pole.begin(), pole.end()); 코드 중간에 소숫점이 나오면 번거로워지니 일단 직사각형을 가정하고 문제를 푼다.r은 삼각형의 최대 넓이이.. 2026. 2. 3. 이전 1 2 3 4 ··· 20 다음