단위 엔진으로 실시간 통신하는 온라인 게임: 리턴

니소카입니다.
지난번 간단한 핑퐁 게임은 좌표의 실시간 동기화 처리를 설치했다.
이번에도 단비트 엔진을 계속 사용해 온라인화를 목표로 한다.
환경은 다음과 같다.
win10 64bit, Unity2018.3.3f1, Monobit Unity Networking2.0 v2.6

하는 일


나는 노에 맞은 공을 상대방에게 튕기고 싶다.
각 고객과 동기화하여 랠리의 상황을 확인한다.

사고 방법


호스트는 자신과 게스트 쌍방의 패키지 정보를 가지고 있다.
호스트에서 게스트 파델이 공을 맞은 것도 감지할 수 있다는 얘기다.
그래서 나중에 손님이 공에 닿으면 본체 옆에서 공의 전진 방향을 반대 방향으로 바꾸면 된다.
이것이 바로 간단한 반등 처리 사고방식이다.

좌표 동기화


우선, 지난번에 한 것처럼 공의 좌표를 동기화합니다.
단계는 다음과 같다.
1.MonobitView.cs&MonobitViewTransform.cs 추가
2. MonobitView.cs MonobitViewTransform으로 이동합니다.cs 부착
3. 상응하는 볼 구성 요소 스크립트로 MonobitEngine을 진행합니다.MonoBehaviour 계승
자세한 단계는 읽으십시오<마지막 기사>.
볼은 호스트에서 생성되므로 호스트가 소유합니다.
따라서 업데이트에서는 MonobitNetwork.isHost 또는 monobitView.isMine 의 if 문장으로 모두 둘러싸야 합니다.

회춘

private void OnTriggerEnter2D(Collider2D collision) {
    if(MonobitNetwork.isHost) {
        if (collision.tag == "Paddle") {
            // 向きを変える
            direction.x = -direction.x;
        }
    }
}
호스트 측은 두 개의 프로펠러의 모든 판정을 감시한다.
어느 노에 부딪히든지 공의 전진 방향만 반대로 할 뿐이다.

마지막


어때?
단비트 엔진은 대체적인 일을 할 수 있기 때문에 이것만으로도 설치가 끝났다.
다음에는 RPC 정보를 조금 접하고 싶습니다.

좋은 웹페이지 즐겨찾기