公立はこだて未来大学 2020 年度 システム情報科学実習
グループ報告書
Future University-Hakodate 2020 System Information Science PracticeGroup Report

プロジェクト名
Underwater World ver.2

Project Name
Underwater World ver.2

グループ名
Unity 班Group Name
Unity Group
プロジェクト番号/Project No.

13-A

プロジェクトリーダ/Project Leader
宮下翔伍

Shogo Miyashita

グループリーダ/Group Leader
宮下翔伍

Shogo Miyashita

グループメンバ/Group Member
宮下翔伍

Shogo Miyashita

海藤大地

Daichi Kaido

川内理生

Riku Kawauchi

井沼大陸

Tairiku Inuma

埜田匡
八城佑紀

Tasuku Noda
Yuki Yashiro

指導教員
長崎健

和田雅昭

高博昭

AdvisorTakeshi Nagasaki

Masaaki Wada

Hiroaki Taka

提出日2020 年 1 月 22 日

Date of Submission
January 22, 2020

概要
本プロジェクトでは海に関する課題を見つけ、それを解決していくことを活動の前提とした。
調査の結果、子供を海へ行かせられないという親が多いことが判明した。その原因として、海での事故に対する不安、海に対する不快感、海へ行くことが面倒である、海に対して興味・関
心が無いなどがあった。しかし、親は子供を海へ連れていき海を体験させることで、子供の学
習や発育などに良い影響を与えるとも考えている。そこで、本プロジェクトは様々な原因がある中で、親の海に対しての興味・関心の無さに着目した。そして、海への興味・関心が無い親が子供を海へ連れて行かないため、子供は海を体験することができず、海への興味・関心を持
つ機会が少なくなっていることを問題として設定した。この問題を改善するために、親子の海への興味・関心を促進させることを本プロジェクトの目的とした。この目的達成のための手段として、海に行けない親子を対象に、海へ行かずとも海を疑似体験できるゲームを開発することにした。このゲームは海を疑似体験させることが目的であるため、ゲーム内の海をよりリア
ルに再現するということが重要であった。そこで、ゲーム内の背景に実際の海の画像を使用することにした。前期の活動では、撮影班とシステム班に分かれて作業を行なった。撮影班は海の画像の入手と、その画像をゲーム内で使用するための加工を行なった。システム班はゲーム開発に使用する Unity と Blender の学習と、ゲームのプロトタイプの開発を行なった。後期の活動では、Unity 班とモデリング班に分かれて活動を行なった。Unity 班では、前期にシス
テム班が作成したプロトタイプを基盤として、ゲームシステムの構築、デザインの作成、ゲーム内で登場する魚を紹介する図鑑の作成を行なった。モデリング班では、約 20 種類の魚のモデルの作成と、モデルのアニメーションの作成を行なった。ゲームがある程度の完成度に達した後、実際にゲームをプレイしてもらい、目的達成に効果があるか評価してもらうため、函館朝市にて体験会を開催した。朝市での体験会のフィードバックを元に、ゲームの改善を行なった後、はこだてみらい館で体験会を開催した。そして、この体験会で得たフィードバックから
本プロジェクトが開発したゲームが目的としたものに近づいているか確かめた。
キーワード

親子, 海を体験, 海への興味・関心, VR ゲーム, Unity, Blender（文責: 八城佑紀）-i-Abstract
In this project, the premise of our activity was to ﬁnd the problem related to the sea
and solve it. As a result of the survey, we found that many parents can not send theirchildren to the sea. The causes were anxiety about accidents at the sea, discomfort withthe sea, the thing that going to the sea is troublesome, not interested in the sea and soon. However, the parents believe that children’s experience of the sea has positive eﬀect
on their learning and education. Therefore, we focused on the lack of interest of parents
in the sea among those causes. And we set what children be unable to experience thesea and have lost the opportunity to take an interest in the sea because parents haveno interest in the sea and take children to the sea as a problem. The purpose of thisproject was to promote parent and child interest in the sea to improve this problem. In
addition, the means to improve the problem was to create VR game that parent andchild who cannot go to the sea can simulate the sea. It was important to reproduce
the sea in the game more realistically because the purpose of this game is to simulate
the sea. So we decided to use a real sea image for the background in the game. In theactivities of ﬁrst half of the year, we were divided into photography group and systemgroup. Photography group take images of the sea and processed them for using in thegame. System group studied Unity and Blender and developed a game prototype. In
the activities of latter half of the year, we were divided into Unity group and modelinggroup. Unity group created game systems, designs and ﬁsh book based on a gameprototype that system group created. Modeling group created about 20 ﬁsh models
and animations of those ﬁsh models. As the game was nearing completion, we held atrial session at Hakodate morning market to have parent and child play the game andevaluate it. We improved the game based on feedback of the trial session. After that, we
held a trial session at Future Center Hakodate. From the feedback of the trial session,
we made sure that the game was nearing the purpose of this project.
KeywordUnity

parent and child, experience the sea, interest in the sea, VR game, Blender,（文責: 八城佑紀）- ii -

目次
第1章

はじめに

1

1.1

背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.2

問題の詳細 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

1.3

目的の詳細 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

プロジェクトの概要

5

2.1

問題の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

2.2

目的の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

2.3

グループの割り当て . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

2.3.1

モデリング班 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

2.3.2

Unity 班 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

2.4

目標の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

2.5

本グループの課題. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

2.6

グループ内での活動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

課題解決プロセスの概要

93.1

目的達成のための議論 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

3.2

撮影方針 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

3.2.1

撮影機材 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

3.2.2

撮影方法と補助機材 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

3.3

映像編集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

3.4

画像加工 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

3.5

アプリ開発方針 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

3.5.1

使用したツール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

3.5.2

ゲームデザインの考案 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

3.5.3

実装する機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

第2章

第3章

3.6

中間発表会の準備. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

3.7

体験会開催の検討. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

3.7.1

函館朝一での体験会の検討 . . . . . . . . . . . . . . . . . . . . . . . . . .

15

3.7.2

はこだてみらい館での体験会の検討. . . . . . . . . . . . . . . . . . . . .

15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

3.8
第4章

4.1

最終発表会の準備

課題解決プロセスの詳細

17

撮影成果の詳細 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

4.1.1

住吉漁港 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

4.1.2

黒岩岬 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

4.1.3

啄木小公園 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

4.1.4

湯の川漁港 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18- iii -

函館漁港 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

4.2

映像編集の成果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

4.3

画像加工の成果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

4.3.1

輝度の調整 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

4.3.2

不要部分の削除 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

4.1.5

4.4

アプリ開発の成果. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

4.4.1

VR アプリの開発 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

4.4.2

PC アプリの開発 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27

4.4.3

魚図鑑の開発 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

4.5

VR 映像の収録 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

4.6

アプリの紹介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

4.6.1

魚〜うお〜 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30

4.6.2

魚図鑑 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

4.7

中間発表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

4.8

体験会実施の成果. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

4.8.1

函館朝市での体験会 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

4.8.2

はこだてみらい館での体験会の成果. . . . . . . . . . . . . . . . . . . . .

33

最終発表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

まとめ

37

5.1

グループとしての成果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

37

5.2

グループにおける各人の役割. . . . . . . . . . . . . . . . . . . . . . . . . . . .

37

5.3

今後の課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39

掲載実績

40

4.9
第5章

付録 A
謝辞

41

参考文献

42

- iv -

Underwater World ver.2

第 1 章 はじめに
1.1

背景

本プロジェクトでは、世間での海に関する問題を解決するというプロジェクトの趣旨のもと、インターネットでその問題について調査した。その結果、子供を海へ行かせられない親が多いことが判明した。アクトインディ株式会社が運営企画している、子供とお出かけ情報サイト「いこーよ」の「海へのお出かけ意識大調査」[1] によると、図 1.1 のグラフでは「海によく行くか」という質問に対して、約 60 ％の親が「海に行かない」と回答している。図 1.2 のグラフでは、図 1.1 のアンケート結果で「海に行かない」と回答した親を対象にしており、本当は子供を海に行かせたいかを質問している。その結果、これに約 70 ％の親が「よくあてはまる」または「どちらかというとあてはまる」と回答している。図 1.1 と図 1.2 から、海に行かない親子は半数以上いるが、その中の多くの親は、本当は子供を海へ連れていきたいと考えていることが分かる。
海に行かない理由については調査結果がある。表 1.1 は、子持ちの父親と母親 1030 人を対象とした「親が子供を海に連れて行かない理由」についてのアンケートの結果である。この表から子供が水難事故に遭うなどの海に対する危険なイメージ、海に入ることで体がべたついてしまうなどの海に対する不快感、海が遠いことや海へ行くために時間がかかるなど海へ行くことが面倒であるという考え、海に対する興味・関心の無さなどの様々な理由があることが分かる。一方で、図 1.3 の「子供の好奇心を育てるのに有効だと思うか」という質問については、約 90 ％の親が「よくあてはまる」または「どちらかというとあてはまる」と回答している。さらに図 1.4 の「生き物や自然環境への関心がより高まると思うか」という質問については、約 90 ％の親が「よくあてはまる」または「どちらかというとあてはまる」と回答している。図 1.3 と図 1.4 から、子供に海を体験させることで子供の学習や発育などに良い影響が出ると考えている親が多くいることが分かる。
（文責: 八城佑紀）

図 1.1 海へ行くことに対する親の考えの割合

Group Report of 2020 SISP

-1-Group Number 13-A

Underwater World ver.2

図 1.2

子供を海に行かせられない親の割合

図 1.3 子供に海を体験させることによる効果に関する親の考え 1

図 1.4 子供に海を体験させることによる効果に関する親の考え 2Group Report of 2020 SISP

-2-Group Number 13-A

Underwater World ver.2
表 1.1 親が子供を海に連れて行かない理由

海に行かない理由

具体例

海は危険

・クラゲや毒のある生き物などが居て危険・海は水難事故が起こるなど命の危険がある
・子供の年齢が小さいため海に行くのが不安
・子供が水難事故に合わないように見張るのが面倒

海は不快

・海に入った後に海水で体がベタベタするのが嫌だ
・日に焼けるのが嫌だ
・(近場の) 海がきれいでない (ゴミや海藻などが落ちている)・砂が体につくのが嫌だ
・砂が車に入るのが嫌だ
・海の家のシャワーや水道で体を洗うのが好きではない

海は面倒

・海が遠い
・行き帰りの渋滞が嫌だ
・海に行くには荷物が多くなるのが嫌だ
・車が無いため海に行きにくい・海に入るのが嫌だ

海に興味・関心が無い

・どの海が良いのか分からない
・海に行くことがそもそも選択肢に挙がらない・海の楽しみ方がよく分からない
・海に行くことの何が良いのかが分からない

その他

1.2

・特に海に行かない理由は無い

問題の詳細

1.1 節から、多くの親は子供に海を体験させることで、子供の学習や発育に良い影響を与えると考えている。しかし、様々な理由により、多くの親は子供を海へ連れて行くことができず、子供は海を体験することができない。このような状況にある子供は海に興味・関心を持てない。それに伴い、海へ行くことによる学習や発育への良い影響を受けることができない。そこで、本プロジェク
トでは海へ行けない理由の中で、海に興味・関心が無いことに着目し、子供を海に連れて行けない
親とそれによって海を体験できない子供、このような親子に焦点をあてる。
（文責: 八城佑紀）

1.3

目的の詳細

1.2 節では、親が海に興味・関心が無いため子供を海に連れて行くことができず、そのため子供
は海を体験することができないという親子の状況に着目した。この状況にある子供は海に興味・関心を持つ機会が少なく、学習や発育への影響を受けることも少ない。これを改善していくためには、子供が海に興味・関心を持つことができる機会を増やしていく必要がある。そこで本プロジェ

Group Report of 2020 SISP

-3-Group Number 13-A

Underwater World ver.2
クトの活動では、このような親子に海への興味・関心を促進させることで問題を改善していく。
（文責: 八城佑紀）Group Report of 2020 SISP

-4-Group Number 13-A

Underwater World ver.2

第 2 章 プロジェクトの概要
2.1

問題の設定

1.1 節では、約半数の親が海へ行かないことが判明した。一方で、親のほとんどは子供に海を体験させることで、子供の学習や発育に良い影響を与えると考えている。しかし、海へ行かない親の中で、子供を海へ連れて行きたいが行けないという状況にある人は多くいる。海に行けない原因として、海に対する危険意識、海への不快感、海へ行くことが面倒、海に興味・関心が無いなどがある。海に行くことができず、海を体験することができない子供は海に興味・関心を持つことや、それによる学習や発育への良い影響を受ける機会を得られないと考えられる。そこで、本プロジェク
トでは、親が海へ行けない理由の中で「海に興味・関心が無いこと」に着目し、親が海に興味・関心が無いため子供を海へ連れて行くことができず、子供が海を体験することなどといった、海と接する機会が少なくなっていることを問題として設定した。
（文責: 八城佑紀）

2.2

目的の設定

2.1 節では、親は子供を海に連れて行きたいが、海への興味・関心が無いため子供を海に連れて行くことができず、子供は海を体験できない。そのため、子供は海に興味・関心を持つ機会が少な
くなっているという状況を問題として設定した。
そこで、プロジェクトメンバー全員でどのように問題を改善するかについて議論をした。その結果、問題の改善のために親子の海に対する興味・関心を促進することでこの問題が改善していくと考えた。子供は海に興味・関心を持つ機会が少ないため、本プロジェクトの活動でこのような子供に海に興味・関心を持つきっかけを作ることにより、子供が海に興味・関心を持つ機会は増え、子供の学習や発育への良い影響にも繋がる。また、親が海に興味・関心を持つことで子供を海へ連れて行く意識が高まり、子供が海を体験する機会が増える。これらのことが見込めるため、海に対する興味・関心を促進することで問題の改善に近づいていくと考えた。
また、どのような手段でこの問題を改善していくかについても検討した。その結果、海に行けない親子を対象として、海に行かずとも海の疑似体験ができる VR ゲームを開発し、実際に海を体験することの代わりとなるこのゲームをプレイしてもらうことで、本プロジェクトの目的である親子に海への興味・関心を促進させるための手段となると考えた。まず、問題を抱える親子は海へ行くことなく海に興味・関心を持つ手段が必要である。実際に海を体験することが、海に興味・関心を持つことに最も効果的な手段と考えられるため、海の疑似体験が可能であれば、実際に海を体験することに近い影響が出ると考えられる。そこで、海を疑似体験できるものを開発することが問題
改善の手段となると考えた。何故 VR ゲームを代わりの手段とするかについては、VR は原物そのものではないが、それに近いものを再現することができ、それによる効果は原物のよるものに近いと考えた。また、VR では仮想空間を作ることができ、VR ゴーグル内にその仮想空間を映し出し、使用者は VR ゴーグルを装着することで、自分がその空間内にいるかのような体験ができる。
このように、VR を用いてリアルな海を再現することができれば、海を疑似体験することが可能とGroup Report of 2020 SISP

-5-Group Number 13-A

Underwater World ver.2
なり、海を行かずとも海を体験することができるようになると考えた。また、海を体験してもらう
対象者は子供を含むため、子供がより興味をもちやすいゲームを手段とすることが効果的だと考えた。このような議論を行なった結果から、海に行けない親子を対象に、海に行かずとも海の疑似体
験ができるゲームを開発することを、本プロジェクトの目的を達成するための手段とした。
（文責: 八城佑紀）

2.3

グループの割り当て

2.2 節では、親子に海への興味・関心を促進させることを目的とし、そのために海に行かずとも
海の疑似体験ができる VR ゲームを開発することを問題改善の手段として設定した。前期の活動
では、ゲーム内で使用する海の画像を入手するため函館市内の漁港や海岸に行き、専用のカメラを用いて映像を撮影した後その映像を加工する撮影班と、ゲーム開発に使用する Unity や、ゲーム内に登場する魚のモデルの作成に使用する Blender の学習を行ない、ゲームのプロトタイプの開発を行なうシステム班に分かれて活動を行なった [2][3]。後期の活動では、Blender を用いた魚のモデル作成と、Unity を用いたゲーム開発の二つの作業を行なう必要があったため、モデルを作成する
モデリング班とゲームを開発する Unity 班に分かれて活動を行なった。
（文責: 八城佑紀）

2.3.1

モデリング班モデリング班では、主に 3D モデルを作成するため Blender を用いて作業を行なった。ゲーム内で使用する魚のモデルの作成には、企業から提供された魚の画像を使用した。また、その魚のモデルが実際の魚と同様に動くようにアニメーションの作成を行なった。Blender で作成した魚のモデ
ルは Unity 内で使用できるように出力を行なった。
（文責: 八城佑紀）

2.3.2

Unity 班Unity 班では、前期のシステム班と同様に主に Unity を用いてゲームの開発を行なうことを作業内容とした。まず、ゲームの仕様やデザインなどのゲームの完成形を班のメンバーで検討した。
その後、前期にシステム班が開発したゲームのプロトタイプを基盤として、ゲームの機能の追加やゲーム画面のデザインを行なった。ゲームの機能としてはプレイヤーの操作、ゲームのフィール
ド、敵やギミックなどのオブジェクト、シーン遷移などがあり、それらのタスクを各メンバーに分担して実装を行なった。ゲームデザインの作業については、それぞれの画面の UI、プレイ画面
での海の背景などをデザインした。また、モデリング班が作成した魚のモデルを Unity 内のオブジェクトとして機能するように導入し、モデルに付与されたアニメーションの制御も行なった。さらに、ゲームとは別に、より魚についての興味・関心を持ってもらうための魚図鑑の作成を行なった。図鑑ではゲーム内で登場するすべての魚についての生息地や生態などの詳細な情報を閲覧できる機能と、ゲーム内で使用した魚のモデルを自由に閲覧できる機能を実装した。
（文責: 八城佑紀）Group Report of 2020 SISP

-6-Group Number 13-A

Underwater World ver.2

2.4

目標の設定

海への興味・関心を促進するという目的を達成できたかどうかは、ゲームがある程度完成した後に、親子を対象とした体験会を開催し、実際にゲームをプレイしてもらった後にアンケートに回答してもらい、その結果から親子の海に対する興味・関心が高まっているかを確認することで評価する。また、体験会で判明したゲームの修正点を改善し、より多くの親子により良い影響を与えることができるようにする。これらをこの目的に対しての目標とする。
目的達成のための手段として、海へ行かずとも海の疑似体験ができるゲームの開発を行なうが、このゲーム開発の期限を体験会の開催前までとし、Unity 班は最低限のゲームの機能の実装、ゲームの一連の流れを問題なくプレイできることをゲーム開発の目標とする。
（文責: 八城佑紀）

2.5

本グループの課題

Unity を用いて、ゲームを開発していく過程で二つの課題がある。一つ目は、前期の活動で撮影を行なった函館の海の映像を背景画像として Unity 内で使用することができなかった。そのため、新たな方法を用いて画像加工を行なう必要がある。二つ目は、前期ではシステム班が作成した魚のモデルを Unity 内にて表示させることはできなかった。そのため、開発を行なっていく中で使用できるようにする必要がある。また、前期ではゲームのシステムやデザインに関して曖昧な部分が多かったため、明確に定義した上で開発していく必要がある。
（文責: 宮下翔伍）

2.6

グループ内での活動• ゲームデザインの考案
前期の活動で、プロジェクトメンバー間でデザインについての議論を行なっていたが、具体的なデザインは作成していなかった。そこで、ゲームの対象者、ゲームの目的を考えながら最適なデザインの考案を行なった。

• 360°画像の加工
前期の活動で、函館の海にて撮影してきた映像を元に、Python や Photoshop を用いて加工を試みたが、完成まで至らなかったため、新たな加工方法を用いて解決を試みた。

• ゲーム開発
小・中学生を対象として、VR ゴーグルを使用したゲーム、PC と Xbox コントローラーを使用したゲーム、ゲーム内に登場する魚の情報・生態を閲覧できる魚図鑑の 3 種類の開発を行なうことを決定した。システムは考案したデザインを元に、各メンバーがシーンやタスク毎に担当して開発を行なった。また、開発の過程で起こった問題はグループメンバー全員で共有を行ない、解決に努めた。

Group Report of 2020 SISP

-7-Group Number 13-A

Underwater World ver.2• 体験会の実施開発したゲームのフィードバックを得るため、はこだて海の教室実行委員会に協力を得て、函館朝市にて小・中学生を対象とした体験会を実施した。函館朝市での体験会後、ゲームの改善を行ない、はこだてみらい館の協力を得て、はこだてみらい館にて小学生を対象として2 回目の体験会を実施した。

（文責: 宮下翔伍）

Group Report of 2020 SISP

-8-Group Number 13-A

Underwater World ver.2

第 3 章 課題解決プロセスの概要
3.1

目的達成のための議論

本プロジェクトは海に行かない親子に海への興味・関心を持ってもらうことを目的としている。
その目的達成のための案を各メンバーが考え、プロジェクト学習の時間に議論を行なった。始めはブレインストーミングを使用して、できるだけ多くの案を出すことに専念した。水族館のゲームや、海の生き物のドキュメンタリーなど様々な案が出たが、そのなかで「海を体験できる VR ゲーム」を技術的に可能であり、目的達成にも有効であると判断し、概案として採用した。しかし、VR
ゴーグルの対象年齢が 13 歳以上であるため、VR ゲームを開発するだけでは子供に海を体験させることができないことが判明した。そのため、VR ゲームの他に、デスクトップ画面とキーボードで操作する PC 版を作成することにした。具体的なゲームの内容を決定するために、引き続き議論を行ない、子供が対象であり、楽しめる内容のほうが良いと考えられたため、「魚の成長シミュレー
ションゲーム」を採用した。また、これらのゲームは親子に実際の海に興味・関心を持ってもらうことを目的としているため、リアリティを高める方向性で作成することにした。そのため、ゲーム
内では実際の函館の海の画像をシーンの背景として使用することにした。それにより現地撮影が必要になったため、撮影可能な浜辺や漁港を検討した。また、函館の海に生息する魚を再現するため、ゲーム内に登場する魚のモデルは自分たちで作成することにした。
本プロジェクトの目的が達成されているかどうか討論するため、外部で子供を対象にした体験会を開催することにした。その詳細について議論を行ない、様々な人から意見がもらえることが期待できるため、函館朝市で開催することにした。体験会を開催するに当たって、ゲームを動作できるデバイスが一つしか無いため、待ち時間が長くなってしまうことが考えられた。その対策として、
プロジェクト費用からゲームを動作可能なラップトップを 1 台購入することにした。また、ゲームをプレイして海や魚に興味を持ってくれた方を対象に、魚の詳細な生態や料理などの情報を閲覧することができる魚図鑑を作成することにした。
これらのゲームや魚図鑑の作成に必要であるゲームエンジンは、比較的初心者にも扱いやすく、
ネット上に参考にできるサイトが多くあると考えられたため、Unity を採用した。
（文責: 海藤大地）

3.2

撮影方針

ゲーム内で使用する画像は透明度が高く、海中をはっきりと視認できる必要があった。またゲーム内で複数のシーンを用意する必要があるため、数種類の海中の画像を用意する必要があった。そのためネット上の画像や昨年度の映像を参考にし、撮影場所の検討を行なった。最終的に撮影ルートも考慮して、住吉漁港、黒岩岬、啄木小公園、湯の川漁港、函館漁港の 5 箇所に決定した。撮影に向かうメンバーはプロジェクト時間中に決定し、宮下、海藤、川内、工藤、関口で撮影を行なった。
（文責: 海藤大地）

Group Report of 2020 SISP

-9-Group Number 13-A

Underwater World ver.2

3.2.1

撮影機材

VR ゲームの背景として用いる画像を撮影するには、360°の全方面を撮影可能な特殊なカメラが必要だった。そのため、担当教員に撮影機材として PIXPRO SP360 4K(以下 SP360)、PIXPRO

4KVR360(以下 VR360) という二つのカメラを提供して頂いた。カメラにはそれぞれ防水ケースが用意されており、それを用いて海中を撮影することができる。SP360 は片面 360°撮影可能なレンズがある天球カメラであり、VR360 は両面に 360°撮影可能なレンズがある全天球カメラである。また、これらのカメラには複数の撮影モードが用意されており、今回の撮影では「ドームモー
ド」と「VR モード」の二つを使用した。
「ドームモード」では片面のレンズで周囲 360°の撮影を行なう。
「VR モード」は VR360 のみで使用することができ、両面のレンズで周囲 360°の撮影を行なう。二つのカメラを図 3.1、図 3.2 に示す。
（文責: 海藤大地）

図 3.1 PIXPRO SP360 4K

3.2.2

図 3.2 PIXPRO 4KVR360

撮影方法と補助機材

海底付近を撮影するためには、カメラを深く沈める必要があったため、撮影方法の考案と補助機材の作成が必要になった。一つ目の案として、木の棒に釣り糸を固定し、その釣り糸の先に昨年から用いているアタッチメント (図 3.3) をくくりつけ、そのアタッチメントにカメラを固定する方法を考えた。この方法を用いるのに必要な補助機材 (図 3.4) は、プロジェクト時間外に宮下と海藤で作成した。初回の撮影後に、一つ目の案では波や風によりカメラが非常に不安定になってしまい、
撮影が困難であることが判明したため、二つ目の案として長い棒 (図 3.5) の先に直接カメラを固定する方法を考えた。この方法では高い安定性が期待できるかわりに、映像内に棒が写り込んでしまうことが懸念されたが、撮影後に編集することで対処することにした。
（文責: 海藤大地）

3.3

映像編集

SP360 と VR360 には Eastman Kodak Company から PIXPRO360VR suite という専用ソフトが提供されている。このソフトは二つのレンズで撮影した映像を結合して、VR 映像として出力できる。また、二つの映像の結合部分の調整、VR 映像の輝度及び彩度の調整、VR 映像の 1 フGroup Report of 2020 SISP

- 10 -

Group Number 13-A

Underwater World ver.2

図 3.3 補助アタッチメント

図 3.4 木材と釣り糸で作成した補助機材

図 3.5 BiRod

レームを 360°画像として出力する機能が備わっている。撮影した映像をそのままゲーム内の背景として使用するのは難しいため、このソフトを用いて映像を調整した後、出力した 360°画像を背景として使用することにした。
（文責: 海藤大地）

3.4

画像加工

出力した画像を VR 空間内の背景画像として使用するには、二つの問題を解決する必要があった。一つ目は、二つのカメラの輝度差によって二つのレンズの境目が視認できてしまっているた
め、Python の OpenCV を用いて画像の特定箇所の輝度調整を行ない、境目を視認できないように修正を試みた。二つ目は、映像の中には撮影者の足や映像のブレ、水中の汚れなど、背景に不必要な要素が写ってしまっているため、Photoshop を用いて不必要箇所の削除を試みた。
（文責: 宮下翔伍）

3.5

アプリ開発方針

3.5.1

使用したツール

ゲーム開発を行なう際に、タスクを効率良く分担するために git、Trello、Slack を使用した。gitとはバージョン管理システムのことで、これを用いることで Unity プロジェクトへの変更履歴を記録し、バージョン管理を行なうことができる。しかし、git はコマンドラインツールのため、使用するためには git コマンドを覚える必要があり、メンバーの大きな負担になると考えた。また、複数人のメンバーで開発を行なうため、オンラインで git を活用する必要があった。そこで、GitHub

Group Report of 2020 SISP

- 11 -

Group Number 13-A

Underwater World ver.2と SourceTree を使用することにした。Unity プロジェクトのリモートリポジトリを GitHub に作成し、各メンバーの開発 PC にローカルリポジトリを作成することで、Unity プロジェクトの共同開発ができるようになった。また、git の GUI クライアントソフトである SourceTree を使用する
ことで、git を GUI 上で直感的に使用できるようになった。Trello とはタスクの管理を助けるツー
ルで、タスク一つ一つを Card と呼ばれる付箋のようなものとして登録し、Bord と呼ばれる掲示
板のような場所にリスト化することで、プロジェクトを俯瞰的に管理することができる。Slack とは複合的な機能を持ったチャットツールで、効率的にオンラインで情報共有を行なうことができる。Slack の代わりに LINE を使用することも考えられたが、Slack の機能が充実していたため使用しなかった。Slack は Trello と連携させることが可能で、Trello の操作が Slack に通知されるようになるため、タスク管理をより効率的に行なうことができた。
（文責: 埜田匡）

3.5.2

ゲームデザインの考案

ゲームシーンのデザインは Adobe から提供されているデザインソフト、Adobe XD を用いて作成を行なった。デザインはゲームのシーン毎に作成し、ゲームタイトル、名前入力、3 種類のゲー
ムシーン、オプション、VR 装着、ゲームオーバー、ゲームクリアの全 9 種類であった。これらのデザインを図 3.6、図 3.7 に示す。タイトルではゲーム名が印象に残るように、大きく表示するようにした。また、どのボタンを押せばどのシーンに移行するか表示することで、初めての人でも問題なくプレイできるようにした。タイトルや名前入力のシーンでは、海を連想させるためのゲームであるため、全体として青色を中心とした配色を行なった。3 種類のゲームシーンでは、HP ゲー
ジや制限時間などの UI の表示を行なう必要があった。また、ゲームシーン毎に背景の色が変わる
ため、文字などが見づらくならないように考慮した配色や UI の配置を行なった。オプションでは
簡単にゲームの設定ができるように、シンプルな UI にデザインした。VR 装着のシーンは、ゲームを開始するために VR ゴーグルの装着を促すためのシーンで、誤って装着を忘れてしまうとゲームをプレイできないため、念のため作成した。ゲームオーバーのシーンでは、ゲームが終了してしまったことを印象づけるため、「GAME OVER」を大きな赤文字で表示するようにした。ゲーム
クリアのシーンではゲームオーバーとは対照的に、明るめの文字で「GAME CLEAR」の文字と自分のスコアを表示することで、達成感を得られるようにした。ゲームオーバー、ゲームクリアでは他のシーンへと移行するためのボタンを表示するようにした。これらのデザインを作成する際に使用した魚やボタンの画像は、ネット上のフリー素材を用いた。
（文責: 海藤大地）

3.5.3

実装する機能魚を操作して海を疑似体験させるゲームを作ることが議論で決定した。それに加え、どのような機能を実装するか議論を行なった。その結果以下のような結論を得た。

• プレイヤー・プレイヤーの魚の操作・メニュー画面の作成・視点移動機能の作成

Group Report of 2020 SISP

- 12 -

Group Number 13-A

Underwater World ver.2

図 3.6 デザインの画像 1

図 3.7 デザインの画像 2Group Report of 2020 SISP

- 13 -

Group Number 13-A

Underwater World ver.2• VR ゲーム
・VR 用の背景の作成
・VR 機能の導入• アルゴリズム
・敵を生成されすぎると多大な負荷が発生するため一定距離離れた敵オブジェクトを削除する機能
・敵オブジェクトの生成アルゴリズムの作成
・敵オブジェクトの移動アルゴリズムの作成• 機能・レティクルを合わせると魚の情報を表示する機能
・特定のイベントで SE を発生させる機能
・一定時間でイベントを起こす機能・ランキング機能の実装（文責: 埜田匡）

3.6

中間発表会の準備

中間発表会のために、発表用スライド 25 枚、メインポスター 1 枚、発表原稿を作成した。スラ
イド作成は宮下、埜田、八城が担当した。また、ポスター作成は宮下と川内が担当した。前期では、システム班と撮影班に分かれて活動を行なっていたため、発表原稿は班毎に作成した。また、

VR360 で撮影した実際の海の映像を見せる予定だったため、宮下が発表用に動画編集を行なった。
発表用スライド、メインポスター、発表原稿は発表会の前に、担当教員にチェックして頂いた。
各担当者は担当教員に指摘された箇所の修正を行なった。
発表はスライドをメインに発表を行なう予定だったため、スライドのデザインは聴衆に見やすい
ようにシンプルなデザインで作成した。また、ポスターはプロジェクト名を意識した配色にこだわ
り、海や水を連想しやすい青色系の色を多く使用した。
（文責: 井沼大陸）

3.7

体験会開催の検討

ゲームを開発した後、フィードバックを得るために、親子を対象とした体験会を開催することにした。まず日本財団-海と日本 project-はこだて海の教室実行委員会に、開催場所の候補を提案して頂いた。私立函館三育小学校、私立函館三育小学校の学童保育、五稜郭にある三育小学校系列の教会、教育大学付属函館小学校、学童保育ひのてん、函館朝市の 6 箇所である。また、はこだて未来大学高博昭助教から、キラリス函館での開催を提案して頂いた。検討の結果、小学校や、学童保育、教会では活動が平日に限られてしまうため候補から除外した。キラリス函館と函館朝市の二つで検討し、朝市ではミニ水族館が実施されており、水族館を目当てに多くの人が訪れているのではGroup Report of 2020 SISP

- 14 -

Group Number 13-A

Underwater World ver.2
ないかと考え、朝市にて体験会を開催することにした。
（文責: 埜田匡）

3.7.1

函館朝一での体験会の検討

はこだて海の教室実行委員会の協力の元、11 月 23 日 (土) の 12 時から 14 時にかけて、函館朝市にて体験会を開催することが決定した。体験会を開催するに当たって、はこだて海の教室実行委
員会から展示場所の写真を提供して頂き、机の配置や PC の設置場所などを検討した。展示物として、VR ゲームを動作させるのに必要なデスクトップ PC、Oculus Rift、モニター、マウス、キー
ボードと、VR 無しの PC 版を動作させるのに必要なノート PC と、魚図鑑用のノート PC を持っていくことに決定した。また、朝市の床は濡れている考えられるため、大学から耐水性の延長ケーブルを提供して頂いた (図 3.8)。体験会のメンバーは、宮下、関口、海藤、八城、埜田、川内の 6名に決定した。
（文責: 埜田匡）

図 3.8

3.7.2

延長ケーブル

はこだてみらい館での体験会の検討

函館朝市での体験会で、多くのフィードバックを頂いた。また、ゲームに多くの不具合があることが判明した。修正を終えた後、再度フィードバックを得るために、12 月 21 日 (土) に、はこだてみらい館でゲームの体験会を開催することにした。函館朝市での体験会は 6 名で行なったが人数が過剰であることが判明したため、はこだてみらい館での体験会は 3 名だけで行なうことにした。メンバーは宮下、関口、埜田の 3 名に決定した。
（文責: 埜田匡）

Group Report of 2020 SISP

- 15 -

Group Number 13-A

Underwater World ver.2

3.8

最終発表会の準備

最終発表会のために、発表用スライド 18 枚、メインポスター 1 枚、サブポスター 1 枚、発表原稿を作成した。スライドと発表原稿の作成は宮下、海藤、八城とモデリング班の関口が担当し、ポスター作成は井沼とモデリング班の葛西、工藤が担当した。川内、埜田は 3.7.1 節に記述した体験会で判明したゲームの不具合を修正し、最終発表会で VR ゲームを実演できるように、VR ゲームの調整を担当した。中間発表会と同様に、スライド、発表原稿、メインポスター、サブポスターは発表会の前に担当教員にチェックして頂き、各担当者は指摘された箇所の修正を行なった。
サブポスターは中間発表時には作成しなかったが、最終発表会では、成果物を見せるために作成することにした。サブポスターは、プレゼンテーションを聞き逃した方や、聞いていても理解できなかった方向けに、開発したゲームがどういった感じのものなのかを、イメージしやすいように画像を多く用いて作成した。
（文責: 井沼大陸）Group Report of 2020 SISP

- 16 -

Group Number 13-A

Underwater World ver.2

第 4 章 課題解決プロセスの詳細
4.1

撮影成果の詳細

4.1.1

住吉漁港

5 月 29 日 (水) に撮影を行なった。天候は曇りであり、風が少し強く、釣り糸の先に取り付けたカメラを安定させるのが困難であった。時間も限られていたため、今回の撮影ではカメラの固定に尽力するのではなく、浅い場所や海藻が多い場所など、多様な場所で撮影することで、どのような映像が撮れるのか確認することに専念した。撮影後に映像を確認してみると、撮影設定に誤りがあったことが判明した。ゲーム内で使用できる映像を撮影するためには、両面のレンズで 360°撮影する「VR モード」で撮影を行わなければならないが、今回の撮影では片面 360°を撮影する「ドームモード」で撮影を行なってしまったため、画面半分が消えてしまっていた。そのため、ゲーム内で使用するには困難だと判断した。また、釣り糸を用いる撮影方法は非常に不安定なことが判明したため、3.2.2 節で述べたように長い棒の先に直接カメラを取り付ける方法で今後の撮影を行なうことにした。
（文責: 海藤大地）

図 4.1 住吉漁港での撮影映像

4.1.2

黒岩岬

6 月 14 日 (金) に撮影を行なった。天候は晴れであり、風はほとんど無く、撮影に非常に適していた。撮影の前半では、カメラに釣り糸を取り付けた後、釣り糸を木の棒ではなく手に巻きつけて撮影を行なってみた。そうすることでカメラを安定させやすくなるのではないかと考えられたが、効果はあまり無かった。水深が浅い場所ではカメラを手で海底に置いて撮影を行なった。撮影の後半では、棒に直接カメラを取り付ける方法で撮影を行なったため、風や波の影響を受けず、安定した撮影が可能となった。それにより後半に撮影した映像はブレが少なく、ゲームの背景として十分に使用できるものとなった。また、浅い場所で撮影を行なったため明るい雰囲気の映像になり、他の漁港の映像とは雰囲気が異なるため、ゲーム内の背景にバリエーションをもたせるのに有効であると判断し、ゲーム内の背景として本撮影の映像を採用した。

Group Report of 2020 SISP

- 17 -

Group Number 13-A

Underwater World ver.2（文責: 海藤大地）

4.1.3

啄木小公園

黒岩岬で撮影後、そのまま本場所に移動して撮影を行なった。しかし、風が強くなっており波が非常に高く、撮影が困難であったため、浅瀬で撮影した後すぐに撤収した。また、撮影した映像を確認すると画面全体が砂で覆われていた。また、住吉漁港と同様に撮影設定に誤りがあったため、ゲーム内で使用するには困難だと判断した。
（文責: 海藤大地）

図 4.2

黒岩岬での撮影映像

図 4.3 啄木小公園での撮影映像

4.1.4

湯の川漁港

6 月 21 日 (金) に撮影を行なった。天候は晴れであり、風はほとんど無く、撮影に非常に適していた。本場所は漁港と砂浜が隣り合わせになっており両方で撮影を行なった。撮影の前半では、漁港で撮影を行ない、撮影後すぐに映像を確認すると、透明度が高い映像が撮影できていた。また、映像内の明暗の差が小さく加工が容易であると判断し、ゲーム内の背景として採用した。撮影の後半では、隣の砂浜に移動して撮影を行なった。砂浜にゴミが多く見られたが、撮影してみると綺麗な映像が撮影できていた。しかし、黒岩岬での映像に似ていたため、ゲーム内の背景としては採用しなかった。
（文責: 海藤大地）

Group Report of 2020 SISP

- 18 -

Group Number 13-A

Underwater World ver.2

図 4.4

4.1.5

湯の川漁港での撮影映像

函館漁港

湯の川漁港で撮影後、そのまま本場所に移動して撮影を行なった。波も穏やかで、撮影に非常に適していた。棒に直接カメラを取り付ける方法で撮影を行なったが、水深が深く棒の長さでは海底まで届かなかったため、海底から数 m ほど上げた状態で撮影を行なった。撮影した映像は水深が深い影響で暗い映像となっていた。しかし、透明度が高くゲーム内での見栄えの良さが期待できること、暗い映像のため結合部分が判別しづらいことによりゲーム内の背景として採用した。
（文責: 海藤大地）

図 4.5 函館漁港での撮影映像

4.2

映像編集の成果

撮影した映像をゲーム内で使用するためには映像を編集した後、360°画像に出力する必要があった。そのため、まず PIXPRO 360 VR Suite を用いてゲーム内で使用する箇所を映像の中から選別した後、二つの映像の結合部分を調整できる機能を使用して、違和感が無くなるように調整を行なった。その後、映像を 4.6 のような 360°画像に出力した。図 4.6 を Unity に読み込んでみると、360°画像として認識され、背景として使用することができた [5]。しかし、このソフトでは二つの映像の輝度差の調整、撮影時に映り込んだ不必要な部分の修正は不可能であった。
（文責: 海藤大地）

Group Report of 2020 SISP

- 19 -

Group Number 13-A

Underwater World ver.2

図 4.6

4.3

画像加工の成果

4.3.1

輝度の調整

出力された 360°画像

はじめに、Python の OpenCV を使用してレンズ間の輝度差を調整を試みた。まず、レンズ間の輝度差の平均を求めた後、平均値を算出した上で、全体の輝度を平均値に合わせるように変更を行なった。しかし、OpenCV を熟知しているメンバーがプロジェクト内に居なかったため、成果は挙げられなかった。そこで、Photoshop を用いた方法を試みた。はじめに、「スポット修復ブラ
シツール」を用いて図 4.7 の中間にあるレンズ間の境界線を曖昧にすることで、周りの背景に馴染ませるように努めた。そのため、図 4.8 では図 4.7 の状態よりも境界線が視認しづらくなった。この状態をプロジェクトメンバーに確認してもらったところ、同様の意見が得られ、背景全体として違和感を減少させることに成功したと言える。次に、図 4.9 では、光の反射によって上部に色の差が見られため、「スポイトツール」を使用し、修正箇所の周辺の色を抽出した上で、「クイック選択ツール」と「塗りつぶしツール」を使用し、図 4.10 の状態になるように、色の修正を行なった。
（文責: 宮下翔伍）

4.3.2

不要部分の削除

ゲームの背景として画像を使用するに当たって、画像の不必要な部分を Photoshop を用いて、削除することを試みた。図 4.9 の状態から「スポット修正ブラシツール」を用いることで、撮影者の足や水中に浮いていた汚れなどの修正を行なった。また、色調補正を用いて画像全体の明るさとコントラストを変更することで、図 4.10 のように全体的な彩度と明るさを向上させることができた。
（文責: 宮下翔伍）

図 4.7 撮影時の背景画像

Group Report of 2020 SISP

図 4.8 加工後の背景画像- 20 -

Group Number 13-A

Underwater World ver.2

図 4.9

輝度調整前のレンズ間の視差

4.4

アプリ開発の成果

4.4.1

VR アプリの開発

図 4.10 輝度調整後のレンズ間の視差はじめに、タイトル画面の作成した。タイトル画面ではゲームの名前が分かりやすいように、文字の位置や大きさを調整した。タイトル画面から名前入力画面に移動するための if 文の条件式として、Input.GetKeyDown(KeyCode.Y) という関数を使用した。この関数を使用することで、キーボードの Y キーを押すと if 文の中が実行されるようにした。タイトル画面から名前入力画面に遷移するために、SceneManager.LoadScene() という関数を使用した。この関数の引数にシーンを渡すことで、関数実行時にそのシーンに遷移することができる。この関数を使用して、ゲーム内のシーンの切り替えを実装した。名前入力画面では大量のボタンを配置し、スクリプトを用いて各ボタンを 50 音とローマ字に対応させた。Player をキーボードの十字キーで操作するために、

Input.GetAxis() という関数を使用した。また、Player が上下に動きすぎると逆さまになってしまうため、上下移動に上限を設定した。
（文責: 川内理生）

敵オブジェクトの作成

EnemyManeger という敵オブジェクトを自動で生成するスクリプトを作成した。しかし、Player
は縦横無尽に動くことができるため、Player の座標の加算した位置に敵オブジェクトを生成すると、Player の向きによっては敵オブジェクトを視認することができなかったり、一方向に敵オブジェクトが集中してしまうなどの問題が発生した。この問題を解決するために、ベクトルを利用することにした。まず、Player オブジェクトに Pole という子オブジェクトを作成した。これによりPole は Player を自動で追尾する。Pole から Player のベクトルを計算し、そのベクトルの xyz 方向の数値にランダムな値を掛けることにより、Player の進行方向に敵オブジェクトを作成することに成功した。しかし、ランダムに掛けた数値と生成される敵オブジェクトによっては、Player の目の前に巨大な敵オブジェクトを生成してしまうことがあったため、敵オブジェクトを生成する前に、生成される敵オブジェクトの座標を先に取得し、Player との距離が近すぎる場合は再度計算を行なうようにした。
（文責: 川内理生）

Group Report of 2020 SISP

- 21 -

Group Number 13-A

Underwater World ver.2

図 4.11 フローチャート 1

敵オブジェクトの移動
敵オブジェクトは生成された時に、ランダムな座標を取得しその座標に向かって直進する。取得
した座標にある程度近づくと、再度ランダムな座標を取得する。敵オブジェクトは直進移動を続けようとするため、「取得した座標に到達した後に座標を再取得する」という処理にすると、座標を再取得するまで挙動が不自然になってしまうため、座標に一定の距離まで近づくと座標を再取得するようにした。次に、敵オブジェクトは目標座標の方向に向くようになっているため、生成直後は回転するような不自然な挙動になってしまうことが判明した。そのため、生成直後は敵オブジェクト
を非表示にしておき、向きの変更をしてから表示するようにした。さらに、取得した座標によっては敵オブジェクトが真下や真上を向いてしまうため、目標座標の Y 座標は生成された敵オブジェ
クトの Y 座標を設定するようにした。
（文責: 川内理生）

図 4.12 フローチャート 2Group Report of 2020 SISP

- 22 -

Group Number 13-A

Underwater World ver.2

敵オブジェクトの性質
敵オブジェクト同士が接触した時に、互いの大きさを比較して小さい方が削除され、大きい方はより大きくなるようにした。これは食物連鎖を連想させ、疑似体験のクオリティを高めるとともに魚が重なり不自然な見た目となるのを防止するために実装した。敵オブジェクトは Player の近くに生成されるようにしたが、Player から離れた場合は残り続けるため、プレイ時間が長くなると敵
オブジェクトが大量に生成され、ハードウェアに負荷がかかってしまうと考えられた。この問題を解決するために、背景画像を貼り付けてある球体オブジェクトに接触した敵オブジェクトを削除する機能を実装した。
（文責: 川内理生）

図 4.13 フローチャート 3

ゲーム中の BGM と効果音の実装

BGM と SE の実装のために、AudioSource というコンポーネントを使用した。このコンポーネントとスクリプトを用いることで、再生するタイミングを制御することができた。今回の実装では、はじめに、空のオブジェクトを作成して二つの AudioSource をアタッチした。その後、スク
リプト上で配列を作成して二つの AudioSource を代入し、その配列を参照することで、BGM とSE を任意のタイミングで再生・停止できるようにした。
（文責: 川内理生）

レティクルの実装
様々な機能を持つレティクルを実装した。はじめに、敵オブジェクトの生成の際に使用したベクトルを用いて、Player の前方に常時白い円状のレティクルが出るようにした。このレティクルの位置に合わせて、当たり判定を持つ非表示状態のオブジェクト (以下 当たり判定) を作成した。また、敵オブジェクトの子オブジェクトとして、3D テキストを非表示状態で作成し、敵オブジェクトの上部に配置した。当たり判定が敵オブジェクトに触れている間は 3D テキストが表示されるようにGroup Report of 2020 SISP

- 23 -

Group Number 13-A

Underwater World ver.2
した。これにより敵オブジェクトにレティクルを合わせると、敵オブジェクトの情報が表示される機能を実装することができた。しかし、Player の向きによっては 3D テキストが鏡文字になってしまう不具合が発生した。そこで、LookAt() という関数を使用することで、Player の向きに正しく文字が表示されるようにした。また、敵オブジェクトの情報を円滑に表示するために Enemy infoというスクリプトを作成した。このスクリプトは 3D テキストにアタッチされており、自動で親オ
ブジェクトの名前と大きさを取得する。これにより新たな敵オブジェクトをゲームに導入する度に表示する文字を手入力する必要が無くなり、メンバーの負担が軽減された。
（文責: 川内理生）

図 4.14 フローチャート 4

オプション機能の実装
ゲーム中でも設定の変更ができるようにオプション画面を作成した。ゲーム中に左手用コント
ローラーのボタンを押すと、オプション画面が表示されるようにした。オプション画面では「一人称視点と三人称視点の切り替え」、「明るさの変更」、「タイトルに戻る」、「ゲームに戻る」の四つの項目を作成した。次に、オプション画面でのカーソル操作を実装するために、OptionControllerというスクリプトを作成した。このスクリプトで changemenu という変数を作成し、十字キーの入力と選択している項目によって値を変更するようにした。この変数の値を用いてカーソルの座標を指定することで、カーソルを操作できるようにした。また、「タイトルに戻る」の項目を誤って選択してしまうことを防ぐため、タイトルに戻る前に確認を行なうようにした。さらに、この確認ではカーソルの初期位置を「タイトルに戻らない」に合わせるようにした。しかし、オプション画
面で選択キーを入力すると、選択の処理が連続で行われてしまい、確認で「タイトルに戻らない」の項目を瞬時に選択してしまう不具合が発生した。そのため、確認する際の選択キーをオプション
画面と異なるものにした。
（文責: 川内理生）

Group Report of 2020 SISP

- 24 -

Group Number 13-A

Underwater World ver.2

エフェクトや UI の管理
エフェクトや UI の管理には、SetActive() という関数を使用した。この関数は引数に boolean
型を渡すことでオブジェクトの表示、非表示を切り替えることができる。この関数を使用することでダメージを受けた時のエフェクトや、ゲーム画面左下の体力アイコンの減少を実装した [6]。
（文責: 川内理生）

その他の実装リアリティを高めるために Player の周りに泡が生成される機能を実装した。そのために、

Bubble というパーティクルを作成し、エフェクトを泡の画像に置き換え、エフェクトが上側に向かうように設定した。さらに、Player の子オブジェクトに設定して一定の範囲内にランダムに発生させる。それに加え小刻みに動くように設定することで、実際の泡の動きを再現することができた。この泡の機能に加え、背景には実際の函館の海の画像を使用した。まず球体オブジェクトを配置した後、オブジェクトのテクスチャを前期に画像班が撮影した画像に設定することでゲーム内にリアルな背景を実装することができた。しかし、テクスチャを設定する際に Unity の設定がデフォルトのままの場合、テクスチャの変更ができないようになっているため、モデルインポーターの Materials の Location の項目を Use External Materials (Legacy) にする必要があった。このテクスチャを一定時間が経過すると切り替わるようにし、様々な海を楽しめるようにした。
（文責: 川内理生）

VR での視点VR ゲームでは Oculus Rift という VR ゴーグルを用いてプレイする (図 4.15)。この VR ゴーグルを使用するために様々な機能を実装した。Unity 上の Player の頭上にあるカメラを VR ゴーグルと連動させることによって、プレイヤーが実際に海の中にいるような感覚を作り出した。次に、カメラを一人称視点と三人称視点に切り替えられるようにした。一人称視点では実際の魚の目線で海を泳げるため、さらにリアリティが向上するようになっている。三人称視点では背後からの視点になるため、周りの状況が分かりやすく、より多くの魚を発見することができる。このように、視点変更の機能を実装することで 2 種類の楽しみ方をできるようにした。この視点変更では、
あらかじめカメラを二つ配置しておき、一人称視点の時は三人称視点専用のカメラを非アクティブ
化することで視点変更を行なっている。同様に、三人称視点の時は一人称視点専用のカメラを非ア
クティブ化している。また、この視点変更はゲームプレイ中でもオプション画面から行えるようにした。
（文責: 川内理生）

VR での Player の移動方法
Player の移動方法は一人称視点版と三人称視点版の 2 種類に分けて実装した。このゲームのPlayer は操作をしなくてもゆっくり前に進むようになっている。一人称視点版では、VR ゴーグルの向いている方向に進むようにした。ゴーグルの向いている方向を、実際のプレイヤーの前に設置しているセンサーで読み取り、Player の進行方向を調整するようになっている。まず、センサー

Group Report of 2020 SISP

- 25 -

Group Number 13-A

Underwater World ver.2

図 4.15 Oculus Rift

で VR ゴーグルのベクトルを読み取った後、ﬂoat 型の変数に変換し、この変数を用いて Player のカメラの方向を調整している。三人称視点版では、左手用コントローラーのスティックで視点移動を行なうようにした。一人称視点版では向いている方向に進むため、周りは見渡せないようになっている。三人称視点版では左手用コントローラーのスティックで移動しているため、カメラは周りを見渡せるようになっている。また、コントローラーのボタンを Unity に読み込ませる際には、

OVRInput.Get() という関数を使用した。
（文責: 川内理生）

VR での Player の加速機能の実装
敵オブジェクトと Player は同じ速度で移動する。そのため、プレイヤーは敵オブジェクトの動きを予想して操作しなければ食べることができない。代わりに Player の速度を上げると自身より大きい敵オブジェクトを避けるのが難しくなってしまう。この問題を解決するために Player に加速機能を実装した。これにより敵オブジェクトに追いつくことができるようになり、ゲームの操作性が向上した。しかし、背景が移動しないため加速機能を使用しても、加速している実感が無いという意見があった。そのため、モデル班に動作が早いモーションを用意してもらい、加速機能を使用した時にそのモーションに切り替えることで加速機能を実感できるようにした。一人称視点
版での加速方法は、両手に持っているコントローラーを上下に振ることで加速できるようにした。
まず、プレイヤーの前に設置しているセンサーと、OVRInput.GetLocalControllerAcceleration()という関数を使用することで、コントローラーの加速度を取得した。しかし、取得した加速度は三次元ベクトルであり、このまま使用することはできなかった。そこで、magnitude() という関数を用いて三次元ベクトルを ﬂoat 変数に変換し、この変数を Player の移動ベクトルに代入することによって加速機能を実装することができた。また、加速が終わった後は徐々に移動速度が下降するようになっており、よりリアルな魚の動きを再現することができた。Player の移動速度には上限、下限を設定することで、異常な動きにならないようにした。しかし、加速が終わった瞬間に移動速Group Report of 2020 SISP

- 26 -

Group Number 13-A

Underwater World ver.2
度がデフォルトに戻ってしまい、不自然な魚の動きになってしまう不具合が発生した。そこで、加速度のアルゴリズムを、側面に小さな穴が空いている水槽へ水を入れた時の穴から噴出される水の動きを参考にして再構築することにした。水槽の水を速度、入れる水を加速度と考え、コントロー
ラーを振ると水槽に水が追加される。この時に空いた穴から水槽の水は勢い良く噴出される。しかし、水槽の水は徐々に抜けていくため、その勢いは落ちてゆく。この噴出の勢いの変化を Playerの加速度の変化に応用した。新たに変数を作成して、コントローラーを振っていないときは、変数の値を徐々に小さくすることでプレイヤーの移動速度が徐々に下降するようにした。これにより自然な魚の動きを実装することができた。三人称視点版では、左手用コントローラーのスティック
で移動を行なっているため、スティックを倒しながら、コントローラーを振ることは困難だと考えられた。そこで、右手用コントローラーのボタンを加速ボタンとして使用することにした。以上がVR 版に実装した機能である。
（文責: 川内理生）

図 4.16 フローチャート 5

4.4.2

PC アプリの開発

主な機能は VR 版と同じだが、PC 版のみの機能も存在する。VR 版は Oculus Rift のスティックを用いて Player の移動を行なうが、PC 版は十字キーを用いて移動を行なうようにした。しかし、朝市での体験会で十字キーでの操作は難しいというアンケート結果が得られた。説明を増やすことも考えたが、キーボードによっては十字キーが小さく設計されているため、キーが押しづらく、さらにキーボードに慣れていない人にプレイしてもらう場合、十字キーの位置を把握してないため、説明を増やしても操作が困難なままであると考えられた。そのため、Unity 班のメンバーの1 人に Xbox コントローラーを用意してもらった。Xbox は Microsoft 社の製品であるため USB
接続するだけで使用することができ、Unity 上でも問題なく使用することができた。十字キーや特定のボタンなどは別途設定が必要であったため、左スティックと ABXY ボタンだけでゲーム操作をできるようにした。さらに、Xbox コントローラーは A ボタンと B ボタン、X ボタンと Y ボタ
ンの位置が、日本の一般的なゲームコントローラーと逆であるため、日本のゲームコントローラーのボタン位置に合わせるようにボタン設定を行い、体験者が普段使用しているゲームコントロー

Group Report of 2020 SISP

- 27 -

Group Number 13-A

Underwater World ver.2
ラーと同じ感覚でゲーム操作をできるようにした。しかし、普段からゲームをしていない体験者にゲームをプレイしてもらう場合、混乱してしまうと考えられたため、ゲーム説明画面にボタンの位置が分かるような UI を作成した。
さらにネット上のサイト [4] を参考にしながら、クラウドサービスである「ニフクラ mobile-

backend」の API を使用してランキング機能を実装した。また、タイトルとゲームクリアの画面でランキングを確認できる機能を実装した。これにより自分のスコアを他人と競い合うことができるようになったため、ゲームのエンターテイメント性を向上させることができた。しかし、デフォルトの設定のままだとスコアをランキングに送信する場合、マウスを使用する必要があった。このゲームの基本操作はキーボードのためスコア送信に手間がかかり、体験者が億劫に感じてしまうと考えられた。そのため、マウスを操作しなくてもゲームクリア画面に入ると自動でスコアが送信される機能を実装した。さらに、このランキング機能はゲームをネット上に公開し、一つの端末で 1
人のプレイヤーがゲームをプレイすることを想定しているため、ハイスコアを更新しないとスコアを送信することができなかった。スコアを記録するデータベースの負荷を考えれば妥当な機能だが、今回作成したゲームは一つの端末で複数人のプレイヤーがゲームをプレイすることを想定していたため、この機能は削除した。
（文責: 埜田匡）

4.4.3

魚図鑑の開発ゲーム内に登場する魚の詳細について閲覧できる魚図鑑を Unity を用いて作成した。はじめに、
図 4.17 のように一覧画面が表示される。一覧の項目から選択すると図 4.18 のモデル画面に移行する。この時に表示されるモデルはゲーム内に使用されているものと同一のもので、アニメーションも実装されているため、生きているように動いている魚を隅々まで観察できるようになっている。
図 4.18 の右下のボタンを選択すると図 4.19 の画面に移行し、その魚の簡単な生態について知ることができる。図 4.19 の右下のボタンを押すことで、図 4.20 の詳細な生態についての画面に移行する。この画面は子供により深い知識に触れてもらうために作成した。魚図鑑のすべての UI は、

DOTween と呼ばれる無料のアニメーションアセット [8] を用いて管理した。背景も無料のアセットを用いて作成した。また、魚の画像と生態や料理に関する情報は、はこだて海の教室実行委員会に提供して頂いた [7]。
（文責: 海藤大地）

4.5

VR 映像の収録

3.7.1 節にて、函館朝市にて体験会を開催することを決定した。しかし、小学生は VR 版でゲームをプレイすることができないため、小学生にも VR 体験をしてもらうにはゲームプレイの代わりとなる方法を考案する必要があった。そこで、対策案として考えられたのが、「ハコスコ」を使用した VR 映像体験である。「ハコスコ」とは、段ボールから組み立てる簡易的な VR ゴーグルであり、対象年齢は 7 歳以上のため小学生から使用することが可能であった。そのため、まず Unity 内の映像を取得するため、Unity Recoder を用いて、ゲームシーンの録画を行なった。また、Unity
内の映像を 360°動画として再生するためには、 Youtube 上にアップロードした上で再生する必要があった。そのため、Spatial Media Metadata Injector を使用し、Youtube 上にアップロードすGroup Report of 2020 SISP

- 28 -

Group Number 13-A

Underwater World ver.2

図 4.17 一覧画面

図 4.18 モデル画面

図 4.19 生態画面

図 4.20 詳細画面るためのファイル形式に変換した後、アップロードを行なった。その後、ハコスコを用いてアップロードした映像の確認を行なった。
（文責: 宮下翔伍）

図 4.21 ハコスコ

4.6

アプリの紹介本プロジェクトで開発したアプリは、4.4.1 節と 4.4.2 節に記述されている VR 版、PC 版のゲー
ム二つと、4.4.3 節の魚図鑑である。開発したゲームタイトルは「魚〜うお〜」である。開発したゲーム「魚〜うお〜」の特徴は、ゲーム体験者に海を連想してもらえるように、実際の海や海に生息している魚を忠実に再現している点と、体験者に楽しんでもらえるための要素として、自身が魚となり、海の中を自由に泳ぎ回って、成長できるゲーム性を持っている点である。また、VR 版のゲームと PC 版のゲームは、操作方法が異なるだけで、ゲームの特徴や内容、ルールは基本的に同Group Report of 2020 SISP

- 29 -

Group Number 13-A

Underwater World ver.2
じである。「魚〜うお〜」のゲーム内容は、制限時間 3 分の間にどれだけ多くの魚を食べて成長できるかを競うという内容になっている。小・中学生向けの子供用ゲームであるため、シンプルな内容となっている。
（文責: 井沼大陸）

4.6.1

魚〜うお〜

開発したゲーム「魚〜うお〜」のゲーム内容を理解しやすいように、一連の流れを図 4.22 に示した。一般に販売されている TV ゲームと同じように、「魚〜うお〜」にもタイトル画面を作成した。
図 4.23 に示されているのがゲーム「魚〜うお〜」のタイトル画面である。タイトルの背景の配色
は、海や水を意識した青色系の色を用いた。タイトル画面では、ランキングか、ゲームスタートかのどちらかを選択することができる。ランキングを選択すると、図 4.24 に示されているように、今までプレイしてきた人達のスコアデータが順位順で表示され、プレイヤーは自由に見ることができる。一方、ゲームスタートを選択すると、図 4.25 に示されているプレイヤーの名前入力画面に移行する。図 4.25 に示されているように、名前入力はボタン選択での入力であり、日本語とローマ字に対応している。始めはキーボード入力で名前入力する方法が考案されていたが、小学生がキー
ボードで文字をスムーズに打つことができない可能性があったため、ボタン選択での名前入力にした。また、外国の方でも体験できるようにローマ字に対応させた。プレイヤーの名前を決定すると、次にゲームのルールと操作方法についての説明画面が表示される。ゲームの主なルールは、自分より小さいサイズの魚しか食べることできないこと、自分より大きい魚にぶつかるとダメージを受けること、5 回ダメージを受けるとゲームオーバーになること、3 分間生き残ることができればゲームクリアとなることである。また、ゲームの基本的な操作は、操作する魚が自動で前に進むため、視点移動と加速だけである。魚の直進移動をプレイヤーが操作する方法が考案されていたが、操作性が悪くなることや、前進方向以外の移動が必要ないことなどから却下された。PC 版ゲーム
ではキーボードの矢印キーで視点移動し、S キーで加速の操作をする。VR 版では VR ゴーグルで視点移動し、Oculus コントローラーを上下に振って加速の操作をする。プレイヤーがルールと操作方法についての確認を終えると、PC 版は「ゲームスタート」を選択することでゲームが開始される。VR 版では VR ゴーグル装着画面が表示されるため、ここでプレイヤーに VR ゴーグルを装着してもらう。装着後に、「ゲームスタート」を選択することでゲームが開始される。ゲームプレ
イ画面には、自身の魚のサイズ、体力、制限時間、背景の場所名が表示されてるようにした。自身の魚のサイズは、ゲームクリア後にスコアとなる。また、背景は 3.1 節に記述されている通り、実際の函館の海の画像をゲーム内で使用している。ゲーム内の背景に使用した場所は、函館漁港、湯の川漁港、黒岩岬の 3 箇所である。3 箇所の背景は、1 分おきに自動で切り替わるようになっている。ゲームプレイ画面を図 4.26 に示した。図 4.26 の中央に示されている白い円は、レティクルである。そのレティクルを他の魚に合わせると、その魚の名前とサイズが表示されるようになっている。始めから他の魚の頭上にサイズを表示させておくことも考えられたが、見栄えが悪くなることが懸念されたため却下された。また、レティクルを他の泳いでいる魚に合わせた時に、その魚のサイズと名前が表示されることで、プレイヤーが魚の名前を覚えやすいのではないかと考えられたため、レティクルを実装した。プレイヤーはその表示されたサイズとゲームプレイ画面の左上に表示されている自身の魚のサイズを比較して、自身より小さかった場合は近付いて食べるなどの判断を行なう。制限時間まで生き残ってゲームクリアした際は図 4.27 に示した画面に移行し、図 4.27 に表示されているように、自身のスコアが表示され、ランキングに保存するかどうか選択することがGroup Report of 2020 SISP

- 30 -

Group Number 13-A

Underwater World ver.2
できる。しかし、制限時間内にプレイヤーが 5 回ダメージを受けると図 4.28 に示したゲームオーバー画面に移行し、ゲームが終了する。図 4.28 にリトライの文字が表示されているように、ゲームオーバーになってもリトライすることができ、プレイヤーはゲーム終了になったシーンから再度ゲームを開始することができる。このリトライ機能があることでゲームクリアが容易になるため、ゲームが苦手な小・中学性でもゲームクリアすることができ、海を楽しみながら体験できると考えられる。さらに、ゲームにはいくつかのオプション機能が実装されている。一人称と三人称の視点を切り替える機能や、ゲーム内の明るさを朝か夜に切り替える機能、タイトル画面に戻る機能がある。これらのオプション機能はゲームプレイ中でも一時停止することで使用できる。これらの機能があることで、このゲームへの興味・関心が増し、同時に海への興味・関心を促進することができる可能性があると考えられる。
（文責: 井沼大陸）

図 4.22 魚〜うお〜のフローチャート

4.6.2

魚図鑑

魚図鑑はゲームに登場した 20 種類の魚のモデルと、その魚の情報を PC 画面で閲覧できるアプリである。開発は海藤が 1 人で担当した。魚図鑑を作成した理由は、より魚に興味を持ってもらう
ことの他に、3.7.1 節で記述されている体験会の時に VR 版と PC 版のゲームだけでは同時にプレイできる人数が限られるため、小・中学生が待ち時間に退屈する可能性が考えられた。そのため、小・中学生が待ち時間に退屈しないような工夫として開発したのが魚図鑑である。魚図鑑は PC 画
面でしか観ることができないが、元々は VR 画面でも観ることができるように開発を行なっていたが、開発時間の都合上、VR 画面で観ることができるまでには至らなかった。
（文責: 井沼大陸）Group Report of 2020 SISP

- 31 -

Group Number 13-A

Underwater World ver.2

4.7

図 4.23 タイトル画面

図 4.24 ランキング画面

図 4.25 名前入力画面

図 4.26 魚〜うお〜のゲームシーン

図 4.27 リザルト画面

図 4.28 ゲームオーバー画面

中間発表• 発表形式
中間発表会の時点でゲームのプロトタイプ開発と、VR ゲーム内で使用する 3 種類の魚のモ
デルを Blender で作成した。しかし、作成した 3 種類の魚のモデルを上手く Unity に導入することができず、中間発表会では成果物を見せることができなかった。そのため、1.1 節の背景や 1.2 節の問題の詳細と 1.3 節の目的についての説明を中心に、スライドをメインに発表を行なった。

• 発表技術と発表内容
プロジェクトの発表評価は、10 点満点で発表技術が平均 7.69 点、発表内容が 7.38 点と好評だった。評価シートの回答には、「スライドの内容がまとまっていて見やすかった」、「VRゲームが面白そうだった」というポジティブな意見が多かった。しかし、一方で「声が小さく聞き取りづらかった」、「プロジェクトの目的が曖昧である」などのネガティブな意見もあった。

Group Report of 2020 SISP

- 32 -

Group Number 13-A

Underwater World ver.2• 反省
外部評価を受けて、発表技術については声の大きさに問題があった。そのため、次回の最終発表会では声の大きさをより意識して話す必要があると考えられる。発表内容についてはプ
ロジェクトの内容をしっかり理解できている人が少なかった。そのため、後期の活動ではプ
ロジェクトの目的や解決策、ゲーム内容やスケジュール等をより明確にする必要があると考えられる。
（文責: 井沼大陸）

4.8

体験会実施の成果

4.8.1

函館朝市での体験会

11 月 23 日 (土) に、函館朝市で体験会を開催した (図 4.29)。また、フィードバックを得るために、親と子供用に 2 種類のアンケートを作成した。子供向けのアンケートの質問内容は「このゲー
ムで海を体験できましたか」、「このゲームで海に興味を持ちましたか」、「このゲームは面白かったですか」というものである。親向けのアンケートの質問内容は「このゲームは子供の学習や教育にどんな影響を与えると思うか」、「ゲームを通して実際の海を体感することはできたか」というものである。アンケートは、18 名の方 (親 11 名、子供 7 名) に回答して頂いた。結果を見てみると、「海や魚がリアルだった」、「ゲームをプレイすることで海を体験できた」、「海の生態系に興味を持った」など、ゲームに良い印象を持ってもらえたことが判明した。しかし、今回の体験会では子供にキーボード操作でゲームをプレイしてもらったため、操作性の悪さを指摘する回答も見られた。これらのアンケート結果から、本プロジェクトの目的である「海への興味・関心の促進」をある程度達成できたと感じられた。また、海を擬似体験できるゲームを開発できたかどうかについても同様に、「海を体験することができた」という回答から、本グループが目的としていたゲームとして完成しつつあると感じられた。しかし、アンケートの回答には無かったが、プレイ中に多くの不具合が確認された。例として、一部の魚の名前が表示されなかったり、プレイヤーより小さい魚を食べようとしたらダメージを受けてしまうなどの不具合が確認された。朝市での体験会の後、12月 21 日 (土) に、はこだてみらい館で体験会を開催することが決定したため、それまでに朝市で確認された不具合と、アンケートの回答にあった操作性の悪さを修正することにした。操作性の悪さについては、小・中学生が PC のキーボード操作に不慣れなことが原因であると考えられたため、Xbox コントローラーを使用することにした。体験会では、北海道新聞、函館新聞、FM ラジオから取材を受けた。
（文責: 埜田匡）

4.8.2

はこだてみらい館での体験会の成果

朝市での体験会を評価され、12 月 21 日 (土) の 13 時から 16 時に、はこだてみらい館で体験会を開催した。はこだてみらい館では月に一度、小学生高学年を対象とする Unity のワークショップを行なっている。そのワークショップの成果発表の場に参加させてもらい、ワークショップ参加者に「魚〜うお〜」をプレイしてもらった。また、買い物が目的の客層がほとんどであった朝市での体験会とは違い、遊技が目的の施設で開催したため多くの子供に体験してもらうことができた。さGroup Report of 2020 SISP

- 33 -

Group Number 13-A

Underwater World ver.2

図 4.29 朝市での体験会

らに、朝市よりも開催時間が長かったため、1 人の子供に複数回ゲームを体験してもらうことができた。その結果、ゲームに慣れてもらうことができ、操作性の良し悪しなどといったゲームの完成度とは別に、純粋にこのゲームが海の魅力を伝えることに有効であるかどうかを考えてもらうことができた。また、体験者と会話する時間を確保することができたため、アンケートには書かれていない感想や評価も聞くことができた。
今回の体験会では 16 名の方にアンケートに回答して頂いた。その結果、「場所による魚の種類の違いを体験できる」、「魚に興味を持てて名前を覚えられる」、「VR の楽しさを実感できる」などといった回答が得られた。また、PC 版に Xbox コントローラーを導入してみた結果、朝市での体験会で指摘された操作性の悪さを、今回のアンケートでは指摘されなかったため、一つの課題を解決することができたと考えられる。しかし、体験者と会話をしてみた結果、直感的にゲームを操作することはできたが、ゲームシステムを理解するのに少し時間が必要で、何度か試行錯誤する必要があるという意見を頂いた。このことから、ゲームシステムを理解しやすいように UI を作成した
り、ゲームシステムをよりシンプルなものに変更することが今後の課題の一つだと考えられる。
今回の体験会では広いスペースを貸して頂き、時間的にも余裕があったため体験者と深いコミュ
ニケーションを取ることができた。
（文責: 埜田匡）

4.9

最終発表

• 発表形式
最終発表では、スライドによる発表をメインに行なった。サブポスターはメインポスターの近くに展示した。4.7 節で記述している中間発表会とは違い、最終発表会では成果物として、開発した VR ゲームとゲーム内で登場する魚の詳細を閲覧できる魚図鑑を用意することができた。15 分間の発表時間のうち、前半の発表担当者は 3 分間で本プロジェクトの背景、目Group Report of 2020 SISP

- 34 -

Group Number 13-A

Underwater World ver.2

図 4.30 はこだてみらい館での体験会 1

図 4.31 はこだてみらい館での体験会 2

的、活動内容について説明した。後半の発表担当者は 7 分間で VR ゲームを実演しながら、ゲーム内容を説明した。さらに、魚図鑑、活動結果や今後の活動についても説明した。残りの 5 分間は、質疑応答や、評価シートへの記入、VR ゲームを体験したい方のための時間に当てた。

• 発表技術評価シートから、発表技術、発表内容の点数の平均点、また記入して頂いた意見をまとめた。発表技術の最高点は 10 点、最低点は 4 点、平均点は 7.92 点であった。ポジティブな意
見として、「スライドがシンプルで見やすい」、「デモプレイしながらのゲーム説明は良かった」があった。しかし、声が小さくて聞き取りづらいというネガティブな意見もあった。

• 発表内容発表内容の最高点は 10 点、最低点は 6 点、平均点は 8.24 点であった。ポジティブな意見として、「ゲームの完成度が高いと思った」、「ゲーム内の海や魚がリアルだった」、「体験会の実施は良い案であると思った」があった。しかし、「ポスターが遠くにあってもったいない」、「ゲーム内のプレイヤーが操作する魚が止まって見える」などというネガティブな意見
もあった。

• 反省
4.7 節に記述の中間発表の評価の平均点よりも、発表技術は 0.3 点、発表内容は 1 点ほど点数が向上していた。このことより、本プロジェクトは中間発表会で頂いたポジティブな意見と、ネガティブな意見の両方を活かすことに成功していると考えられる。また、最終発表会
で頂いた意見を今後の活動に活かすことで、さらなる成長に繋がると考えられる。
声が小さくて聞き取りづらいというネガティブな意見については、中間発表時の評価シー
トにも書いてあった。しかし、最終発表会でも改善することができなかった。声の大きさは人それぞれであるため、各自が意識して大きい声を出すしかないと考えられる。また、ポス
ターが少し離れた位置に置いてあったという意見については、ポスターを展示する場所が大講義室のドア付近であったため、出入りの妨げにならないように少し離れた場所にポスターを配置する必要があったため、仕方が無かったと考えられる。さらに、ゲーム内のプレイ
ヤーが操作する魚が止まって見えるという意見については、修正するかどうか検討する必要があり、仮に修正することが決定した場合、どのようにこの問題を解決するのか、Unity 班

Group Report of 2020 SISP

- 35 -

Group Number 13-A

Underwater World ver.2
で再度議論を行なう必要がある。
（文責: 井沼大陸）Group Report of 2020 SISP

- 36 -

Group Number 13-A

Underwater World ver.2

第 5 章 まとめ
5.1

グループとしての成果

後期では、親子を対象として海に興味・関心を与えるという目的を元に、海に行けない親子を対象に海に行かずとも海を擬似体験するゲーム「魚〜うお〜」の企画を行ない、VR と PC の 2 種類の実機での開発と、ゲーム内に登場する魚の情報を閲覧できる魚図鑑の開発を並行して行なった。
ゲームのデザインは Adobe XD を用いて、時間をかけてデザインを作成したため、開発に入った
際に、デザイン面での問題が減少し、ゲームシーンの作成が滞りなく行なうことができた。また、前期では背景画像の作成に関して完成させることができなかったが、後期では Photoshop の学習
理解度が深まったことにより、様々なツールを用いてレンズ間の輝度差の問題を解決することができ、結果としてゲーム内に三つの背景を使用することができた。また、ゲームシステムの開発ではTrello や GitHub を頻繁に使用し、コミュニケーションとタスク管理を重視して連携を取ることにより、体験会までに完成に至り、展示を行なうことができた。体験会は函館朝市、はこだてみらい館の二箇所で実施した。一度目の函館朝市では、親子を対象として体験会を行ない、ゲームの問題
点、プロジェクトの目的への影響を含め、多くのフィードバックを頂くことができた。体験会の後
フィードバックを元にゲームの改善を行なったため、二度目のはこだてみらい館での体験会では、朝市での体験会で挙げられた操作性の悪さが改善されており、多くの小学生に好印象でプレイして貰うことができた。二度の体験会で得たフィードバックは、本プロジェクトの目的に対し、今回開発した「魚〜うお〜」がどのように影響を与えたかの指標とすることができた。
（文責: 宮下翔伍）

5.2

グループにおける各人の役割• 宮下
プロジェクトリーダーとして、プロジェクト全体のタスク管理とメンバーへのタスク分割を中心に活動した。後期の初期は、ゲーム開発を円滑に進めるため、Trello を用いてデザイン、システム、モデリングに大きく三種類に分けてのタスクの作成を行ない、メンバーの理解度に応じてタスクの分配を行なった。また、開発に入る前の段階にて、ゲームのデザインの作成を行ない、ゲームに必要な要素の分析を行なった。開発の面では、オプションメニュー、

HP、タイマーなどゲームステージのシステムの開発を中心に担当した。自身の開発のタスクがある場合でも、エラーでタスクの進捗が止まっているメンバーがいればの頻繁にサポートを行ない、全員が開発に関われるように努めた。また、開発のタスクが完了し、git 上でUnity ファイルの管理、ゲームシーンをマージする際に頻繁にコンフリクトが起こった際に原因を分析し解決を行なった。また、企業の方と体験会の企画のやり取りを行ない、体験会に向けたスケジュール、内容の立案、体験会案内の作成を行なった。体験会の直前では、函館新聞からの取材、体験会時には、北海道新聞、FM いるかの取材への対応を行なった。

• 海藤Group Report of 2020 SISP

- 37 -

Group Number 13-A

Underwater World ver.2
プロジェクトの時間では、最初に必ず行なっていたメンバー全員が現在の進捗、次回までにやるべきこと、困っていることを報告する場に置いて、書記を担当し、毎回の議事録を記入
し slack にて共有を行なった。開発の面では、ゲーム内に登場する魚の情報、生態を知ることができる魚図鑑のアプリ開発を中心に担当を行なった。初めは、魚の画像一覧を表示させるために一覧画面の作成を行ない、その後、各魚の詳細を表示させるために、各魚ごとに詳
細画面を作成し、説明テキストや画像の挿入を行なった。また、開発の後半では、モデリン
グ班から完成した魚のモデルが使用できたため、魚図鑑内にて魚のモデルを閲覧できるようにした。最終発表の準備では、発表スライドの担当を行なった。

• 川内
後期の初期は、宮下と共に、ゲームデザインの作成を担当した。開発の面では、VR アプリの開発を中心に担当した。VR は、PC アプリ版とは違い、Oculus のコントローラーを使用した操作だったため、Oculus での操作の実装やダメージの判定の実装を行なった。Oculusのコードを書く際は、Oculus 専用のアセットを使用してリファレンスを確認しながら開発を行なった。また、函館朝市の体験会では、体験に来た親子に対し、ゲームの説明及びサ
ポートを行なった。また、体験会にて発覚したゲームシーンのエラーの修正を行ない、最終発表会にて改善を行なった VR ゲームの公開を行なった。

• 井沼
PC ゲームの開発にて、タイトル画面及び、プレイヤーの名前入力画面を中心に担当を行なった。また、開発の途中で新規に作成したチュートリアル画面のデザインの作成及び実装を行なった。タイトル画面及び名前入力画面は、開発初期はボタンクリックでの実装を行なっていたが、VR 版でゲームをプレイする場合、エラーが発生したため、キーボード入力
での実装に変更を行なった。最終発表会では、開発したゲームの詳細を説明するためのポスター作成を担当した。

• 埜田
開発に行う前の段階で開発するゲームの元となるサンプルを作成した。開発の中で、実装が困難な魚のモデルの導入やアニメーションの実装、空間内への表示など object に関わる部
分をモデリング班と連携をとりながら担当を行なった。また、魚の情報を検索し、現実世界の魚の大きさに基づいた設定をゲーム内にて行なった。また、函館新聞の取材を受けた際にゲームに関する説明を行なった。また、函館朝市の体験会でプログラムのエラーが起こった際に現地で解決を行ない、体験会後、PC アプリでの操作方法をキーボードからコントロー
ラーを使用した操作への修正を行なった。また、はこだて未来館では小学生を対象にゲームの説明、エラーへの対応の担当を行なった。

• 八城
海に関する問題を調査し、ゲームの考案に貢献した。開発の面では、魚のテキストの表示やオプション画面の修正、クリア画面の作成など PC アプリの開発を中心に担当を行なった。
また、開発終盤では、PC アプリで実装した画面を VR アプリにも同様に実装を行ない、体験会前にはゲームのデバック作業を行なった。函館朝市体験会では、親子に対してゲームの操作方法の説明を担当し、体験会後はアンケートを集計し、フィードバックの要約を行なっGroup Report of 2020 SISP

- 38 -

Group Number 13-A

Underwater World ver.2
た。また、最終発表会では、スライドの作成及び、グラフの作成を担当した。
（文責: 宮下翔伍）

5.3

今後の課題

体験会の結果から、本プロジェクトの目的に対する成果を得ることができた。しかし、課題は依然として存在する。一つ目はゲームルールである。「魚〜うお〜」は魚を軸としたシミュレーショ
ンゲームであるが、体験会でプレイしてもらった際にゲームルールを理解できない子供が多かった。そのため、今後更に子供に良い影響を与えるためには、ゲームデザインやゲームルールを体験
者の年齢をより意識したものにする必要がある。二つ目として、PC 版では操作の改善は行なうことができたが、VR 版は初めて VR ゴーグルを使用する体験者にとって操作が困難であるためゲームを上手くプレイしてもらうことができなかった。そのため、今後 VR を用いてゲームを開発する
際には、より操作性を意識した設計が必要となる。三つ目として、開発の中で競合の危険を回避するために各メンバーが別シーンを担当するようにしていたが、シーンを変更するたびに更新ファイ
ルが生成されてしまい、予期していない部分での競合が多く見られた。そのため、今後複数人で開発を行なう場合、別のソースコードの共有方法や開発手法を検討する必要がある。
（文責: 宮下翔伍）

Group Report of 2020 SISP

- 39 -

Group Number 13-A

Underwater World ver.2

付録 A

掲載実績

図 A.1 2019/11/19 函館新聞掲載

図 A.2 2019/11/24 函館新聞掲載• 北海道新聞 11 月 22 日記事掲載 「海泳ぐ魚の気分味わって」• 北海道新聞 11 月 24 日記事掲載 「ゴーグルつけ魚の気分」• FM いるか 11 月 23 日放送 「WILL」「海のリアルを楽しもう!シミュレーションゲーム『魚〜うお〜』体験会」

Group Report of 2020 SISP

- 40 -

Group Number 13-A

Underwater World ver.2

謝辞
最後に、体験会の場所を提供して頂いた、はこだてみらい館の皆様、本プロジェクトに必要な情報を提供して頂いた、はこだて海の教室実行委員会の皆様に心より感謝申し上げます。

Group Report of 2020 SISP

- 41 -

Group Number 13-A

Underwater World ver.2

参考文献[1] 海 へ の お 出 か け 意 識 大 調 査. ア ウ ト イ ン デ ィ 株 式 会 社, 2019/7/17, http://ikoyo.net/press/releases/281[2] 【Unity 入 門 】【 チ ュ ー ト リ ア ル 】玉 転 が し ゲ ー ム を 作 る, 2017/12/8, http://babas.hatenablog.com/entry/roll-ball-tutorial[3] 【Unity 入 門 】全 方 位 シ ュ ー テ ィ ン グ を 作 る 全 26 回, 2018/04/01, http://babas.hatenablog.com/entry/2018/04/01/190000[4] 【Unity、WebGL】なるべく簡単にオンラインランキング機能をつけるサンプル, 2017/05/24,
https://blog.naichilab.com/entry/webgl-simple-ranking[5] 360°写真を Unity に取り込む方法, 2018/04/17, https://wammys.jp/blog/360-unity-vr-1/[6] Unity エフェクトサンプル Shuriken：毒の沼エフェクト (講義), 2016/05/11, http://ktkkumamoto.hatenablog.com/entry/2016/05/11/214457[7] 北海道の全魚類図鑑, 北海道新聞社, 2011[8] HowToDOTween.md, 2018, https://gist.GitHub.com/anzfactory/da73149ba91626ba796d598578b163cc

Group Report of 2020 SISP

- 42 -

Group Number 13-A