본문 바로가기

전체 글339

3주차-완전탐색 완전탐색은 brute force 라고 불리는 탐색 방법. 어떤 벽을 4개를 세우고 한 점으로부터의 최단 거리를 구하는 문제라면,완전탐색은 모든 경우의 수를 다 계산해서 따지는 알고리즘이 완전탐색 - 시간복잡도가 1억 미만이면 시도해볼만하다.- 반복문으로 해결할 수 있다면 반복문으로 하는게 좋다.- nC1, nC2 와 같이 조합을 이용하여 경우의 수를 다 계산해야 하는 경우 재귀함수를 사용하는 것이 좋다.    백트래킹은 완전탐색에서 불필요한 부분을 제외한 탐색 방법  - 이 경우의 수는 탐색하지 않아도 될 것 같은데? 라고 가능성이 없는 경우의 수를 제외시키는 것 2024. 10. 21.
12. InputComponent 완료 Input에 대한 학습 및 구현을 이해하느라 포스팅이 조금 걸렸습니다.ㅠㅠ Lyra에서는 EnhancedInput을 사용하는데, 기존 Input에 비해 조금 더 복잡한 입력 시스템을 처리하기 위한 방법입니다. 기존 Input은 보통의 엔진에서 구현하듯 매 프레임마다 각 키의 상태를 직접적으로 체크하는 방식이었습니다.Enhanced Input은 입력의 단위를 InputActions으로 정의하고, 이를 InputMappingContext에 등록하여 처리합니다.이는 다양한 입력 장치에 대해 대응할 수 있도록 하며, 게임 상황에 따라 동적으로 변경이 가능하다는 이점이 있습니다. 이 과정은 HeroComponent에서 이루어지며, InitState가 DataAvailable 상태에서 DataInitialized .. 2024. 10. 19.
11. Camera Blending과 Update CameraBlending이란?- 카메라의 위치를 A에서 B로 섞어주는 것을 의미합니다.- 예를 들어 플레이어가 저격을 위해 줌을 당기고 있다가 줌을 풀 때, 당긴 상태를 B, 기본 상태를 A라고 하면갑자기 순간이동하듯 바뀐다기보다는 카메라가 움직이며 스르륵 바뀌는데, 이 A 상태와 B 상태를 시간에 따라 적절히 섞어주는 것이 카메라 블렌딩입니다. 한번 정리하고 가면,1. PlayerController에서 PlayerCameraManager의 Tick을 호출해줍니다.2. PlayerCameraManager는 Player에 부착된 CameraComponent에서 업데이트된 값을 통해 렌더링합니다.3. CameraComponent는 CameraModeStack을 소유하며, EvaluateStack을 호출해줍.. 2024. 10. 13.
2. GetOuter Lyra Camera 기법 중에 GetOuter라는 구문이 나와서 궁금하던 차에 찾아보게 되었고, 기록해두려고 합니다.GetOuter는 단순히 멤버 변수 OuterPrivate를 반환해주는 함수인데요, 이 멤버변수는 어디에서 설정되는가 하면,오브젝트가 생성될 때 첫 번째 인자로 들어가게 되고,  단순 대입을 통해 이루어지게 됩니다. TMI로 FStaticConstructObjectParameters를 이용하여 인자를 전달하는 이유는 AutoRTFM라는 기법을 사용하기 위함인데, UObject를 생성할 때 별도의 검사를 진행하지 않고 생성하기 위함입니다.그리고 생성 도중 뭔가 문제가 생겨서 중단되어야 하면, GC를 이용해서 자동으로 정리해줍니다. 이 부분은 자체 엔진 개발 시 Factory에 구현한 Cre.. 2024. 10. 13.