はじめに
概要
作品名 | School Metaverse |
参考教材 | 【2020版】BattleOnline |
制作期間 | 2022.12.28~2023.01.06 (10日) |
制作形式 | 受注制作 |
受注金額 | 0円 |
商取引というよりは、ボランティア感覚で制作・納品したため、受注金額は0円
外部リンク
このプロジェクトは「GitHub」にありますが、アセットの再配布に当たらない様にする為にリポジトリの可視性をプライベートにしています。どうしてもプロジェクトのソースをご覧になりたい場合はページ下の「お問い合わせ」から個別にご連絡下さい。
設計案
「設計案」内の「製品」欄のアプリのダウンロードリンクは無効
プレイ動画
内容
出来るようになった事
- 「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」から他の型への変換
- 「Texture2D.LoadImage()」を使用した、バイナリデータからのテクスチャの作成
- 「Sprite.Create()」を使用した、テクスチャからのスプライトの作成
- 「Recorder.RecordingEnabled」を使用した、ボイスチャットのミュート切り替え
- 「RectTransform.SetSizeWithCurrentAnchors()」を使用した、UIのサイズ変更
- 「Exception」を使用した、例外の宣言
上記の「Image」は「UnityEngine.UI.Image」ではなく「System.Drawing.Image」
工夫した点
- ロビー画面にて、不要になったボタンはすぐに「Destroy()」でシーンから消す事で、処理の負荷を軽減した
- 画像の同期処理において、毎フレーム同期するのではなく、一定間隔毎に同期するようにした事で、処理の負荷を軽減した
- メッセージを受信したら、赤丸で通知するようにした
コメント