Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 알고리즘
- 누적 합
- c++
- BFS
- 스택
- 수학
- XR Interaction Toolkit
- 백트래킹
- 자료구조
- 정렬
- ue5
- 시뮬레이션
- 다익스트라
- 다이나믹 프로그래밍
- 유니온 파인드
- 문자열
- 트리
- 그리디 알고리즘
- Team Fortress 2
- DFS
- 투 포인터
- 유니티
- 그래프
- VR
- 우선순위 큐
- 브루트포스
- 백준
- 재귀
- Unreal Engine 5
- 구현
Archives
- Today
- Total
1일1알
UE5로 만드는 Team Fortress 2 닷지볼 - 채팅 시스템 본문
채팅 시스템 구현을 위해 3개의 Widget을 제작하였다.
1. ChatUI : 엔터를 누르면 나오는 채팅 UI로, 채팅 로그들이 기록되고 스크롤박스를 통해 스크롤하여 지금까지의 채팅 내용을 확인할 수 있다.
2. ChatTmpUI : 잠깐 나왔다가 사라지는 채팅 UI로, 실시간으로 올라오는 채팅이 잠깐 나왔다가 사라지는 UI이다.
3. ChatElement : ChatUI의 스크롤박스의 자식, ChatTmpUI 의 VerticalBox에 들어가는 실제 채팅 메세지, 발신인을 표시하는 UI이다. RichText를 사용하여 부분적으로 텍스트의 색상을 변경 가능하도록 하였다. 플레이어의 상태, 현재 팀에 따라 플레이어 앞에 붙는 수식어와 플레이어의 이름 색상이 변경되도록 하였다.
만약 채팅을 바로 치고 ChatUI를 키면 아직 ChatTmpUI가 남아있는 상태이기 때문에 ChatElement가 두개가 표시되는데, 이때 텍스트가 같은 위치에 표시되어 완전히 겹쳐져서 두개로 보이지 않도록 구현하였다.
작동 방식
UEditableText의 입력이 완료되면 호출되는 OnTextCommitted 델리게이트에서 ServerRPC를 호출하여 작성한 텍스트 정보를 보내고, 서버에서는 MulticastRPC를 사용해 해당 정보를 보낸 플레이어 정보와 텍스트 정보를 모든 클라이언트에게 뿌려주었다.
클라이언트에서는 해당 정보를 받아서 필요한 정보를 추출하여 ChatUI , ChatTmpU 를 띄워주도록 하였다.
'언리얼 > TF2 Dodgeball 모작' 카테고리의 다른 글
UE5로 만드는 Team Fortress 2 닷지볼 - 사운드 추가, Aws에 올린 서버를 통해 멀티플레이 (0) | 2024.04.24 |
---|---|
UE5로 만드는 Team Fortress 2 닷지볼 - Hud, 파티클 효과 추가 (0) | 2024.04.23 |
UE5로 만드는 Team Fortress 2 닷지볼 - 킬피드UI (0) | 2024.04.21 |
UE5로 만드는 Team Fortress 2 닷지볼 - 스코어보드 UI 제작 (1) | 2024.04.20 |
UE5로 만드는 Team Fortress 2 닷지볼 - 로켓 메쉬 적용 (1) | 2024.04.19 |