スマートデバイスプログラミング 第1回
開発の準備をしよう(イントロダクション、開発環境の導入)

概要

授業概要を説明します。
開発環境上でのプロジェクトの作成、ビルドの方法などを学びます。

UnityとGameCanvasのダウンロード


https://github.com/sfc-sdp/GameCanvas-Unity/

ページ中央付近にある「導入方法」に沿って実行していきます。

1:UnityHubをDLしてインストール。

2:UnityHubを起動して、Unity2022.3.24f1をインストール。

UnityHub起動後、UnityIDでのログイン画面になります。sfcのメールアドレス等でアカウント(UnityID)を作成してください。

※「ライセンスが無い」というアラートが出た場合は無料のもの(Personal)を取得してください

起動後、左側のメニューで「Installs」を選び、右上の「Install Editor」ボタンを押すとインストールの選択肢が出てきます。
Archiveのタブの「download archive」の文字をクリックすると該当するバージョンが選べます。

バージョンを決定するとAdd modulesの画面が出るので「Android Build Support(OpenJDK,Android SDK&NDK Tools)、iOS Build Support、日本語言語パック」を選択するようお願いします。(これを忘れると、実機を動かす回で10ギガの再インストールが必要です)
また、一番上のMicrosoft Visual Studio Comunity(1.5ギガ強)は、使ってみたい方以外は不要ですので、チェックボックスを外してください。(他の授業などで既にVisualStudioCodeなどのエディタを入れている方が多いと思います)

必要な容量が10ギガ程度になるかと思います。「Continue」ボタンを押すとライセンス辺の同意画面などを経て、インストールが始まります。(回線速度やマシンスペックにもよりますが、10分位はかかります)

※Unity2022.3.24f1が見つからない方はUnity2022.3.49f1などでも問題ありません。(その場合、プロジェクトを開く際に「バージョン変更をしますか」と聞かれるので「バージョンを変更」を選んだあと、開く際にもWarning画面が出るので「Continue」を選択してください

3:GameCanvasの入手、解凍、配置

GameCanvasのページの導入方法のところに戻り、「最新のGameCanvas」の文字をクリックしてDLページに行きます。
移った画面の下の方にあるDownloadsの「Source code(zip)」の部分をクリックすると DLが始まります。

DLが終わったら解凍してフォルダの場所を移しましょう。
配置先については「ドキュメント」(macの場合は「アプリケーション」)フォルダ以下にあるUnityフォルダ内などが良いでしょう。
フォルダ名自体も「GameCanvas-Unity-xxx」→「k01」などに変えてみましょう。

4:プロジェクトを開く。

UnityHubの「プロジェクト(Projects)」の画面で「リストに追加(Add/Add project from disk)」を選び、解凍したフォルダ(k01)を選択します

プロジェクト画面に選んだプロジェクトが追加されるので、追加されたプロジェクトをクリックするとUnityが立ち上がります(マシンスペックにより、数十秒かかります)

(ターゲットの選択画面が出た場合は「このまま」を選びましょう)

画面上部中央の再生ボタン(右向きの△)を押すとゲームが実行されます。
サンプル実行がうまくいけば、導入は成功です。

青い空の画像と文字が出ている筈です。
(真っ白な画面しか出ないかた、一度停止してからもう一度再生してみてください)

サンプル実行がうまくいけば、導入は成功です。
導入がうまくいったら、Game.cs(#のアイコンのファイル)を開いて、少し編集してみましょう。

Game.csの編集

  1. 中央下段のproject窓にてAsssets/Game.csをダブルクリックして開きます。
  2. 何らかエディタが開きます。
  3. (開くソフトを指定する画面が出た方はVisutlStudioCodeをインストールして指定するのが良いかなと思いますが、メモ帳(win)やテキストエディタ(mac)でも開けます)
  4. プログラムを編集します。
  5. 
    //14行目(変数宣言ところ)を↓次の2行で上書き
    int time = 600;
    int score = 0;
    
    //23行目(InitGameの{と}の間)を↓次の1行で上書き
    gc.ChangeCanvasSize(360, 640);
    
    //31~32行目(UpdateGameの{と}の間)を↓次の12行で上書き
    time -= 1;
    
    if (time >= 0)
    {
        score += gc.PointerBeginCount;
    }
    
    if (gc.GetPointerDuration(0) >= 2)
    {
        time = 600;
        score = 0;
    }
    
    //50~63行目(DrawGameの{と}の間)を↓の10行で上書き
    gc.ClearScreen();
    
    if(time >= 0 ){
      gc.DrawString("time:"+time,60,0);
    }
    else {
      gc.DrawString("finished!!",60,0);
    }
    
    gc.DrawString("score:"+score,60,60);
    
    
    
  6. 保存してUnityの画面に戻ります。
  7. 実行ボタンを押してみましょう。
  8. 600フレーム(秒間60フレームなので、10秒間)で何回タップできたかを競うゲームになっています。
  9. 画面を2秒長押しすると、スコアとタイムがリセットされます(再度遊べます)

補足

エディタについて

 プログラムがメモ帳で開かれる場合は、
 何かしらのプログラムエディタの導入をお勧めします。

 既に何かしら使っているエディタがある場合は、それを使っても良いですし、  容量は食いますがVisualStudioCodeを導入するのもオススメです。

GameCanvsのAPIのマニュアルについて

 以下から辿れます。最終課題などの参考に。
 https://github.com/sfc-sdp/GameCanvas-Unity/

Unityのマニュアルについて

 以下に一式あります。
 http://docs.unity3d.com/ja/current/Manual/
 但し、GameCanvas無しで開発する前提でのマニュアルなので、
 GameCanvasでの開発では活用できない情報も多々あります。
 GameCanvas自体を作ってみたい、自力で3Dアプリを作りたい、
 Unityについての知識を深めたい、という方は、色々見てみると良いかもしれません。

よくある質問

スクリプトを更新したのに、何も変わらない

プログラムが間違っていてビルドエラーが出ている可能性が高いです。

エディタ上でbuildしてみましょう。

{}の対応が間違っていないか、全角スペースが入っていないかなど、確認してみましょう

違うバージョンのUnityを入れてしまった

2022.3.xx(3番目の数字違い)であれば、警告画面が出ますが恐らく問題なく動きます。

プロジェクトを開く際に「バージョン変更をしますか」と聞かれるので「バージョンを変更」を選んだあと、開く際にもWarning画面が出るので「Continue」を選択してください

2022.2や2021.xやunity6では開けませんので2022.3.xxのインストールをお願いします。