xreal-snu / xtown Goto Github PK
View Code? Open in Web Editor NEWXREAL의 메인프로젝트 XTown project
XREAL의 메인프로젝트 XTown project
photon view를 붙인다. ownership을 인스펙터에서 fixed -> request 또는 takeover로 바꾼다.
script로 IPunOwnershipCallbacks를 구현하고, OnOwnershipRequest와 OnOwnershipTransfered등
인터페이스가 요구하는 메소드들을 채워넣는다.
IPunOwnershipCallbacks를 받기 위해서는, OnEnable 과 OnDisable에서 적절한 listener 등록해주어야 함.
void OnEnable()
{
PhotonNetwork.AddCallbackTarget(this);
}
void OnDisable()
{
PhotonNetwork.RemoveCallbackTarget(this);
}
우주복 모델 헬멧 부분에 표정이 나오도록 구현
현재 lobby로 지정되 있는 mainroom을 room으로 만들어보기!!
현재 Photon 개념에서 lobby로 지정되 있는 mainroom을 room으로 만들어서 mainroom에서부터 player간 소통이 가능하게 하기
PlayerTtl, EmptyRoomTtl을 설정해서 Portal타고 Back to Lobby 눌렀을 때 rejoin함수를 실행해서 새로 random한 방을 찾게하는 과정을 줄이자.
customproperty에 연결된 scene이름을 적어서 portal에서 filtering
Avatar controller
[To implement]
Yacht dice 미니게임의 2인 멀티플레이 버전 추가
Controller
StarterAssets> Third Person Controller > scripts >
ThirdPersonController.cs
inputs
StarterAssets> InputSystem > StarterAssetsInputs.cs
디자인팀에서 기획한 새로운 아바타 추가
[reference]
https://www.youtube.com/watch?v=FbM4CkqtOuA
[features to implement]
Production을 위해 room이동 관련 모든 버그들을 다 한 곳에서 논의 할 수 있는 이슈!
룸과 관련 발견된 버그들 모두모두모두 모음.
저희가 photon을 멀티플레이어 엔진으로 사용하는 것으로 정해졌고,
이에 학회 월드 공간을 scene들로 나눠 어떻게 포털로 연결할지 기획해야 할 단계에 있습니다.
전체 월드 내에서 "logical"한 공간별로 Scene을 분리할 것인가
(예: 건물내부와 외부가 다른 scene, 건물 들어갈때 scene로드)
아니면 전체 공간을 하나의 scene으로 할 것인가
를 결정해야 합니다.
포탈을 만드는 등 다음 단계로 가는데에 중요한 결정일 거 같습니다. 댓글을 통해 귀한 의견 많이많이 적어주시길 부탁드립니다!!! 아래에는 제가 지금 생각해본 장단점을 적었습니다만, 제가 놓친 부분이나 잘못 생각하고 있는 것 같은 부분은 놓치지 말고 지적 부탁드립니다.
장점
단점
OnRoomJoined()
, OnRoomLeft()
같은 Photon Callback 함수를 이용해서 RPC나 RaiseEvent로 처리하는 것이 좋아보임!!아바타가 의자에 앉는 행동 구현하기
baseline chat에 private chat기능을 더했습니다
photon library를 통한 간단한 Network 확인 및 컨텐츠 개발
회의 시 그림판 용도로 사용할 수 있는 화이트보드 구현
Main room 이전 설정된 아바타 확인
월드 내 NPC 오브젝트 추가.
PhotonChat: #10
[issue]
화면 비율이 바뀌었을 때 chat ui가 제대로 표시되지 않고 빨간 x로 표시되는 문제가 있습니다.
[potential causes]
어떨 때 발생한 다 외에 아직 원인은 찾지 못했으나 anchor와 offset으로 정의된 ui element들이 화면 비율이 바뀌면
parent canvas 영역에서 벗어나 디스플레이 되지 않는 것 같습니다.
[how to reproduce]
게임 플레이 버튼 클릭 후 게임 window 비율 변경 -> inspector view로 돌아가보면 ui element들이 빨간 x로 바뀐 것 확인가능
[comments]
UI 팀에서 검토 부탁드립니다.
※ xTown 캐릭터 사용가능 여부 확인
※ 중간회의 (2/4): 중간 점검
지희
서연
서연
지희
photon app 이 한번 만들면 끝인게 아니라,
chat server 넣으려면 또 별도의 app을 만들어서
프로젝트 안에서는 그 app id로 server에 접속하는 것 같더라고요!
그래서 photon app추가를 자유롭게 할 수 있도록
photon 계정 공유하면 어떨까 싶습니다.
제가 생각하기엔 지금 photon은 이미 개인 메일로 되어 있어 어쩔 수 없지만
앞으로는 공동으로 쓸 수 있는 gmail 파고 pw도
기본 pw + otp 형식으로 기업에서 하는 것처럼 따라하는 것도
괜찮을 것 같은데 어떠신가요?
XTown에 데이터베이스를 추가하기
커스터마이징된 4개의 아바타 중 하나를 선택해 접속할 수 있도록 하는 UI 생성 및 각 아바타의 컨트롤러 구현
야추 멀티플레이 로직이 로비 로직과 충돌하여 야추에서 멀티플레이 로직 삭제,
포털도 삭제하여 새로 Scene연결 작업 필요.
앞으로 멀티플레이 로직 작업은 issue 판대로 client팀과 server팀 협업으로 진행 예정.
Photon network의 동작 상태에 대한 메시지 표시
Photon network가 정상적으로 동작하지 않을 때 error 메시지 표시 및 로깅
-> 유저가 네트워크 상태에 대한 정보를 받을 수 있도록 하고,
wifi 불량등의 문제로 튕겨 disconnect되었을 때 알 수 있도록 메시지 표시함.
다음과 같음.
다음 주 issue
골프 게임에서 많이 나오는 오른쪽 UI. 혹시 팡야 골프 아시는 분 계신가요 ㅋㅋ
로비와 room interface
텍스트 채팅
lobby, room list, room 선택
multiplayer 모드 추가
아바타 커스터마이징 기능구현
baseline 챗 사용방법
play버튼 눌러 UI가 맞게 디스플레이되는지 확인 (화면 비율에 따라 UI가 표시 안되는 경우도 있음. 이럴땐 dont destroy on load> chatManager > canvas > chatpanel의 사이즈를 변경하면 보이긴 하나 근본적으로는 ui팀에서 문제를 확인해 줬으면 좋겠음.
기본채널은 Default임. debug console에서 채널 이름 확인!
메시지 보내려면 메시지 입력후 send button클릭 또는 enter
새로운 채널에 subscribe하려면 \subscribe <채널이름> 입력
지금은 채널 이름 입력하면 그 채널이 새로 만들어짐.
다른 채널로 이동하려면 \join <채널 이름!> 입력. 그러면 그 채널에 쌓인 메시지들이 쭉 보임(스크롤바 이용해서 위의 메시지들 확인 가능)
how to change id: chatManager inspector에서 UserID 원하는대로 변경
현재 send to... 필드를 통한 private message는 지원하지 않으나 곧 추가예정
목표:
프로젝트 directory를 어떻게 정리하고 관리할지 논의
를 논의해 보았으면 좋겠습니다.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.