일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 유니온 파인드
- DFS
- 알고리즘
- 문자열
- Team Fortress 2
- 다익스트라
- 자료구조
- 정렬
- 우선순위 큐
- BFS
- 그리디 알고리즘
- 그래프
- 브루트포스
- Unreal Engine 5
- 다이나믹 프로그래밍
- c++
- 시뮬레이션
- 유니티
- 스택
- XR Interaction Toolkit
- ue5
- 수학
- VR
- 백준
- 트리
- 투 포인터
- 누적 합
- 구현
- 재귀
- 백트래킹
- Today
- Total
목록Team Fortress 2 (12)
1일1알

원래 기본 구형 메쉬였던 로켓에 추출한 로켓 메쉬를 적용하고 현재 방향에 맞게 회전값을 갱신해주는 작업을 하였다.간단한 작업일줄 알았는데 은근히 시간을 뺏겼다. 회전을 가하는데 초기 로켓의 방향이 맞지 않아서 블루프린트 클래스에서 수정하려 했더니 루트 컴포넌트는 회전이 되지 않았다.그래서 씬 컴포넌트를 루트 컴포넌트로 지정하고 로켓을 자식으로 지정한 뒤 초기 회전값을 조정했더니 회전은 의도한대로 되었지만 이번엔 Block 처리가 갑자기 먹통이 됐다.구글에 좀 찾아보니 루트 컴포넌트가 아니면 Block이 적용되지 않는다는 것 같았다. 그래서 SphereComonent를 RootComponent로 지정하여 그쪽에서 충돌을 관리하도록 하고 로켓은 충돌을 빼고 메쉬만 보이도록 해서 해결하..
클라이언트에서 로켓반사를 시도하면 ServerRPC를 통해 서버에서 판별, 성공했다면 Reflect_Ready 함수를 실행시켜서 Target Team을 변경하고 로켓의 타겟을 새로 지정, 로켓의 움직임을 아주 잠시 멈춘다. 그리고 0.05초뒤에 ServerRPC를 호출한 플레이어의 플레이어 컨트롤러의 GetControlRotation를 가져와서 로켓의 방향을 지정해준다. 실제 닷지볼에서 공을 치는 순간에 마우스를 돌리면 공을 꺾는 기술이 있어서 해당 기술을 이런식으로 구현했다. 로켓의 방향은 로켓이 향하는 방향벡터와 로켓에서부터 타겟까지의 방향벡터, 로켓의 속도를 조절해서 계산하고 AddMovementInput를 통해 움직이도록 했다.
팀 선택 로직 1. 플레이어가 IsLocallyControlled 인 클라이언트에서만 입장시 팀 선택 UI가 뜨도록 설정2. 팀 선택시 선택한 팀을 ServerRPC를 통해 서버에 전송3. 서버에서는 해당 플레이어의 팀을 변경, 프로퍼티 리플리케이션을 통해 다른 클라이언트의 플레이어들의 OnRep함수 실행4. Red, Blue팀에 따라 Material 변경 Server의 GameMode 로직 1. Blue나 Red 플레이어가 각각 한명 이상이 아니라면 Wait 모드로 대기 (아직 관전모드는 미구현, SetActorHiddenInGame로 대체상태)2. Blue나 Red 플레이어가 각각 한명 이상이라면 Ready 상태로 전환, 관전모드 해제3. 5초 대기 후 게임 진입, 공..

밸브에서는 상업적으로 사용하지 않는다면 리소스를 사용하는 것은 괜찮다고 한다.스팀 라이브러리에서 게임을 우클릭하고 로컬 파일 보기를 눌러서 해당 게임의 파일들이 있는 폴더로 이동할 수 있다. 폴더 내에는 vpk(Valve Pack File)라는 형식의 파일이 있는데, 이것이 리소스들이 들어있는 파일이다. misc는 메쉬, 애니메이션 등의 정보, Sound는 사운드 정보, Texture는 텍스쳐 정보가 들어있는 파일인 것 같다.이 vpk파일은 그냥 열수는 없고 GCFScape라는 프로그램을 통해서 열 수 있다. Sound파일들은 .wav로 되어있어서 우클릭 -> Extract를 통해 추출하여 그대로 사용할 수 있다. Texture 파일들은 .vtf라는 파일로 되어있는데..

Team Fortress 2는 2007년에 출시된 밸브에서 만든 게임이다. 어떠한 경로로 이 게임을 접하게 되었는지는 기억이 나지 않지만 중학생때 이 게임에 푹 빠진 기억이 있다.특히 닷지볼이라는 모드를 주로 했는데, 날아오는 로켓을 파이로라는 캐릭터의 공기 분사를 통해 반사하는 모드이다. https://www.youtube.com/watch?v=c7rzHYWYzUk팀포트리스2 닷지볼 플레이 영상(본인은 아님) 언리얼 엔진5를 학습하면서 만들어보면 좋을 게임이 뭐가 있을까 하다가 중학생 시절에 푹 빠져있던 팀포트리스2 닷지볼을 만들어보기로 결심했다. 언리얼 Dedicated server를 학습 후 멀티플레이까지 구현해 볼 생각이다.