>

표시 할 코드가 없어 죄송하지만 이는 매우 건축적인 질문입니다.

먼저 UNET을 사용해야한다고 말해야합니다. 예, 더 이상 사용되지 않지만 사용자가 게임에 참여할 수 있도록 실제 네트워크 게임을하고 있지 않습니다. 설명을하겠습니다: 하드웨어에 연결된 프로젝트가 있습니다. PC는 하드웨어를 제어하고 정보 등을받는 Unity 두뇌를 실행하고 있습니다. 이 부분은 훌륭하게 작동합니다.

간단히 둘러보기 위해 Simple VR 안경을 연결해야합니다 (시작 버튼을 누르기 시작하고 "시작 버튼을 누르십시오"), 아무것도 PC에 의해 여전히 제어됩니다 (이 경우 UNET 서버를 실행합니다) 필요) 이동하고 입력을 받고 작업을 수행하는 주요 클라이언트이며 VR은 둘러보기위한 일종의 "슬레이브"여야합니다. 프로젝트에 사용 된 통일성이 18.3.14f1이기 때문에 UNET을 원합니다. 그렇습니다. 오래되었다는 것을 알고 있지만 지금은 변경할 수 없으며 모든 하드웨어처럼 서버를 필요로하지 않는 레거시입니다. 같은 LAN에 있습니다.

내가 이해할 수있는 것에서, 클라이언트/서버에서 모든 클라이언트 (PC 및 VR)는 새로운 클라이언트를 생성하므로 VR의 클라이언트는 PC에있는 동일한 클라이언트를 갖지 않습니다. 그것은 일을 매우 복잡하게 만듭니다.

둘 다 제어 할 수있는 일종의 MASTER/SLAVE가 있습니까? 그렇지 않은 경우 서버에서 모든 작업을 수행하고 모든 클라이언트에게 모든 것을 보내야합니까? 아니면 여전히 규칙적인 접근 방식을 사용하여 클라이언트의 모든 것을 다른 사람에게 보내야합니까 (앱의 모든 코드 변경)?

그에 대한 답을 찾을 수 없었습니다. 그것이 매우 사용 된 시나리오라고 생각하지 않습니다.

10 배.


  • 답변 # 1

    와이즈 비즈

    Unity가 엔진에서 UNET을 제거 할 때 문제가 발생하지 않도록 Mirror를 사용할 수 있습니다.

    와이즈 비즈

    그것은 UNET이 작동하는 방식이 아닙니다. 기본 아이디어는 게임이 모든 장치에서 동시에 실행된다는 것입니다. VR 안경을 렌더링하려면 게임을 실행해야합니다. UNET을 사용하면 게임 상태를 동기화하고 연결된 모든 인스턴스의 상태가 동일해야합니다.

    와이즈 비즈

    연결된 모든 장치는 연결된 모든 게임 인스턴스에서 새로운 플레이어를 생성 할 수 있습니다. VR 안경과 클라이언트 간의 동기화 상태를 구별하는 데 도움이 될 것입니다.

    와이즈 비즈

    UNET에 잠겨 있지 않습니다. 때로는 자체 TCP 또는 UDP 통신을 설정하는 것이 가능할 수도 있습니다.

    UseCase에 대한 설명이 명확하지 않습니다. VR Glass를 독립적으로 실행해야하고 PC에 모든 워크로드가 있어야합니까? 아니면 VR 안경이 연결되어 공유 경험을 제공합니까? PC의 역할은 무엇입니까? 거기에 무엇이 표시되어야합니까?

    First of all, I have to say that i have to use UNET and yes, I know it is deprecated, but i'm not doing an actual network game that will let users join the game. I will explain: I have a project that is connected to hardware. The PC is running the Unity brain that controls the hardware and receive info from it and so on. This part is working great.

  • 이전 실패시 파이썬 스크립트에서 jenkins 작업으로 오류 문자열 보내기
  • 다음 c++ - 컴파일 타임에 요소의 합계를 찾는 방법은 무엇입니까?