シンプルなチャットを作る(前準備)

目次

  概要
  新規シーンの作成
  シーンファイルの保存
  シーンのビルド登録
  空オブジェクトの作成
  MonobitViewコンポーネントの追加
  新規スクリプトの追加
  追加したスクリプトの編集
  ここまでのChatScriptの内容


概要

MUNプログラミングの基礎を知るために、簡単なチャットを作ってみる

  前章の「ノンプログラミング開発」は一切プログラミングせずに、
  簡単に接続・切断・キャラクタ同期を行なう方法について触れました。

  それで十分に事が足りるのであれば、それに越したことはありませんが、そう行かないケースは多々あります。
  (例えば、この章で触れる「チャットをさせたい」場合など。)

  この章では「クイックスタート」と題し、シンプルなチャットを作る工程を説明しながら、
  プログラミングの際に、最低限組み込まなければならない項目について説明していきます。

  なお、ここからはドキュメントの構成上、新規シーンを作成するところから始めます。
  もし前章の「ノンプログラミング開発」にチャットを追加したい場合であれば、
  付記:ノンプログラミングで開発したものにチャットを追加する をご覧ください。


新規シーンの作成

新しくシーンを作成する

  Unity のメニューから File > New Scene を選択してください。
  以下のような、空のシーンが作成されます。


シーンファイルの保存

シーンを保存する

  Unity のメニューから File > Save (Unity2018.3 以前であれば File > Save Scene) を選択してください。
  ファイル名に Test02 と入力して保存ボタンを押しましょう。
  この結果、新規シーンが Test02.unity として保存されます。


シーンのビルド登録

保存したシーンを「Scenes In Build」に追加する

  Unity のメニューから File > Build Settins... を選択してください。
  Build Settings ウィンドウの「Scenes In Build」 の右下にある、[Add Open Scene] ボタン
  (Unity 2018.3 以前であれば [Add Current] ボタン) を押します。
  Scenes In Build に「Test02」 が追加されます。

最初に起動するシーンを「Test02」にする

  Unity の実行ファイルを作成した際に、最初に起動するシーンを「Test02」にするため、「Test01.unity」側を無効にします。
  Build Settings ウィンドウの「Scenes In Build」内にある、「Test01.unity」のチェックボックスを OFF にしてください。
  設定が終わったら、右上の×ボタンを押します。


空オブジェクトの作成

スクリプト登録用のオブジェクトを作成する

  Unity のメニューから GameObject > Create Empty を選択してください。
  以下のように、Hierarchy に空のオブジェクト「Game Object」を作成します。


MonobitViewコンポーネントの追加

空のオブジェクトに MonobitView コンポーネントを追加する

  Hierarchy に作成された「GameObject」をクリックします。
  Inspector にある、[ Add Component ] のボタンを押してください。
  プルダウンメニューから Monobit Networking > Monobit View を選びます。
  以下のように、Inspector に MonobitView が登録されます。

MonobitView ID を変更する

  作成したMonobitViewに対し、IDを変更します。
    ※ デフォルト値は 0 ですが、シーン上に配置された静的オブジェクトの場合、
      この値を 1~999 の範囲で設定する必要があります。

  今回はこの数値を「1」に変更し、Enterで適用させましょう。


新規スクリプトの追加

空のオブジェクトに新規スクリプトを追加する

  もう一度 Inspector にある、[ Add Component ] のボタンを押します。
  プルダウンメニューから New Script を選びます。(メニューリストの一番下にあります)
  Name 欄に ChatScript と入力し、[Create and Add] ボタンを押します。
  以下のように、Inspector に ChatScript が登録されます。

追加したスクリプトを開く

  Inspector に追加された「ChatScript」を開きます。
  Inspector 内の Chat Script の欄にある、以下の赤枠部分をダブルクリックしてください。
  VisualStudio(またはMonoDevelop)が起動し、ChatScript がテキストとして開きます。


追加したスクリプトの編集

using ディレクティブを登録する

  開いた ChatScript の 4 行目付近(using 〇〇〇〇; が羅列している直後)に、以下の一文を追加してください。
using MonobitEngine;
  スクリプト上で MUN 用のコードを自由に記述できるよう、 MonobitEngine の using ディレクティブを入れておきます。

MonobitEngine.MonoBehaviour を継承する

  続けて、ChatScript の 6 行目付近にある、「MonoBehaviour」と記述されている箇所について、
  「MonobitEngine.MonoBehaviour」に変更しましょう。
public class ChatScript : MonobitEngine.MonoBehaviour {
  MonobitEngine.MonoBehaviour は UnityEngine.MonoBehaviour を継承していますので、
  本来の UnityEngine.MonoBehaviour と同じ感覚で使用することができます。
  加えて、MUNが提供する様々な機能を使用することもできます。

OnGUI() を作る

  更に、ChatScript の 8 行目から、以下のコードを記述します。
  (デフォルトで用意されている Start() , Update() の定義は削除して構いません。)
	/**
	 * GUI制御.
	 */
	void OnGUI()
	{
	}

  一般的な Unity プログラミング同様、MonoBehaviourを継承したクラス内で OnGUI() を定義します。
  継承するクラスが MonobitEngine.MonoBehaviour になっても、ここは変わりません。


ここまでのChatScriptの内容


  改めて触れますが、ここまでのChatScript.cs の内容は以下の通りです。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using MonobitEngine;

public class ChatScript : MonobitEngine.MonoBehaviour
{
    /**
     * GUI制御.
     */
    void OnGUI()
    {
    }
}