【作品紹介(Unity)】School Metaverse

Unity

はじめに

概要

作品名School Metaverse
参考教材【2020版】BattleOnline
制作期間2022.12.28~2023.01.06
(10日)
制作形式受注制作
受注金額0円
商取引というよりかはボランティア感覚で制作・納品したため、受注金額は0円

設計案

「設計案」内の「製品」欄のリンクは無効

リンク

プレイ動画

内容

出来るようになった事

  • MonoBehaviourPunCallbacks」の継承と使用
  • photonView.IsMine」を使用した、「所有キャラクターかどうか」の取得
  • PhotonNetwork.AutomaticallySyncScene」を使用した、マスタークライアントとの同しシーンのロード
  • PhotonNetwork.IsConnected」を使用した、「マスターサーバーとの接続が出来たかどうか」の取得
  • PhotonNetwork.JoinRandomRoom()」を使用した、ランダムなルームへの参加
  • PhotonNetwork.ConnectUsingSettings()」を使用した、マスターサーバーへの接続
  • OnConnectedToMaster()」を使用した、マスターサーバーへの接続が成功した際の処理の記述
  • RoomOptions.MaxPlayers」を使用した、ルームの最大プレイヤー数の設定
  • PhotonNetwork.JoinOrCreateRoom()」を使用した、ルームの参加と作成
  • OnJoinedRoom()」を使用した、ゲームサーバーへの接続が成功した際の処理の記述
  • PhotonNetwork.LocalPlayer.NickName」を使用した、ニックネームの同期
  • photonView.RPC()」を使用した、メソッドの呼び出しの同期
  • OnPlayerEnteredRoom()」を使用した、他のプレイヤーが同じルームに参加した際の処理の記述
  • PhotonNetwork.Instantiate()」を使用した、ネットワークオブジェクトの生成
  • [PunRPC]」を使用した、同期メソッドの宣言
  • ExitGames.Client.Photon.Hashtable」を使用した、カスタムプロパティの作成
  • PhotonNetwork.CurrentRoom.SetCustomProperties()」を使用した、作成したカスタムプロパティの登録
  • PhotonNetwork.LocalPlayer.IsMasterClient」を使用した、「自分がマスタークライアントかどうか」の取得
  • Enum.GetValues()」を使用した、enum 型 の列挙子の取得
  • OnPlayerLeftRoom()」を使用した、プレイヤーがルームから退出した際の処理の記述
  • PhotonNetwork.CurrentRoom.CustomProperties」を使用した、カスタムプロパティの取得
  • is」を使用した、型の比較
  • Image.FromFile()」を使用した、ファイルパスからの Image の取得
  • try-catch」を使用した、例外が発生した際の処理の記述
  • Image.GetThumbnailImage()」を使用した、Image のサイズの変更
  • ImageConverter.ConvertTo()」を使用した、Image から他の型への変換
  • Image.sprite」を使用した、Image の Sprite の設定と取得
  • Texture2D.LoadImage()」を使用した、バイナリデータからのテクスチャの作成
  • Sprite.Create()」を使用した、テクスチャからのスプライトの作成
  • Recorder.RecordingEnabled」を使用した、ボイスチャットのミュート切り替え
  • RectTransform.SetSizeWithCurrentAnchors()」を使用した、UIのサイズ変更
  • Exception」を使用した、例外の宣言
上記の「Image」は「UnityEngine.UI.Image」ではなく「System.Drawing.Image」

工夫した点

  •  ロビー画面にて、不要になったボタンはすぐに「Destroy()」でシーンから消す事で、処理の負荷を軽減した
  • 画像の同期処理において、毎フレーム同期するのではなく、一定間隔毎に同期するようにした事で、処理の負荷を軽減した
  • メッセージを受信したら、赤丸で通知するようにした

お問い合わせ

    タイトルとURLをコピーしました