-
Notifications
You must be signed in to change notification settings - Fork 3
ImSoloSinceBirth
KarmoDDrine edited this page Jun 18, 2025
·
1 revision
프로젝트에 Woodon 임포트 + '나는 모솔' 샘플 받아주세요. (여기 확인)
샘플에 포함된ISSB_Trigger - OnlyChat 프리팹 참고. '나는 모솔' 기능 중 채팅만 남겼습니다.
-
[ChattingManager]: 채팅 관리 (아래 설명 참고) -
[WSCanvas]:[ChattingManager]를 위한 캔버스 (비활성화) -
Chat [Chat]: 단체 익명 채팅방 (채팅방 번호 0) -
Chat [1-1 DM]: 1대1 대화 채팅방 (채팅방 번호 1)
-
message: 채팅 내용 -
chatRoom: 채팅방 번호 -
additionalData: 추가로 보낼 데이터 (채팅 내용과 구분하기 위함)
여기에 추가로 플레이어 닉네임, 보낸 서버 시간, 고유한 Udon Index을 붙여 전송.
- 숫자로 구별.
- '나는 모솔'에서는
0이 익명 채팅방,1이 1대1 대화 채팅방을 의미합니다. - UI 업데이트 할 때 이 chatRoom을 기준으로 채팅 데이터 필터링 함. (
UIChat참고)
- '나는 모솔'에서는
-
Chat Manager에서 모든 채팅 데이터 관리 -
Chat Seat으로부터 채팅을 받아 저장하고, 저장한 채팅 데이터를UIChat에 전달함.
-
Chat Manager로 메시지를 전송. (SendChatMessage(~)). - 자식 오브젝트로 있는
[WInt] ChatRoom의 Default Value로 전송할 Chat Room (채팅방 번호)를 설정 가능. (런타임 변경 가능)
참고: 로컬 기능만 있음. 그래서 여러 명이 같이 써도 됨. 단순히 플레이어 위치 분산시키기 위해 여러 개를 만들어 사용.
참고: InputField 클릭 시 플레이어 이동 고정되는 기능 있음.
일단 플레이어 별로 WJson이 하나씩 할당됨. (WJson: [UdonSynced] string 변수가 들어 있음)
플레이어 한 명의 채팅 데이터는 해당 플레이어의WJson 우동에 저장됨.
WJson의 string 값이 바뀔 때 마다 ChattingManager에서 이를 감지하여 UI Update.
참고: 하나씩 할당하기 위해 WPlayerUdonIndex를 씁니다. (플레이어 별 고유 우동 번호 부여)