Closed jintaeyeong closed 3 months ago
megacity 라는 프로젝트에서도 적용
UGS 서비스.. Unity 6에 새로나온 프로토타입 기능
싱글 플레이어 게임을 만들었음.. 동일한 게임 경험을 다른 플레이어와 어떻게 공유?
Gameplay Layer
Netcode layer
Transport layer
오늘은 Netcode GameObject 에 대해서 좀 더 중점적으로 라이브 설명할 예정
서버 연산 비용이 과도하게 나올 수 있게 될 수 있음
중앙 상태 서비스라고 함 상태 변경사항만 추적하고 네트워크 트래픽을 라우징 중앙 서버는 존재 X 중앙 권한이 없기 때문에 클라이언트에 접근하는 부정행위에 취약할 수 있음
프로젝트를 생성할 때 Connect to Unity Cloud 체크 하기 클라우드 연결을 해야 백엔드 서비스를 사용할 수 있게 됨
프로젝트 생성 할 때 연결을 하지 않았다.. Serveice에서 Genaral Setting에서 연동을 할 수도 있음
패키지메니저 -> Enable Pre-release Packages 체크 활성화
멀티플레이 게임을 개발할 때 Unity 6가 정말 강력하게 도움이 될 것이다...
Unity Registry -> Multiplayer Center를 설치,,, (Pre-Release 체크 되어있어야함)
Multiplayer Center 설정화면 활성화
추천하는 솔루션, 패키지가 자동으로 추천됨 Netcode for GameObject - 적은 사용자 Netcode for Entities - 개발 용량이 올라감
게임이 채팅에 민감하다.. 이런것도 설정할 수 있음
Vivox -> 유니티에서 보유하고 있는 음성 관련 패키지 개발 회사
설정이 끝났으면 Install Package를 누르면 됨..
다양한 패키지를 설치하기 때문에 시간이 오래 걸릴 수 있다.
멀티 플레이 게임을 만들고 같이 접속해서 테스트를 하려면 빌드, 컴파일을 했어야함
유니티는 개발 시간을 단축하기 위해서 훨씬 좋은 기능을 만들어놨음
가상 플레이어를 추가할 수 있다..!!!!!!!!!!!!!!!!!!!(대박)
빌드를 안하고 테스트를 할 수 있다뉘...
멀티플레이 기능을 만드는데 정말 간단해졌다..
NetworkManager 게임오브젝트는 Netcode에 포함되어있는 라이브러리 정상적으로 세션이 연결되면 플레이어 Prefab을 Spawn
Unity Transport 스크립트도 붙어있음, 위치, 크기에 대해 공유
예전에 아즈메타 만들었던거 생각난다..ㅜ Static 까지 분리 되어있음
더 멋진게 나올것... ㅋㅋ
Network Object , 네트워크 상에서 존재하는 것들을 동기화 할 수 있도록 만들어주는 최상위 스크립트
빌드를 한번도 안해봐도 멀티플레이 테스트를 할 수 있다
Network Visualization -> 호스트, 클라이언트 등등 헷갈린다면 이 기능을 이용해서 확인할 수 있다
GDC 에서 설문조사를 했는데 60퍼센트정도 멀티플레이를 개발하고 있음
로비 시스템을 구축하는데 3분이면 된다고 함...ㅋㅋㅋㅋㅋ(3분카레 드립)
Multiplayer widget
헐... Create Session 이라는 UI, 버튼이 생기고 기능이 아예 만들어져있다..!!
create join and leave info (세션코드정보, 플레이어 리스트) communication
세션 리스트를 볼 수 있는데 방 정보를 이렇게 쉽게..? 플레이어 리스트도 받아올 수 있음 요즘에는 세션 코드로도 입장할 수있으니까 info 에서 세션 코드를 이용하면 됨
프리팹을 배치하고 실행만 해도 됨... 씬은 저장해야됌
헐... 대박..
호스트 위주로 되어있는 방이라면 호스트가 세션을 나갔을 때 방이 사라지고 권한 위임도 없다.. 서버 종류에 따라서 사용자가 서버를 나갔을 때 실행되는 구조가 다르다..
유니티는 멀티플레이 민주화를 목표로 누구나 만들 수 있도록.. 멀티플레이는 세부기능을 모르더라도 만들 수 있도록 함
질문 : VR도 사용 가능한가요!!?? -> 가능합니당!!
아직 완벽하지는 않지만 체험할 수 있음
Asteroids-CMB-NGO-SAMPLE 미리 만들어져있는 데모 프로젝트
멀티플레이어 센터를 설치하면 다 볼 수 있다!
중앙상태서버에 접근 방 이름을 변경할 수 있음 세션이 생성되면 캐릭터가 만들어짐
많은 플레이어가 들어가있다면 부하가 될 수 있다 호스트 위주로 되는 서버라면... 호스트 컴퓨터에서 전부 처리하기 떄문에 굉장히 많은 부하가 만들어질 것이다..!!! ㅋ
앞으로 멀티플레이 게임을 만드는데 1시간 30분이면 되지 않을까.. 하는 생각..
플레이어의 수에 따라서 데이터, 세션에 대한 처리를 분배한다.. 100명정도 들어가도 영향이 없었다
보안에 대해서는 그래도 불안할 수는 있음
Network Object에서 Owership - Distributable 오브젝트에 대한 제어를 분배한다..
근데 내가 가지고 있는 것을 제어를 못해서 불편한거 아닌가?? 하는 생각이 들 수 있음
오브젝트를 생성했음
각자 클라이언트에서 스폰을 했음
network Object Owership -> Transport 속성
충돌이 발생할 경우 충돌체에 대해서 오너를 바꾸는 코드가 들어가 있음
멀티플레이어를 설치해라!
많은 인원을 수용하고 싶으면 Distribution 속성을 써야한다..
근데 이것들을 사용하기 위해서는 Unity 6를 써야한다!
개발자 사이트에 정보가 기술되어있음
멀티플레이 센터에 들어가면 다양한 정보가 포함되어있으니까 사용해보면 될 것 같다..
이미 사용해서 게임 개발을 만드는 사람도 많다!
MR 혼합현실
현실과 가상의 혼합
AR 증강현실과 비슷한 개념
AR은 역사가 오래됐는데 MR은 비교적 최근에 태어난 단어
AR은 스마트폰, 태블릿, MR는 글래스 타입으로 생각하면 될 것 같다고 생각함
Spatial 공간 컴퓨팅
VR/AR?MR에 따라 콘텐츠가 분류될 것이다..
최근 MR이 추세이긴 함
MR : Passthrough 방식, 카메라를 통해서 보는 것
기존 2D 게임과는 다른 세상의 콘텐츠임
게임 기획 단계부터 틀에 벗어나서 진행되긴 함
30프레임, 퍼포먼스 최적화를 꼭 생각해야된다
오랜만에 유니티 라이브를 시청하게 됨
유니티 6에 대한 정보도 얻고 개발에 대한 최신 동향을 알 수 있을 것이라고 생각하고 이슈 등록
고급 Unity 개발자를 위한 데이터 지향 기술 스택 E-book