心理学情報処理基礎演習1-05

前回授業へのコメント
 先日お示しした受講者リストに学籍番号がない方は、受講しても単位にならないのでご注意下さい。

・よく知っているFPSゲームを、自分で作ったことに感動した。
・自分で作ったゲームが理想通りに動いたことに感動した。
・わざわざ物理演算のプログラムを組まなくても最初から重力の機能が付いていたり、球や箱もワンクリックで作れたり、さすが世界でよく使われているソフトだなと思いました
・自分で作ったゲームを自分で遊べるのってこんなに楽しいんだ~!と思いました。感動しました!
自分の操作でキャラクターを動かせていることに感動した。この科目は毎回新しいことに出会えるのですごく楽しい。
→自分で作れるって感動しますよね。この授業をきっかけにして、自分の可能性を追求していってください!
・できた時の達成感が感じられてとても面白いと感じました。オリジナルで動かすには時間がかかると思いました。
・作っていてとても面白いと感じたのでもっとたくさんの種類のシーンを作ってみたいと思った。
・いざ設置して動かした時の感動がすごくて色々なものを追加していろいろ入れたくなるが程々にしないと重くなってしまう
・本物のゲームを作ってる感覚で面白かったです。覚えてしまえばこんなに簡単にゲームが作れるのだなと思いました。もっともっと複雑なゲームが作れるようになりたいです。
・自分で作ったステージは少し自分にとって難しかったのですが、自分用に難易度調節できるのでいいなと思いました。
・足場を作ってジャンプをしていく際に、複雑な構造にしてやってみたところ、ジャンプしていくのが予想より難しくなってしまい、それと同時にとても楽しく興味深いと思いました。
・いつかは人の心を読めるようなゲームを作ってみたいと思いました。
→Unityには、さらに言うならば「ゲーム」という媒体には、我々が想定している以上の大きな可能性があると思います。いろいろ試して、考えてみてください!
・ひとつの動きでもすごく手間隙かかり、カメラの位置を変えたり、視点を変えたりできるのが1番大変でした。途中から最初からになったけれど慣れてくるうちにスムーズにできるようになり良かったです。
・めちゃめちゃ難しかったです。画面が見にくいのでどのファイルを押しているのかとかが分かりにくく出来ませんでした汗
・少しでも選択を間違えてしまうと正常に動かないことが自分でわかりました。
→わからないことがある場合は、チーム内の「質問!」チャンネルに質問してください。TAが答えてくれると思いますので。
・キーボード操作でPlayを終了する方法を知りたいと思った。
→「Ctrl+P」でプレイしたり停止したりできます。
・日本語にする仕方がわからなくてずっと最初の画面英語なんですけどどうやって直せばいいですか?
→ほとんどのWebサイトで英語のまま解説されているので、本授業でも英語のまま進めます。ついでに英語を学ぶ機会と考えればお得ですよ!
・課題で作ったものは提出しなくても大丈夫でしょうか。
→提出しなくて結構です。サイズが大きすぎますので。
・動かしているキャラクターのジャンプ力や、走る速度は変えられたりするんでしょうか?
このサイトで、FPSコントローラーの設定を解説しています。

自分で作成したステージの「難易度」や「面白さ」を追求することは、心理学の探求として大切な事です。なぜならば、そこに「世界のリアルさとは何か?」、「面白さの条件とは?」のような、心理学的な問いが存在するからです。いろいろ考えならが、面白いステージを作成してみてください。

シーンのビルド
 Unityで作成したゲームプロジェクトを、実機(ここではWindowsPC)でプレイできる形式に変換することをビルドと言います。今日はは、前回のプロジェクトを少し改造し、ビルドしてみます。今回は、以下のような学習内容を含んでいます。
・AllSky Free 、Material Pack、Rock package、のアセットを加える
・スカイボックスを設定する
・マテリアルを設定する
・アセット(今回は岩)をシーンに配置する
・スクリプトを設定する
・シーンのビルドを行う
 動画内で使用するスクリプト「reload.cs」は、動画の下のダウンロードボタンから取得して下さい。

注1:上記動画中でAllSkyFree_Menuというスクリプトを削除する場面がありますが、スクリプトを選択し、「右クリック>メニューからdelete」もしくはdeleteキーで消すことができます。これを消さないと、エラーが起きてビルドがうまくいかないので、注意してください。
注2:動画中の「reload.csをプロジェクトに入れる」の部分で、つまづくかたが多かったようなので、このページの末尾に、「スクリプトの入れ方」という動画を追加しましたので、わからない人はそれを見ながらやってみてください。

シーンをリロードするプログラム
 プログラムの意味を全て理解するのは難しいです。コメント(//以降の部分)を読みながら、動作させつつ考え、必要に応じて自分で調べてみると良いでしょう。例えば下記の場合、「unity Application.Quit」などの検索後を用いると、googleですぐに調べられます。Unityのサイトではなく、個人のブログなどを見たほうがわかりやすいと思います。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class reload : MonoBehaviour
{
    public float height = -20f;

    // Use this for initialization
    void Start()
    {
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape)) { //Escapeキーが押されたら
            Application.Quit();                 //アプリケーションを終わる
        }

        if (transform.position.y < height) {   //落っこちたら
            SceneManager.LoadScene("s1");   //シーンを呼び直す
        }
    }


}

ゲームの配布方法
 ビルドしたゲームの配布方法を下記動画で説明しています。友達に遊んでほしいひとは、参考にしてUSBメモリなどで渡してみてください。

に今回ビルドしたプログラムファイルが入っています。興味がある方はプレイしてみてください。

リアクションの記入
 課題が終わった方は、下記リンクより、授業配信日を含め3日以内にリアクションを登録してください。ファイル等を送っていただく必要はありません。
心理サイエンス基礎演習1リアクション