2

公立はこだて未来大学 2012 年度 システム情報科学実習
グループ報告書
Future University Hakodate 2012 System Information Science Practice
Group Report
プロジェクト名
函館アバター
Project Name
Hakodate Avatar
グループ名
VR アクアリウム
Group Name
VR Aquarium
プロジェクト番号/Project No.
18-B
プロジェクトリーダ/Project Leader
1010175
川又康平
Kouhei Kawamata
グループリーダ/Group Leader
小畑太樹
1010172
Taiki Obata
グループメンバ/Group Member
1009225
石垣翔太
1010076
立松茉弓子
1010082
守田航大
1010145
三田村梨花
1010215
菅野雄太
Yuta Kanno
1010224
南部由貴
Yuki Nanbu
Shota Ishigaki
Mayuko Tatematsu
Kodai Morita
Rika Mitamura
指導教員
迎山和司
大沢英一
角康之
Advisor
Kazushi Mukaiyama
Eichi Osawa
Yasuyuki Sumi
提出日
2013 年 1 月 16 日
Date of Submission
January 16, 2013
概要
本プロジェクトでは, Virtual Reality(以下, VR と表記する)及び Augmented Reality
(以下, AR と表記する)という技術を扱い, 仮想現実と現実世界とのインタラクションを目的
として活動してきた.
前期の活動において本プロジェクトは, 仮想空間上に存在するキャラクターや建物などの物
体とインタラクションすることと, 今年導入された VR システムを活用し, 本学と室蘭工業大
学との学術連携のために交流を深めるという目的の下, 函館と室蘭の観光案内を行う 3D アニ
メーションを制作するということの二つを目標において, コンテンツ班と技術班という二つの
班を設けて並行して作業を分担し目標達成のために活動した.
後期においては, 本プロジェクトは前期の活動にて学んだことを活かし, VR アクアリウムを
制作することに決定した.
本プロジェクトは, VR アクアリウムにおいて, 前期の 3D 観光案内アニメーションの形態を引
き継ぎ, イカ漁の様子をコンピュータグラフィックスやアニメーションを用いた仮想空間上で
よりリアルに再現するという目標を設定した.
また, ヘッドマウントディスプレイ(以降, HMD)を用いてどこでも使用できる VR 技術を
用いた装置を作るという目標も設定した. このコンテンツを各地の観光案内所や, ユーザーの
自宅に設置することによって VR 技術が広く普及できると考えたためである.
後期において, 本プロジェクトではこれら二つの目標を達成するために作業を 3D モデル・
アニメーション制作, 音響, システム開発の三つに分担し, 並行して作業を進めた. 3D モデル・
アニメーション制作の作業においては, 今回の成果物で使用する 3D モデル及びアニメーショ
ンの作成を行った. 音響の作業においてはアニメーションを再生する際の効果音, 音声案内や
キャラクターの音声の制作を行った. システム開発においては, 作製した 3D モデル, アニメー
ション, 音声をシステム上で再生できるように統合し, ウェブカメラから AR マーカーを読み
取った後, HMD の 6 軸センサーによってユーザーの動きに対応させて表示する作業を行った.
六軸センサーとは前後左右上下の動きを測る加速度センサと向いている方向を測るジャイロセ
ンサを組み合わせて HMD の位置と向いている方向を計測するもの である.
結果として AR マーカーを読み取り, HMD をかけているユーザーの動きに対応して映像が
動き, よりリアルな没入感を得ることができるイカ漁をシミュレートできる 3D アニメーショ
ンを制作することができた.
VR アクアリウムの今後の展望としては, 現状では背景がウェブカメラにて取り込まれた実
世界の映像になっている利点が薄いので, 実世界の物理オブジェクトとの連携を深めるという
ことと, 映像を他人とシェアすることによって新たなコミュニケーションを作り出すことがで
きるということが考えられる.
キーワード
VR, 仮想現実, コンピュータグラフィックス, 3D モデル, 6 軸センサー , イカ漁
(※文責: 石垣翔太)
-i-
Abstract
In this project, we treat technology of Virtual Reality (hereinafter referred to as
VR), and Augmented Reality (and hereinafter referred to as AR) ,and for purpose of
interaction with the real world and the virtual reality, we have been working.
At the activities in the previous semester, this project shared the work to a team of
two ,technical team ,and contents team, and was working in parallel for two goals. First,
for Interaction with characters and objects such as buildings that exist on the virtual
space. Second, for produce a 3D animation to do tourist at Muroran or at Hakodate in
the VR system which was introduced this year for the purpose of deepen exchanges for
academic cooperation with the Muroran institute of Technology and this University.
At the activities in the later semester, this project has decided to produce a VR
aquarium, that make use of what they have learned in the activities of the previous
semester.
This project, the goal in VR Aquarium, take over the form of animation tourist 3D
in the previous year, and to reproduce the state of the fishing squid in underwater more
realistic on the virtual space using animation or computer graphics.
In addition, I have also set the goal of creating a device that uses VR technology that
can be used anywhere using the Head-mounted display (hereinafter, HMD). Because we
think VR technology is able to spread widely by placing around the tourist office, or by
placing in the user’s home this content.
At the activities in the later semester, this project shared the work to a team of
three, the programing team, the making 3D models and animations team, and the
making sounds team, and was working in parallel for two goals.
The making 3D models and animations team was working of the creation of the
animation and the 3D models used in this content of this time in development. The
making sounds team was working of the creation, of the sound effects, the voice of the
character, and the voice guidance. The programing team was working of integrate the
system, to play animation of 3D models and sounds. And they made systems that if
the system read AR markers, display to the HMD to correspond to the movement of
the user by the 6-axis sensor. Six-axis sensor is the sensor of that measures the position
and the orientation of the HMD, by the gyro sensors measuring the direction, and the
acceleration sensor measuring the movement.
As a result we were able to produce a 3D animation, which can simulate the fishing
squid which it is possible to obtain a more realistic immersive, after reading the AR
marker, the image moves in response to movement of the user over the HMD.
Because of at present the advantage that is the background images of the real-world
captured by the webcam is too little. So as the future prospects of the VR Aquarium,
we can think that deepen cooperation with physical objects in the real world to interact
by involving them, and that others video to share is considered that it is possible to
create a new communication.
Keyword
fishing
VR, virtual reality, computer graphics, 3D models, six-axis sensor, squid
(※文責: 石垣翔太)
- ii -
目次
要約
1
1.1
背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2
目標 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.3
課題解決のプロセス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.4
結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
背景
3
VR 技術について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2.1.1
定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2.1.2
起こり . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2.1.3
一般的な VR システムの構成 . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.2
前期の活動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.3
前期の成果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.4
前期成果物に対する評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
目標
6
VR アクアリウムの製作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
3.1.1
後期成果物について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
3.1.2
VR 技術の利用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
3.1.3
モデルの製作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
3.1.4
イカ漁再現アニメーションの製作 . . . . . . . . . . . . . . . . . . . . . . .
10
音響 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
3.2.1
音声製作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
3.2.2
BGM・SE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
3.2.3
再生 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
第1章
第2章
2.1
第3章
3.1
3.2
第4章
課題解決のプロセス
14
4.1
後期の課題割り当て . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
4.2
機材の検討と購入
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
4.3
開発環境の導入・設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
4.4
VR アクアリウムの製作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
4.4.1
VR 技術の利用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
4.4.2
モデルの製作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
4.4.3
イカ漁再現アニメーションの製作 . . . . . . . . . . . . . . . . . . . . . . .
32
音響 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
4.5.1
音声製作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
4.5.2
BGM・SE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
4.5.3
再生 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
4.5
- iii -
第5章
5.1
5.2
5.3
第6章
結果
45
VR アクアリウムの製作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
5.1.1
VR 技術の利用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
5.1.2
モデルの製作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
5.1.3
イカ漁再現アニメーションの製作 . . . . . . . . . . . . . . . . . . . . . . .
48
音響 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
5.2.1
音声製作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
5.2.2
再生 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
最終発表について
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
5.3.1
最終発表について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
5.3.2
成果の評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
課題と展望
53
6.1
当初の成果目標 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
6.2
結果を踏まえて . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
6.3
課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
6.4
今後の展望 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
各メンバーの活動まとめ
56
プロジェクトにおける活動報告 . . . . . . . . . . . . . . . . . . . . . . . . . . .
56
7.1.1
川又康平 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
56
7.1.2
小畑太樹 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
7.1.3
石垣翔太 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
7.1.4
立松茉弓子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
7.1.5
守田航大 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
7.1.6
三田村梨花 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
7.1.7
菅野雄太 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
74
7.1.8
南部由貴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
グループリーダーのプロジェクト活動総括 . . . . . . . . . . . . . . . . . . . . .
80
プロジェクト活動報告及びマネジメント
81
本章概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
プロジェクト活動報告及びマネジメント
83
9.1
本章概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
9.2
プロジェクトの組織体系 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
9.3
プロジェクトマネジメント方法 . . . . . . . . . . . . . . . . . . . . . . . . . . .
84
9.3.1
プロジェクトマネジメント概要 . . . . . . . . . . . . . . . . . . . . . . . .
84
9.3.2
前期プロジェクトマネジメント . . . . . . . . . . . . . . . . . . . . . . . .
85
9.3.3
後期プロジェクトマネジメント . . . . . . . . . . . . . . . . . . . . . . . .
87
9.3.4
前期, 後期マネジメント比較と評価 . . . . . . . . . . . . . . . . . . . . . .
88
9.3.5
プロジェクトマネジメントまとめ . . . . . . . . . . . . . . . . . . . . . . .
89
プロジェクト全体を通しての活動報告 . . . . . . . . . . . . . . . . . . . . . . . .
90
年間スケジュール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
90
第7章
7.1
7.2
第8章
8.1
第9章
9.4
9.4.1
- iv -
9.5
9.4.2
通常活動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
90
9.4.3
中間・最終成果発表会 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
91
洞爺湖ワークショップにおける成果物の発表 . . . . . . . . . . . . . . . . . . . .
92
9.5.1
本項概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
92
9.5.2
当日の様子と結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
92
9.5.3
本章まとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
93
付録 A
新規習得技術
94
付録 B
活用した講義
95
参考文献
96
-v-
Hakodate Avatar
第1章
1.1
要約
背景
VR とは, コンピュータグラフィックスや音響効果を組み合わせてユーザーの感覚を刺激し, 現
実感を作り出す技術およびその体系である. さらに, VR の構成要件として, 五感を用いた没入感,
ユーザーの感覚へのフィードバック, 作り出した現実感との対話性がある. 一般的な VR を作り出
すシステムは, コンピューターといくつかの入出力機器で構成され, よく用いられるのは HMD や
データグローブ, データスーツなどである.
前期においては VR 技術を用いて仮想空間と実空間の間でのインタラクション及び VR 装置を
考案した室蘭工業大学との学術連携の一環としての交流を目的とした, 函館と室蘭の観光案内を行
う 3D アニメーションを作成することを目的として, ストーリーの考案や 3D モデルの制作を行う
コンテンツ班とプログラム本体を作成する 技術班に分かれて作業を行った. 結果として当初の予
定よりもストーリーが短く, 仮想空間と実空間の間のインタラクションも少なくはなったが 3D ア
ニメーションは出来上がった.
(※文責: 小畑太樹)
1.2
目標
後期では前期の結果を元に, 前期に使用した VR 装置を使用するのでは作成した 3D アニメー
ションを見ることが出来る場が少ないことや, 仮想空間と実空間の間でのインタラクションが少な
かったということを念頭において話し合った結果, VR 技術を使用したアクアリウムという案から
派生し, 海の中から見た函館のイカ漁をできるだけ忠実に再現したアニメーションを製作し, それ
を用いて函館の海をアピールするという目標を設定した.
前述の目標を達成するためにまず VR 装置は HMD と他に少数の小型の機器で構成することと
した. 小型の機器の内訳としては仮想空間と実空間との間でのインタラクションに AR マーカーが
使えるのではと考え, 実空間の映像を取り込むために小型の Web カメラを, HMD の動きを検出し
アニメーションに反映するために 6 軸センサーを用いることとなった. しかし, 6 軸センサーが使
用できなかった場合に備えて, キーボードを使用しての代替機能を用意することとした.
また, 後期製作物の 3D アニメーションはできるだけ忠実に再現することも目指しているので 3D
モデル及び 3D モデルの動きも細部まで作り, しかし, あまりデータの要領が大きくなりすぎて再
生に支障が出ないようにという注意の元に製作が行われることとなった. その他にも, 通常想定し
ていない海中からのイカ漁の様子を再現することにより, 函館の名物であるイカを通して函館の海
をアピールすることを目指す.
(※文責: 小畑太樹)
Group Report of 2012 SISP
-1-
Group Number 18-B
Hakodate Avatar
1.3
課題解決のプロセス
まず, VR 装置については目標に沿った機材を購入し用いることで, 持ち運びの難易度を低くし
た. 6 軸センサーについては, デバックモードを使用してのサンプルプログラムの解析や, PDF の
解説書の英文から使用方法を習得し, 成果物に反映していった. また, キーボード操作に関しては,
当初は 3D モデルの周りを自分が回る仕様になってしまっていたが, 自分が中心に来るように原点
を移し, 機能の修正を行った.
次に, 3D アニメーションに関してで, 3D モデルについては, インターネット上の著作権フリー
の素材の流用や, モデル表面の色のつけ方の工夫, 本学の教授へのインタビューなどを行い, 再現率
が高く, アニメーションの動作に支障のない 3D モデルを制作していった. 3D アニメーションの中
身については, 作る際に簡易の絵コンテを作りキャラクターの動きを確認し, ストーリーの流れを
確認した後に製作に入った. また, このプログラムではモデルの表示に使用しているライブラリと,
音の再生に使用する予定だった DX ライブラリが競合を起こしたため, SDL mixer を用いること
となった.
(※文責: 小畑太樹)
1.4
結果
結果として前期の成果物よりも持ち運びやすい VR 装置と, 本物に近い精度の 3D モデルを使用
した 3D アニメーションは完成させることは出来た. しかし, アニメーションとしての精度は, 現実
のイカ漁に近いとは言えるものではなかった. また, 6 軸センサーを使用した視界の移動も, セン
サーの値の使用方法に不正確だったのか不完全なものであった.
(※文責: 小畑太樹)
Group Report of 2012 SISP
-2-
Group Number 18-B
Hakodate Avatar
第2章
2.1
2.1.1
背景
VR 技術について
定義
VR とは, コンピュータグラフィックスや音響効果を組み合わせてユーザーの感覚を刺激し, あ
たかも現実であるかのような環境や感覚を作り出す技術およびその体系である. さらに, VR の構
成要件として,
• 五感に働きかけて得られる没入感
• ユーザーの位置や動作に対する感覚へのフィードバック
• 作り出した環境にユーザーが働きかけることが出来る対話性
などがある. そのため小説や映画といったメディアも人工的に現実であるかのような環境を作り
出しているが, これらの用件を満たしていないため VR では無い.
(※文責: 小畑太樹)
2.1.2
起こり
1968 年にユタ大学のアイバン・サザランドによって HMD が提案され, これが最初の VR であ
るとされている. しかし, VR という用語は 1987 年に NASA が外発した「VIEW」
(仮想環境ワー
クステーション)というシステムの開発プロジェクトの中で使い始めた語である. また, 視覚を用
いた VR として有名なのが 1991 年にイリノイ大学のトーマス・デファンティによって提案された
「CAVE」
(没入型の投影ディスプレイ)である. 下図は [1] より引用.
図 2.1 CAVE システム(イメージ)
図 2.2 CAVE システム(実物)
(※文責: 小畑太樹)
Group Report of 2012 SISP
-3-
Group Number 18-B
Hakodate Avatar
2.1.3
一般的な VR システムの構成
一般的な VR システムは, コンピューターと HMD のような出力装置, 手袋状のデータグローブ
や衣服状のデータスーツなどの入出力装置を組み合わせによって構成されている. HMD では両眼
視差を利用しての実際の視覚に近い映像を, データグローブやデータスーツでは動作の入力や擬似
的な触覚の出力などで, 没入感や感覚へのフィードバック, 作り出した環境との対話性を実現して
いる.
(※文責: 小畑太樹)
2.2
前期の活動
前期では, VR 技術を用いて仮想空間と実空間の間で仮想のキャラクターと触れ合うことや, 実
際に存在する物体の動きが仮想空間に反映されるなどのインタラクションを行うことを目標とし活
動した.
また, 前期に使用した VR システムは室蘭工業大学で開発されたもので, 本学との学術連携の一
環として導入された. この経緯から, 本プロジェクトの前期のもう一つの目標として函館と室蘭の
観光案内を行う3 D アニメーションを製作し, 室蘭工業大学との交流を図るというものが設定さ
れた.
以上の目標を達成するために本プロジェクト内で, 3 D アニメーションのストーリーの考案や必
要となる3 D モデルの製作を行うコンテンツ班と, コンテンツ班が用意したものが VR 装置上で実
際に3 D アニメーションとなるようプログラムの作成を行う技術班とに分かれて作業した.
図 2.3
前期に使用した VR システム
(※文責: 小畑太樹)
2.3
前期の成果
前期の成果として VR システムで再生できる函館と室蘭の観光案内を行う 3D アニメーションを
製作することは出来た. また, 3 D アニメーションの中で実空間からのアクションを起こすことで
Group Report of 2012 SISP
-4-
Group Number 18-B
Hakodate Avatar
仮想空間のモデルに変化を出すという内容も盛り込むことは出来た. しかし, 3D アニメーションは
当初計画したものよりも短く簡素になり, 仮想空間と実空間との間のインタラクションも当初の予
定より大幅に少なくなってしまった.
図 2.4
函館偏のオープニング
(※文責: 小畑太樹)
2.4
前期成果物に対する評価
前期の活動および成果を踏まえて本プロジェクト内で話し合った結果, いくつかの意見がプロ
ジェクトメンバーの中から挙がった. 意見の中には,
• VR 装置の移動しやすさ
• 仮想空間と実空間の間のインタラクションが少ない
などがあった.
一つ目の VR 装置利用中の行動の自由度については, パソコンがデスクトップ型である事と
HMD の位置と動きを知るために利用している磁気センサーが机と一体になっている事, 机が計 6
台のパソコンを置くことを前提にした大きさであることから装置を移動するのは簡単では無いとい
うことである.
二つ目の仮想空間と実空間の間のインタラクションが少ないことについては, 函館と室蘭の観光
案内の中で数回ずつしか作れなかったため, 目標の一つであった仮想空間と実空間との間でインタ
ラクションを行うというのが達成できたといえるのかというものである.
(※文責: 小畑太樹)
Group Report of 2012 SISP
-5-
Group Number 18-B
Hakodate Avatar
第 3 章 目標
VR アクアリウムの製作
3.1
3.1.1
後期成果物について
まず後期成果物をどうするかにあたり, プロジェクトメンバーの総意で前期のように全員で1
つの物を作るのではなく, 班を二つに分けて後期成果物を2種類作ることとなった. その中で本グ
ループは前期成果物に対する評価を考慮し, 後期では前期の物よりも持ち運びが容易な物を VR 装
置として用い, 仮想空間と実空間とのインタラクションを増やす事とした.
また, 前期の製作物が函館と室蘭の観光案内の 3D アニメーションであったため, 後期もそれに
合わせて函館の観光に関係するものとした. そこで, プロジェクトメンバーから挙がった VR 技術
を使ったアクアリウムというアイディアに着目し, 今まで注目されることが少なかった函館の海の
中, 後期は特に海の中から見たイカ漁に的を絞って出来るだけ忠実に再現し函館の海をアピールす
る 3D アニメーションを作ることを目標とした.
(※文責: 小畑太樹)
3.1.2
VR 技術の利用
ヘッドマウントディスプレイ
後期のアクアリウム班の VR アクアリウム製作にあたり, HMD を用いることでの目標は, イカ
釣り漁の 3D モデルやアニメーションをどこでも気軽に, どの角度からでも見ることができるよう
にすることと, HMD を通して現実空間にイカ釣り漁のアニメーションを行う VR 空間を映し出す
ことである. しかし, 目標を達成するためには以下の 2 つのような技術的課題を解決する必要が
ある.
• HMD には周りを見渡すための機能がないため, その機能の付加をする必要がある.
• HMD は, 本来パソコンの画面などを出力するためのものであり, HMD 本体には現実空間を
映し出す機能がないのでその機能の付加をする必要がある.
VR 空間を自由に見渡す機能をつけるために, プロジェクトメンバーとの話し合いで前年の AR
を題材にしたプロジェクトを参考に Kinect のモーションセンサーを使用したほうがよいのではな
いかという意見も上がった. しかし, 前年のプロジェクトの方に意見を聞いたところ, 技術難度の高
さから製作期間が足りないということや, ノートパソコン 2 台使用することになるらしく, 気軽に
見ることが出来て歩き回れるという前提が崩れてしまうという問題が上がった. そこで, 技術的難
度や製作期間, 前提を鑑みて方針を変更し, 3 軸加速度センサーと 3 軸ジャイロセンサーの合わさっ
た 6 軸センサーの導入をすることにした. 6 軸センサーは移動方向や向き, 回転を検出することが
出来き, ゲーム機のコントローラーでも使用されていることから小さく軽量な機材を望める. これ
らの機能から Kinect と同じような効果が望めるので HMD には 6 軸センサーを取り付けようとい
う計画となった.
Group Report of 2012 SISP
-6-
Group Number 18-B
Hakodate Avatar
図 3.1
想定された利用法
HMD に現実空間を映し出すために, Web カメラを使用しようという意見が上がった. Web カメ
ラは USB 形式が主流でありパソコンへの接続も容易で, パソコンの画面に現実空間を映し出すこ
とが可能なため有効と判断された. また, Web カメラを通して見せる映像を HMD 装着者の視点に
合わせる為, Web カメラは HMD の上部に装着して使用する計画となった.
HMD の利用は, これらの計画に沿って行われた.
(※文責: 菅野雄太)
6 軸センサーの利用
前期成果物では VR 装置にあらかじめ取り付けられていた磁気センサーを用いて HMD の動き,
すなわち頭や体の動きを検出していた. しかし, 今回は装置が増えるのは持ち運びの際の難易度を
上げるため, 設置型の磁気センサーを用いずにコンパクトな装置を用いる必要があった.
そこで磁気センサーと同様の働きが出来るものを探した結果, HMD の動きを検出できるセン
サーとして 6 軸センサーが挙げられた. 6 軸センサーとはジャイロセンサーと加速度センサーが合
わさったもので, ジャイロセンサーで 3 軸, 加速度センサーで 3 軸の合計 6 軸を検出することが出
来るものである.
6 軸センサーが挙げられた理由として, ジャイロセンサーで上下左右の顔の向きと顔の傾きを, 加
速度で前後左右と上下の体の動きを検出できると考えたからである. また HMD と 6 軸センサーを
併用して使うことをメーカーが想定して開発された HMD と 6 軸センサーが有り, センサーを利用
するためのサンプルプログラムもあるということで 6 軸センサーを使うことが採用された.
(※文責: 小畑太樹)
Web カメラの利用
Web カメラを利用するうえでの目標は, 現実に見ている風景にイカ釣り漁のアニメーションを行
う VR 空間を浮き上がらせるために Web カメラと HMD を併用することでビデオシースルー機能
を実現することや, AR マーカーを認識に用いることである. しかし, 目標を達成するためには以下
Group Report of 2012 SISP
-7-
Group Number 18-B
Hakodate Avatar
の 2 つのような課題を解決する必要がある.
• Web カメラは, HMD との併用を想定して造形されてはいないため HMD とあった形状にす
る必要がある.
• Web カメラの AR マーカーの認識精度はあまり高くない.
図 3.2 Web カメラ
Web カメラと HMD を併用するうえで, HMD 装着者の視点の高さに合わせた映像が必要なた
め, HMD の上部に取り付け, また HMD 上部に取り付けるため Web カメラはなるべく軽量で, な
おかつ HMD に取り付けやすい形状のものを使用するという計画となった.
AR マーカーを正確に認識するためには, 解像度も重要な要素になっている. 解像度が低い Web
カメラでは使用してもマーカーを正しく認識し辛いため, そのような事態を起こさないために, あ
る程度の解像度がある Web カメラを使用した方が良いという意見が上がった.
これらより, Web カメラは軽量かつ形状が適正であり, 適当な解像度を持つものを HMD に装着
し, ノートパソコンに接続して使用できる状態にするという計画に沿って利用された.
(※文責: 菅野雄太)
3.1.3
モデルの製作
3D モデルの製作
• スルメイカ
今回は VR アクアリウム製作を目的として, また, 3D モデルを現実世界のものに近づけて制作す
ることで, HMD を通して見る映像の中にあたかも自分自身の体が溶け込んでいるかのような新し
い没入感を得られるようにすることを目指すこととなった. その際には, スルメイカにはその目標
を実現させるために, よりリアルに近い形にすることが求められていた. そこで, スルメイカの 3D
モデル制作では, 実際のスルメイカとほぼ同じ形, かつアニメーションに使うということで負荷を
かけないように容量を抑えて制作を行うということを定めた. スルメイカは当初の目的であったア
クアリウム=水族館というイメージでコンテンツを製作するということ, また函館の観光に絡める
ということで選ばれており, さらにスルメイカの漁を水中から覗くとこで興味を刺激し, 「函館の
美味しいイカを食べたい」から「函館朝市に行きたい」という意欲を欠きたたせて観光に繋げさせ
Group Report of 2012 SISP
-8-
Group Number 18-B
Hakodate Avatar
るという目的もあった.
(※文責: 三田村梨花)
• イカ釣り漁船
今回は船ではなく漁船の制作をする予定だった. さらにただの漁船ではなくイカ釣り漁船なので
少し特殊である. イカ釣り漁船の大きな違いは普通の漁船には無い電球がある事だ. モデルとして
必要なのは見た目であるから内装は必要ないので制作する予定は無かった. イカ釣り漁船は電球
や電線, 釣り糸を引き上げる装置など船上に細かな部品が多くあるので, 頂点数が多くなり容量が
大きくなることが予想できたので, なるべく各モデルの頂点数を少なくし, 外見もイカ釣り漁船に
見えるように, また, イカ釣り漁船はイカ釣り漁の要なのでリアリティのあるものを制作しようと
した.
(※文責: 守田航大)
• 糸
複数の疑似餌の 3D モデルを糸のモデルで繋げたものを制作しようとした. 釣り糸は複数使用す
る予定だったので, 1 つの釣り糸の容量をできるだけ小さく, そしてしっかりと釣り糸だとわかるも
のを制作しようとした.
(※文責: 守田航大)
• 疑似餌
疑似餌の 3D モデルを制作するにあたり, より詳細な 3D モデルを制作する必要があった. しか
し疑似餌は針が多く, またその針も反っているということもあり, その部分をいかに低容量に抑え
ながら制作を行うかを主軸に置いた. また, ばねが疑似餌に仕込まれているので, その部分も再現す
るためにはどのような順序で, あるいはどのような手段で制作を行うかを組み立てていくことにし
た. 疑似餌に関しては, スルメイカ漁のアニメーションを制作する上で, まずイカ釣り漁船を使うと
いうことが定められた. その中でイカを釣る方法として釣り糸に疑似餌を取り付けて漁を行うとい
う技法であることが判明したため, その部分を再現するために疑似餌の 3D モデルを完成させると
いう目標があった.
(※文責: 三田村梨花)
モデルのモーション
3D モデルとは 3 次元空間上に点在する頂点座標と表面の画像データの集合体であり, そのまま
では単なる彫像にすぎないので, 様々なポーズを付けたり, アニメーションさせることはできない.
3D モデルをアニメーションさせるためにはそれぞれの頂点に関連付けされて動きの骨格を決め,
関節のような働きをするボーンと, そのボーンの動きを決定するモーションデータが必要となる.
本グループではイカ漁再現アニメーションの制作を目的として, リアルなイカの 3D モデルと, イカ
を釣り上げるための疑似餌, イカ釣り漁船のモデルにより現実に近い動きを表現するために, ボー
ンの設置と, イカ漁の際に必要な様々なモーションデータの制作を行った. 今回はリアルなイカの
3D モデルをアニメーションさせるということである. そこで本来イカには骨格がないため, ボーン
の数を多くして軟体動物の柔軟な動きを表現した.
Group Report of 2012 SISP
-9-
Group Number 18-B
Hakodate Avatar
(※文責: 石垣翔太)
3.1.4
イカ漁再現アニメーションの製作
ストーリー
• アニメーションの内容
前期では, 函館と室蘭の交流のきっかけとなることを狙いとして観光案内アニメーションを製作
した. それを踏まえて後期では, 函館全体を知ってもらえるようなきっかけとすることを狙いとし,
函館で行われるイカ漁の再現アニメーションを製作する. 函館の特産物の 1 つとして有名なイカと
いう要素を取り入れたことで, 前期で作成した 3D キャラクター・クラーケンのクラちゃん (以下,
クラちゃん) を用いることが容易になる. 前期から引き継ぐ要素を兼ねた上で, 以下のような仕様を
考案した.
(※文責: 立松茉弓子)
• 仕様
VR 空間に漁船やイカを表示して漁の様子を観察でき, かつ 3D モデルに触れてアクションを起
こせるようなアニメーションを構想する. 通常, 漁の様子というのは, 海上即ち船上から観察するこ
とを想定される. VR 空間に 3D モデルを表示するのに対し視点を海上にしてしまうと, テレビや
動画などでよく見られるものになってしまい, VR 装置を使う意味がなくなってしまう. そこで, こ
のアニメーションでは, 視点を海中に置き, 海中から船を見上げる形で漁の様子を観察できるもの
にしたい.
(※文責: 立松茉弓子)
プログラム
プログラム上でイカ漁再現アニメーションを製作するために, 3D キャラクターを表示しストー
リーを再生する機能を実装することを目標とした. 前期の成果物と比較して手軽にどこでも再生す
ることができるよう HMD を用いることと, 現実世界の映像を取り入れることで前期の成果物には
なかった新しい機能の実装について検討していくことを考慮し, Web カメラを用いてマーカーを読
み込むことでアニメーションを再生する仕様とした.
さらに, 表示されている 3D キャラクターに手を触れることで何らかの反応を返すインタラク
ティブなアニメーションを実現するために, マーカーを手に装着することでモデルとマーカーとの
距離を測定し, モデルに触れているかどうかを判定するアクション機能を実装することとした.
また, イカ漁は海中で行われるため, 成果物の見た目を水中らしくするための処理をプログラム
上で行った. Web カメラで現実の映像をキャプチャーし 3D キャラクターを表示するだけでは, 現
実世界にキャラクターが浮いているように見えてしまうため, 画面の明るさや色を調整し水中らし
く見えるようなエフェクトを実装した.
(※文責: 南部由貴)
Group Report of 2012 SISP
- 10 -
Group Number 18-B
Hakodate Avatar
キーボード操作について
キーボードを利用して視点の移動や回転などの動作を行う機能を追加した.
何らかの原因により HMD に内蔵されている加速度センサーが使用できない場合の代替措置と
して, HMD を使用せずに画面上でプログラムを再生しストーリーを楽しむことのできるよう機能
を追加することとした. これにより, Web カメラさえ接続していれば没入感は得られないものの加
速度センサーの代用として空間を見渡す動作を実現できるようにした.
(※文責: 南部由貴)
3.2
3.2.1
音響
音声製作
• 必要な音声
イカ漁再現アニメーションは, 前期に制作した 3D キャラクター・クラちゃんと, イカ漁の口頭説
明を行うナレーションによって進行するため, 2 種類の音声が必要になる. グループメンバーに割
り当てられた仕事の割合等から声優選抜は行わず, この 2 種類の音声を 1 人が声を使い分けて収録
することになった. ボイスチェンジャーのようなエフェクターを使用する試案もあったが, 機械ら
しい声質はアニメーションの進行に相応しくないとの判断から, 人間の肉声のみを使用することに
する. また, 2 種類の音声に特徴を持たせるために, キャラクターの喋り方・口調のような, 声質以
外の違いにも注意して作成する. 声によるキャラクター作りにおける発声方法の違いによっては台
詞 1 つ 1 つの音量が異なる場合も考えられるが, その際は後述の編集作業にて修正を施す.
• 使用する機材と場所
単一指向性を持つマイクを使用する. 単一指向性とは, 一方向からの音はよく拾うが, それ以外の
方向から来る音は殆ど拾わない性質のことを言う. カラオケなどで見かけるマイクの大半が, 単一
指向性を持つ. しかし, 単一指向性を持つマイクを用いても, 周りの雑音を完全に遮断することはで
きない. また, 広い空間ほど音が響きやすい傾向にあり, 特に大学という建物は音が響きやすい構造
になっている. 余計な反響音は編集作業に影響を及ぼすことから, 雑音と反響を回避するため, 音声
収録には人の出入りが少なく, かつ広すぎない大学以外の場所を使用する.
• 使用するソフトウェア
録音に使用するソフトウェアには, REAPER のフリー版を用いる. REAPER は本来, 楽器や歌
声等を録音し, 編集を行うソフトウェアである. 音源ごとにトラックという単位で小分けに録音・
編集できる機能を, 今回は台詞 1 つ 1 つに割り当てて管理する. トラックに名前を付けられる・ト
ラックごとに異なる編集を施せることから, 1 トラックごとに分けた台詞の管理がしやすいのが利
点である. 但し, 音声を録音したり, REAPER 上に読み込んだりするたびに一時ファイルが作成さ
れてしまうことから, 音声作成および編集の際は個別フォルダを作り, 他のファイルと混同しない
ように隔離することが推奨される.
(※文責: 立松茉弓子)
Group Report of 2012 SISP
- 11 -
Group Number 18-B
Hakodate Avatar
図 3.3 REAPER
3.2.2
BGM・SE
前期では取り入れることができなかった BGM 及び効果音 (以下, SE) を使用する. BGM はアニ
メーション全体の雰囲気を構成するため, 選出には十分注意を払う. また, プログラム上で再生する
ことからメモリの負担なども考慮し, ループ再生しても自然な BGM を検索する. 比較的曲の長さ
が短い BGM をループ再生させることで, BGM でアニメーションの雰囲気を構成し, SE は使用す
る箇所の少なさから, PC でできるフリーゲームに使われることの多いゲーム用効果音から選出す
る. 「海の中」「シミュレーション」という要素から考えて, どの音源においてもあまり機械的では
なく, なるべく穏やかな明るい曲調の BGM や, 汎用性の高いややコミカルな SE を中心に選考す
る. なお, 音声データを再生するプログラムを実装する担当者と連携し, 音源ファイルのファイル形
式は. mp3 または. wav とし, 必要であればファイル形式を変換できるソフトウェアを使用する.
(※文責: 立松茉弓子)
3.2.3
再生
VR アクアリウムでは, イカ釣り漁の様子をアニメーションと音声を用いて解説する要素がある.
そのた VR アクアリウムの音声再生では, イカ釣り漁の様子をアニメーションと音声を用いて解説
する音声を流すことを目標としている. 音声などの再生を実装することで望める効果は, 前期の観
光アニメーションと同様に, 3D モデルのアニメーションに合わせて解説音声を流すことで, より臨
場感を持たせることができることである. しかし, 目標を達成するためには以下の問題を解決する
必要がある.
• ARToolkit に音声再生機能がないため, 音声再生用のライブラリを追加する必要がある.
• 解説などの SE・音声と海中のイメージを出す BGM などを, 用途ごとに音声を使い分ける
必要がある.
音声を再生させる機能を付加するために, 導入の容易さの点から DX ライブラリというライブラ
リを使用しようとの意見が上がった.
Group Report of 2012 SISP
- 12 -
Group Number 18-B
Hakodate Avatar
SE・音声には単純再生, BGM にはループ再生が必要だろうとの意見が上がり, それらの機能が
実装できるようにプログラムを組むという計画となった.
これらより, 必要なライブラリを導入し, SE・音声・BGM を各再生機能で再生できるようにす
るプログラムを作成するという計画に沿って作業を行った.
(※文責: 菅野雄太)
Group Report of 2012 SISP
- 13 -
Group Number 18-B
Hakodate Avatar
第 4 章 課題解決のプロセス
4.1
後期の課題割り当て
グループメンバーの内訳
後期成果物の制作に当たり, 前期の活動におけるグループ及び活動内容を参考にメンバーに課題
を割り当てた. メンバーの内訳は前期に技術班に所属していたグループリーダーと前期にコンテン
ツ班に所属していたメンバーが 4 人, 技術班に所属していたメンバーが 2 人の計 7 人であった. 各
メンバーの前期における役割の詳細はコンテンツ班の 4 名は, リーダーだったメンバーと 3D モデ
ルを作成していたメンバーが 2 人, ストーリー及び音響を担当したメンバーが 1 人, 技術班の 3 名
はリーダーだったメンバーとプログラム作成においてモデルの表示やアニメーションの進行などの
部分を担当していたメンバーと, 仮想空間と実空間との間でのインタラクションの部分を担当した
メンバーであった.
(※文責: 小畑太樹)
元コンテンツ班所属のメンバー
前述の各メンバーの前期の活動の詳細を考慮し, 前期に 3D モデルを作成していたメンバー 2 人
には後期も引き続き 3D モデルの作成担当となってもらった. 後期成果物である 3D アニメーショ
ンの目的の一つがイカ漁を出来るだけ忠実に再現し, 函館の海をアピールするであったので 3D ア
ニメーションの要の一つでもある 3D モデルはできるだけ本物に近づけてもらうために人員 2 人を
割き, 時間をかけられるようにした. また, 前期ではコンテンツ班のリーダーだったメンバーには出
来上がった 3D モデルに動きをつける作業をしてもらった. これも 3D アニメーションを作る上で
大切であったが, 前期の活動でこれを経験したメンバーが本グループにいなかったので 3D モデル
が出来るまでの間にサンプルの 3D モデルを用いて技術の習得をしてもらった. 前期にコンテンツ
班に所属していた最後の 1 人には, 前期に引き続いて 3D アニメーションのストーリーの考案と音
響の担当, さらにストーリー考案のための情報収集を担当してもらった. ストーリーと音響, 特に
音声は 3D アニメーションの目的が函館の海をアピールすることであったので特に重要であったた
め, 前期に引き続いて担当してもらった.
(※文責: 小畑太樹)
元技術班所属のメンバー
前期の技術班リーダーは本グループのリーダーをプロジェクトリーダーより任されたほか, プロ
グラム作成において前期では用いていなかった 6 軸センサーを利用する部分と各メンバーが作成し
たプログラムの統合を担当することとなった. 新しく取り組む 6 軸センサーの利用の担当がグルー
プのリーダーであったのは, プログラム作成関係の課題を他にあまり割り振らないことではじめて
取り組む 6 軸センサーの利用をしっかりと使えるようにするためである. また各メンバーが作成し
たプログラムを統合する担当となったのは, 6 軸センサーを使用する環境を整えているのがグルー
プのリーダーだけであったのと, 各メンバーの行った作業を知りやすくするためであった. 次に前
Group Report of 2012 SISP
- 14 -
Group Number 18-B
Hakodate Avatar
期にモデルの表示やアニメーションの進行を担当してもらったメンバーには, 前期に引き続きモデ
ルの表示とアニメーションの進行のほかに, AR マーカーを使った仮想空間と実空間の間でのイン
タラクションを行う部分や, プログラムの作成中に新たに必要だと感じた部分の作成を担当しても
らった. 前期に引き続いた作業のほかに仮想空間と実空間の間でのインタラクションの部分や追加
作成も担当してもらったのは前期に引き続きの作業はそれほど難易度が高くないであろうことと,
前期の仕事率が高かったからである. 最後のメンバーには 3D アニメーションにおいて情報を伝え
る上で重要な音源を再生する部分と追加作成の補佐を担当してもらった. 前期に引き続いての担当
ではないので技術を調べるところからやってもらうので調整する期間を考慮しこの担当になっても
らった.
(※文責: 小畑太樹)
4.2
機材の検討と購入
VR アクアリウムではより深い没入感を得るために HMD と 6 軸センサーの導入を検討した.
HMD やセンサーには様々な種類があったが, 今回, HMD は Vuzix の Wrap1200 ビデオアイウェ
アの購入を検討した. 6 軸センサーは Vuzix Wrap 用 WrapTracker6TC の購入を検討した. 理由
はなるべく安価かつ画質の良い物が適していたからである. さらに, HMD と PC を接続する VGA
アダプターが必要なので Vuzix Wrap シリーズ用の VGA アダプターの購入を検討した. これら
はセットになっており, それぞれを別々に購入するよりも安価で売っていたのでそのセットを購入
した. このセットは予備としてもう一セット購入した. さらに, 実際のその場の情報を知るために,
web カメラを使用し周辺の状況を把握する方法をとったので, web カメラが必要だった. web カメ
ラは Logicool HD Webcam C615 を購入した.
(※文責: 守田航大)
4.3
開発環境の導入・設定
後期成果物を作成するにあたり以下に利用したツールや使用したソフトなどについて述べ, 利用
方法を記述する.
(※文責: 小畑太樹)
• Metasequoia
今回, 3D モデルを制作する際に, metaseq.net(http://www.metaseq.net/) で配布されている
Metasequoia という 3D ソフトを導入した. Metasequoia はポリゴンメッシュをベースとして立体
のオブジェクトを生成・編集することで 3D モデルを制作するためのソフトであり, 主に 3DCG モ
デリングが目的とされている. Metasequoia には無償版とシェアウェア版の 2 種類あり, 無償版は
ライセンスの購入無しで誰でもフリーで使うことが出来るが, 機能が制限されている. その一方で
シェアウェア版は有料のシリアル ID を購入することで全ての機能が使えるという違いがある. 無
償版で制限されている機能は以下の通りとなっている.
• ウェブ上で有志が作成・公開しているプラグインのインストールと使用が出来ない
Group Report of 2012 SISP
- 15 -
Group Number 18-B
Hakodate Avatar
• 三面図の展開を行えない
• mqo 形式以外の他拡張子の入出力が行えない
今回は Metasequoia 独自の拡張子である mqo 形式以外に, ボーンの追加やモーション制作の関
係上他の拡張子, その中でも PMD エディタを使用する関係で.x という拡張子を使用する機会が多
く, また, 3D モデルを制作する上で, 出来るだけ詳細なものを制作するという目的からシェアウェ
ア版を使用することにし, シリアル ID を購入して機能制限を解除した. また, 3D モデル制作の事
前準備として, ウェブ上で公開されている Metasequoia の使い方講座からソフトウェアの使い方や
基本的な図形の作り方, 3D モデルの変形の仕方, より立体的に見せるための UV マッピングの技法
や光源の扱い方などの知識を得て, ティーカップやワイングラス, 金属バットなどの簡単な小物作
りを行った.
(※文責: 三田村梨花)
• PMD エディター
PMDEditor は MikuMikuDance にて使用する 3D モデル(PMD) の編集や, ボーンの設置を行
う事ができるソフトウェアである.(図 4.1)(図 4.2) 本来, Metasequoia にて 3D モデルを作成した場合, モデルの 3 次元頂点座標のデータは MQO
形式のファイルに格納されるが, MikuMikuDance では独自の形式である PMD, または PMX 形
式のファイルしか読みこむことができない. さらに, MikuMikuDance のみではボーンの設置を行
うこともできないため, まずはボーンの設置を行うためにモデルデータを PMDEditor で読み込
む. Metasequoia 側でボーンを設置できるようなプラグインも公開されていたのだが, 有償版の
Metasequoia のみでしか利用できないため PMDEditor を使用することとなった.
PMDEditor は Metasequoia の MQO 形式ファイルについては読み込むことができないため, 予
め Metasequoia の方で X 形式のデータでエクスポートする必要がある. その後 PMDEditor でそ
の X 形式のデータファイルを読み込むのであるが, その際に同じフォルダ内に 3D モデルで使用す
るテクスチャの画像データが無い場合, たとえ Metasequoia 側でテクスチャが反映されていても
PMDEditor で読み込むとテクスチャが反映されず, 真っ白なモデルになってしまうと言う問題が
発生したが, これは X 形式のファイルと同じフォルダにテクスチャの画像データを置くことで解決
した.
次に, 読み込んだモデルにボーンを設置していく. ボーンを設置する手順としては, ボーンの追
加, ボーンの座標位置調整, 親ボーンと子ボーンの指定, ボーンの稼働する際の形状を変化させる範
囲と影響度(ウェイト値)の指定, MikuMikuDance 表示用の「ボーン枠」へのボーン追加といっ
た順序になっている.
親ボーンとは, そのボーンに対して根本に当たるボーンで子ボーンは先端に当たる. 例えば人間
の関節で言うと, 肘の関節を見ていた場合, 親ボーンに当たるのは肩の関節であり, 肩の関節の角度
を変えると肘の位置も動く. 逆に子ボーンに当たるのが手首の関節である. こちらは逆に肘の関節
の角度を変えると手首の位置が移動する. このようにボーンに関しても親子の関係を追加して指定
していく.
ボーンを追加する際にはボーンの種類を指定しなければならない. ボーンにはいくつか種類があ
り, 主に使用したものは以下の五種類である.
1. 回転ボーン
回転ボーンとは, 関節の働きをするボーンである. ボーンの角度を回転させて変更すること
Group Report of 2012 SISP
- 16 -
Group Number 18-B
Hakodate Avatar
図 4.2 PMDEditor の作業画面 2
図 4.1 PMDEditor の作業画面 1
ができ, 形状を変化させる範囲に指定されている頂点をこのボーンを中心に円状に移動させ
て変化させる. その先にある子のボーンの位置とオブジェクトの位置も角度を変えることに
よって指定できる.
2. 回転/移動ボーン
回転/移動ボーンについては, 角度の変更の他にボーン自身の移動もできるボーンである. こ
のボーンを移動させた場合, 形状を変化させる範囲に指定された頂点はこのボーンからの距
離が等しくなるようについてくる. この回転/移動ボーンを移動させた場合, 形状を変化させ
る範囲にしてされた頂点のみがついてくるため, 形状を変化させる範囲に指定されていない
頂点との間の距離が開き, 見た目としては引っ張って伸ばしたような形状になる. 回転につ
いては回転ボーンと同様回転によって角度を変更できる.
3. IK ボーン
IK(inverse kinematics)ボーンとは特殊なボーンである. 本来 IK ボーンを使わないで腕
の動作を設定する場合, 動作の中心である上腕の動作を設定し, 順に前腕, 手を設定するとい
う流れで根本から先端の方へと順に進むのが自然である. しかし IK ボーンを使うと末端の
手を動かすことで連動して上腕, 前腕も連動して動くようになる. つまり, 末端(子)の動作
を先に決めて, 親に当たるオブジェクトの動作を逆計算するということである. ある程度複
雑な動作を設定する場合には, IK ボーンを使うことで自然なアニメーションが容易に作成
することができる.(図 4.3) その場合, 親に当たる関節は IK 影響下(回転)ボーンにしな
ければならない.
4. IK 影響下(回転)ボーン
IK 影響下(回転)ボーンは基本的な働きは回転ボーンと同様であるが, 影響される IK ボー
ンを指定することによって, IK ボーンが移動した時にそれにあわせてこの IK 影響下(回
転)ボーンも自動的に角度を変える. こうして末端の位置を指定するだけで IK までの間に
ある IK 影響下(回転)ボーンが自動で最適な角度を計算していくので, マシンパワーはあ
る程度要求されるが, 複雑なアニメーションもより自然でリアルに表現することが出来る.
5. IK 接続先ボーン
IK 接続先ボーンは IK ボーンの接続先となるボーンである.
Group Report of 2012 SISP
- 17 -
Group Number 18-B
Hakodate Avatar
図 4.3 IK ボーン
漁船のモデル場合は糸を巻き取る機械とスクリューの回転のみであったため回転ボーンのみを使
用した.
イカのモデルには 10 本の触手と胴体の先に IK ボーン, そこにつながる部分に IK 影響下(回転)
ボーンを, ヒレの部分には回転ボーンを利用した. 特に触手と胴体については軟体動物の柔軟な動
きを表現するために触手にそれぞれ 5 個ずつ, 胴体に関しては 7 個のボーンを設置し, 合計 61 個の
ボーンを使用した.
疑似餌と糸のモデルは縦方向の動きが必要なため, 回転/移動ボーンを利用した.
次に, それぞれのボーンで形状が変化する範囲とウェイト値の指定をする. 指定したボーンが回
転したり移動する際に一緒になって動く部分をモデルの頂点から指定していく. ウェイト値は頂点
が一緒になって動く際の影響度を表している. ウェイト値が低いほど指定したボーンに対しての頂
点の移動距離が短くなる. ここで, イカのモデルの胴の先に設置した IK ボーンを使用するとイカ
全体の挙動がおかしくなってしまう問題が発生したが, 胴の先の IK ボーンの影響下にある IK 影響
下(回転)ボーンの影響領域やウェイト値を調節したり, 胴の先の IK ボーンは使用せず回転ボー
ンを動かして胴の先の位置を指定することで問題は解決した.
そしてそれぞれのボーンを MikuMikuDance 表示用のボーン枠に追加してボーン設置作業は終
了となる.
読み込んだモデルにボーンを設置した後は MikuMikuDance で読み込むことのできる PMD 形
式のデータで出力する. この PMD 形式のデータにはここまで使用してきた 3D モデルの頂点座標
の情報と設置したボーンの座標, 種類, そのボーンを動かすことによって形状が変化する頂点の範
囲とウェイト値, 親と子のボーン, ボーン枠の情報などが格納されている.
(※文責: 石垣翔太)
Group Report of 2012 SISP
- 18 -
Group Number 18-B
Hakodate Avatar
図 4.4
形状変化する範囲とウェイト値の指定
• MikuMikuDance
MikuMikuDance はボーンデータが設置してあるモデルデータを読み込みそれぞれのボーンの動
きをパーツごとにフレーム(1 秒は 24 フレーム)単位で決定し, モデルをアニメーションにするこ
とができるソフトウェアである.
MikuMikuDance はボーンデータが設置してあるモデルデータを読み込みそれぞれのボーンの
動きをパーツごとにフレーム(1 秒は 24 フレーム)単位で決定し, モデルをアニメーションするこ
とができるソフトウェアである.
PMDEditor にて出力されたボーンが設置してある PMD 形式, あるいは PMX 形式のファイル
を読み込みモーションを作成していく. モデルを読み込むことに成功した場合画面に読み込んだ
3D モデルが表示され左側にある枠に PMDEditor で表示枠に追加したボーンの名前が表示される.
(図 4.5)
モデル上に表示されているボーンを動かし画面下部の枠にあるフレーム登録ボタンを押すと左側
の枠で指定されているフレームでのボーンの位置や角度が決定される. その後フレームを変えて同
様にしてボーンの位置や角度を変えてフレーム登録すると, フレーム間の動きが MikuMikuDance
内で補完され, なめらかな動きになって再生することができる. この作業を動かしたいボーンや
パーツごとに繰り返し行い, それぞれフレーム登録することによってより活き活きとしたアニメー
ションを作成することができる.
アニメーションが完成した場合はアニメーションするフレームの範囲を指定した後に VMD 形
式のファイルでエクスポートする. この VMD 形式のデータはアニメーションする際に, どのフ
レームでどのボーンがどのくらい動くのか, という情報が格納されているため, 3D モデル自体の情
報は格納されていない. そのため, この VMD 形式のファイルとボーンと 3D モデルの情報が入っ
た PMD 形式のファイルはどちらもプログラム上で使用することになる.
(※文責: 石垣翔太)
Group Report of 2012 SISP
- 19 -
Group Number 18-B
Hakodate Avatar
図 4.5
作業画面
• ARtoolkit
Web カ メ ラ の 映 像 か ら AR マ ー カ ー を 認 識 し モ デ ル を 表 示 す る と い う 手 法 を 用 い る た め,
ARToolkit を導入した. ARToolkit ライブラリのダウンロードページ
(http://sourceforge.jp/projects/sfnet artoolkit/releases/)か ら,
ARToolKit-2.72.1-bin-
win32.zip をダウンロードした. 今回は解凍して生成された ARToolkit フォルダを C:Y
=Program
Files 内にコピーし, 開発環境の Microsoft Visual Studio 2008 から設定を行い使用した.
成果物のプログラムは, PY 様が公開されている ARTK MMD
(http://ppyy.if.land.to/artk mmd.html)をベースとして作成した. ARTK MMD は Web カメ
ラでマーカーを読み込み, 読み込んだマーカーの上で MMD で作成された 3D モデルを描画しモー
ションを再生するプログラムである. ARToolkit の使用に関する Visual Studio の設定はこのベー
スプログラムで行われていたため, 設定されたディレクトリなどを確認して使用した.
(※文責: 南部由貴)
• Vuzix Standard SDK for Windows
これは今回使用した 6 軸センサーを利用出来るようにするためのもので, メーカーである Vizix
のホームページ Vuzix - view the Future Today(http://vuzix.com/) にて無料で配布しているも
のである. これをインストールしプログラム側でライブラリとインクルードファイルを参照する
ことでプログラム中において 6 軸センサーを利用する関数が使えるようになる. また, 「Vuzix
Standard SDK for Windows」には英語で書かれている「Vuzix Standard SDK for Windows」の
解説書の PDF とプログラミング言語の 1 つである C++ で書かれた 6 軸センサーを利用するサン
プルプログラムとも含まれており, 6 軸センサーの使い方がわからなくてもこれらを用いて使い方
を学ぶことが出来る.
「Vuzix Standard SDK for Windows」の導入の方法についてはメーカーサイトの Support の
中にある Developer Program からダウンロードした zip ファイルを解凍し, 解凍したフォルダの
中にある「vuzix eyewear sdk」と名前に入っているほうの exe ファイルを実行することでインス
トールできる.
(※文責: 小畑太樹)
Group Report of 2012 SISP
- 20 -
Group Number 18-B
Hakodate Avatar
• SDL mixer
VR アクアリウムでは, 音声再生には Simple Directmedia Layer(以下, SDL) というオーディオや
画像の再生などをすることのできるマルチメディアライブラリのオーディオ再生機能を持つ SDL
mixer というライブラリを使用した. SDL mixer の導入・設定方法としては以下の通りである.
Step1.
SDL のホームページ [2](http://www.libsdl.org/) のメニュー枠 Download の「SDL1.2」のリ
ンク先にある Development Libraries の「Win32:SDL-devel-1.2.15-VC.zip」(以下, I) をダウン
ロードした.
Step2.
SDL mixer のダウンロードページ (http://www.libsdl.org/projects/SDL mixer/) にある Binary の Windows:「SDL mixer-1.2.12-win32.zip」(以下, II ) をダウンロードした.
Step3.
I と II の Zip ファイルを解凍し, I フォルダの内にある include フォルダと lib フォルダに II の
フォルダ内にある include フォルダと lib フォルダを上書き統合した. I と II を統合させたフォル
ダは SDL という名前にリネームし, C ドライブの直下に置いた. なお, 開発環境のノートパソコン
は 32bit 機のため, I と II のフォルダ内にある 64bit 用の include フォルダと lib フォルダは使用し
ない.
Step4.
今回の開発環境である Visual C++ 2008 を開き, オプションを開き「プロジェクトおよびソ
リューション」の中の「VC++ ディレクトリ」を選択. ディレクトリを表示するプロジェクト
をインクルードファイルにして, 「C:Y
=SDLinclude」を追加する. 同様にライブラリファイルに
「C:Y
=SDLlib」を追加する.
Step5. プロジェクトのプロパティから構成プロパティを開き, C++ >全般>追加のインクルードディ
レクトリに「C:Y
=SDLinclude」を追加する. 同様に, リンカ>全般>追加のライブラリディレクトリ
に「C:Y
=SDLlib」, リンカ>入力>追加の依存ファイルに「SDLmain.lib, SDL.lib, SDL mixer.lib」
を追加する.
以上の工程で SDL mixer を使用するための環境の導入・設定を行った.
(※文責: 菅野雄太)
4.4
4.4.1
VR アクアリウムの製作
VR 技術の利用
ヘッドマウントディスプレイ
VR アクアリウムで使用する HMD は, 6 軸センサーと Web カメラが取り付けられ, ノートパ
ソコンに接続し使用できる状態にすることを製作目標としている. VR アクアリウムで使用する
Group Report of 2012 SISP
- 21 -
Group Number 18-B
Hakodate Avatar
HMD は, 6 軸センサーと Web カメラが取り付けられ, ノートパソコンに接続し使用できる状態に
することを製作目標としている.
購入した HMD は軽量のサングラス型で, 本体の上部に左右それぞれのイヤホンをさすイヤホン
ジャックがあり, ノートパソコンの VGA 端子に接続できる形で, 接続コードの途中にリモコンが
ついている形状になっている.
図 4.6 HMD
図 4.7 6 軸センサー
まず, 箱の中身で足りない部品がないか確認した. HMD 本体に, 付属品である専用イヤホン, リ
モコンつき VGA アダプター, 6 軸センサー, 説明書を確認し, 全て揃っていた. しかし, 説明書に
書いてある URL がリンク切れを起こしており, HMD のメーカーである「Vuzix」の日本語版公式
ページ [3] より, 6 軸センサーを利用するために必要な「Vuzix Standard SDK for Windows」と
サンプルプログラム, 解説書をダウンロードした.
次に, VGA 端子に接続して動作テストを行った. 購入前の情報で「文字などは潰れてしまって見
づらい」というものがあったので検証したが, 案の定パソコンのディスプレイに映る文字は見やす
いものとはいえなかった. しかし, 今回はイカ釣り漁の解説アニメーションを見るために使用する
ので, 許容範囲として使用することにした. なお, 個人によって違う画面の見え方の調整は, サング
ラスのレンズ部分についている 2 つのモニターを前後することで行うことができた.
HMD 本体が使用可能ということがわかり, 次に 6 軸センサーと Web カメラの取り付けを行っ
Group Report of 2012 SISP
- 22 -
Group Number 18-B
Hakodate Avatar
図 4.8 VGA アダプター
図 4.9
専用イヤホン
た. 6 軸センサーは HMD 本体右側に USB micro-B の端子があるのでそこに装着することで使用
可能状態にできた. Web カメラは HMD の上部に取り付けし, 輪ゴムを用いて固定して使用するこ
とにした.
これらにより HMD を目標の形状にし, 実際にプログラムを起動してアニメーションを視聴する
ことができるようになった.
発生した問題といえば, 耳に掛けて鼻で支える形のサングラス型の HMD であるため, Web カ
メラを取り付けるたことで重量が上がってしまったため, 片手で支えながらのアニメーション視聴
するという形になってしまったことである. また, 開発終盤にはプロジェクトメンバーの不注意で
HMD を落としてしまい, 落下の衝撃により HMD 側の接続端子部分を破損してしまうという事態
が起こり, 使用ができなくなってしまった. 最終発表ではもう 1 台を用いることで実機デモを行う
ことが出来た.
(※文責: 菅野雄太)
Group Report of 2012 SISP
- 23 -
Group Number 18-B
Hakodate Avatar
図 4.10 HMD と 6 軸センサーの接続
図 4.11 Web カメラの HMD への固定
6 軸センサーの利用
今回後期成果物で 6 軸センサーを利用するに当たり, まずはサンプルプログラムを動かしてどの
コマンドをどんな順番で使うのか, サンプルプログラムが正常に動いた場合どう動くのか, そこか
らそのコマンドがプログラム中で何をしているのかとどう使うのかの予想をつけ, 英語で書かれた
解説書の PDF で合っているかを確かめようとした. しかしサンプルプログラムには最近ではあま
り使われていない MFC と呼ばれるクラスライブラリが使用されており, サンプルプログラムを再
生に有償版の Visual C++ を必要としたのと分析に多くの時間を割くことになった. また分析の際
には各関数が呼び出されるたびに再生が止まるようにしてデバックを行い利用している関数と利用
していない関数及びどの順番で関数が利用されたかを調べ, 利用された関数の順番や頻度からどん
な役割を担っているかを予想した. その後, 必要と思われる部分だけを抜き出して新たにプログラ
ムを作成し, 正常に動くかどうかや必要な機能を満たしているかのテストを行いながらコマンドの
確認とどうすれば後期成果物のプログラムの本体に組み込めるかを確認していった.
(※文責: 小畑太樹)
Group Report of 2012 SISP
- 24 -
Group Number 18-B
Hakodate Avatar
図 4.12 デバック画面
図 4.13
サンプルプログラム
Web カメラの利用
今回, Web カメラは HMD に装着しノートパソコンに接続して使用する状態にすることを製作
目標とした. しかし, Web カメラ自体の HMD への装着は HMD の上部に Web カメラを固定する
だけなので容易に行うことができた.
ここで HMD への Web カメラ装着以外にやれることがないかと思案した結果, 「カメラキャリ
ブレーション」を行うとマーカーの認識精度をある程度向上できることがわかり, 実行することに
した. カメラキャリブレーションの概要と手順は以下の通りである.
• カメラキャリブレーション
Group Report of 2012 SISP
- 25 -
Group Number 18-B
Hakodate Avatar
Web カメラなどのカメラのレンズは, その製作会社や型番によって焦点距離やレンズの歪みに差
が生じていることがある. そのため, ARToolkit に最初から入っていて使用されるカメラパラメー
ターの camera para.dat ファイルは, 現在使用している Web カメラに合ったものとは限らない.
その Web カメラに合っていないカメラパラメーターは, マーカーの 3 次元位置, 姿勢を求める計算
や, 3D モデルを配置する処理が正確に行われず影響を及ぼす. また, 使用したい画面と比率の違う
Web カメラを使用し映し出された 3D モデルはなんらかのずれが生じたりする. その Web カメラの特性に合ったパラメーターがあってはじめて正確なマーカーの 3 次元位置,
姿勢を求めることができ, 3D モデルを目的の場所に表示させることができる. このように, より正
確な計測を行うためにカメラのパラメーターを求める行為をカメラキャリブレーションという.
• カメラキャリブレーションの手順
カメラキャリブレーションには 1 ステップキャリブレーションと 2 ステップキャリブレーショ
ンという 2 通りのキャリブレーション方法がある. 1 ステップキャリブレーションとは, 画像の重
ね表示をする上で十分な精度が得られる方法で, 2 ステップキャリブレーションは, 1 ステップキャ
リブレーションより行うステップが 1 つ多い, より高度な結果が得られ 3 次元計測に向いている方
法である. 今回は成果物の特性上あまり長時間マーカーを認識し続けるわけではないので計測が簡
単な 1 ステップキャリブレーションを行った.
図 4.14 calib dist
工学ナビ [4] を参考に Web カメラと特徴点シートを用いて以下の手順で行った. Step1.
「ARToolkitpatternscalib dist.pdf」を印刷し, 等間隔ドットのパターンを用意する. このとき点
の中心から隣り合った点の中心の長さをミリ単位で計っておき, 値を控えておく.
Step2.
「ARToolkitbincalib camera2.exe」を実行し, Step1 で控えておいた値を入力しエンターを押し,
Group Report of 2012 SISP
- 26 -
Group Number 18-B
Hakodate Avatar
出てきたダイアログでキャプチャー設定をし, 「OK」を押す.
Step3.
Step1 で印刷したパターンを平らな場所に置き, 24 個の点が画面内に全て収まるように写し, 画
面をクリックすることで静止画を取得する.
Step4.
マウスを使い Step3 で撮影した静止画の黒い特徴点の中心部分を左端上部から右へ, 右端に着い
たら 1 段下の左端から右端への順にクリックしていく. 24 個の特徴点全てをポイントする. やり直
す場合は [ESC] キーまたは右クリックをすると静止画取得前の状態まで戻ることができる.
Step5.
全ての特徴点をポイントした状態でクリックをすると, 再び撮影できる状態になる. キャリブ
レーションには 2 枚以上の静止画の情報が必要なため, Step3 と Step4 を再び行う.
Step6.
2 枚以上の静止画の特徴点にポイントし終わったら, 撮影できる状態の画面で右クリックを押す
ことで計算が始まり, 終わると静止画の特徴点に赤い対角線と交視線が表示される. 表示を確認し
たら画面をクリックする. そしてメッセージに「Calibration succeeded. Enter filename to save
camera parameter to below.」と表示されたら成功である. ファイル名を決めエンターを押すこと
でキャリブレーションは終了する.
Step7.
作成されたカメラパラメーターのファイルは「ARToolkitY
=bin」に生成される. そして, プログ
ラム上で使用されるカメラパラメーターの名前を差し替えれば作業は完了する.
キャリブレーションは, 焦点距離やレンズ歪みの補正値を計算するものなので, Step2 から Step5
までの工程を複数回繰り返し, 情報を多くすることでより正しい結果を得ることができる. また, 静
止画の撮影方法でも, 正面からの計測だけでなく斜めや横から撮影し, 計測を行うことでも安定を
図ることができる.
(※文責: 菅野雄太)
4.4.2
モデルの製作
3 D モデルの製作
• スルメイカ
今回スルメイカを制作するにあたって意識しなければいけないのはリアルに近いモデルを作ると
いうことであった. スルメイカは生物であるので出来るだけ無機質にならないように, さらに忠実
に再現する必要があったのでインターネット上でスルメイカの写真を集めることにした. その集め
た写真を参考にしてスルメイカの 3D モデル制作に取り掛かった. 制作の際に, リアル感の高いス
ルメイカの 3D モデルが欲しいという要件を満たすために, 再現性を高める目的でパーツを以下の
ように複数に分けて制作にあたることにした.
• スルメイカの耳
• 胴体
• 目玉
Group Report of 2012 SISP
- 27 -
Group Number 18-B
Hakodate Avatar
図 4.15 カメラキャリブレーション 2
図 4.16
カメラキャリブレーション
• 脚部
制作の上で注意した点は, スルメイカの脚部をなるべくリアルかつ, アニメーションの再生の際
に遅延が起きないようにポリゴン数を少なくして制作するということであった. また, スルメイカ
をよりリアルに再現させるには単色の使用だけではなく, 細かい箇所の陰影やスルメイカの皮膚の
模様も描き足すことが必要となった. そこで, よりリアルに再現するという目標を達成させるため
に, UV マッピング機能を用いた. UV マッピングとは簡単に説明すると, 3D モデルに絵を貼り付
けるというものである. その機能を用いて模様の描かれた画像にポリゴンの場所を指定すること
Group Report of 2012 SISP
- 28 -
Group Number 18-B
Hakodate Avatar
で, 複雑な箇所も単純な工程で再現することができる. 方法としては, まず UV 操作でポリゴンの
ワイヤーフレーム展開図を画像に書き出し, 1 枚の画像として出力させた. その出力させた画像を
元にワイヤーフレーム展開図に被さるようにペイントソフトで色を塗り, 陰影や皮膚の模様を描き
込んだ. 描き込みが終了したあとは再度 1 枚の画像として出力させ, 再び Metasequoia 上に読み出
した. その読み出した画像を材質として割り当て, 焼き込み機能を用いることで 3D モデル上に画
像を表示させた. 入出力に用いた画像はビットマップ形式で保存をした. これは, MikuMikuDance
でアニメーションを製作する際にテクスチャとして対応しているのがビットマップ形式であり, か
つペイントソフトにもビットマップ形式が対応しているので編集が容易であったことからである.
なお, 表示させたあとでも, ただ表示させるだけでは画像とモデルにずれが生じて違和感が生じて
しまうので, 再び UV 操作からワイヤーフレームの頂点を選択して正しく表示出来るように位置を
調整した.
(※文責: 三田村梨花)
• イカ釣り漁船
まずはじめに, ゼロから制作するのではなく, インターネットにフリー素材として 3D モデルが無
いか探した. その結果, フリー素材のイカ釣り漁船の 3D モデルがあったのでそれを使用すること
にした.
漁船モデルのページ
(http://www.clip-studio.com/clip site/material/search/detail/contentid/1227685). しかし,
このモデルはクオリティが高く頂点数が多く, 容量が大きいのでこのまま使用するとアニメーショ
ンが動かなくなることが予想できた. よって, 3D ポリゴンモデラー Metasequoia を用いて頂点数
を減らし 3D モデルの軽量化を図った. 元々のモデルの見た目を損なわないようにしつつ, 頂点数
を極力減らすようにした. 具体的には, 頂点数密度の濃い曲線の頂点数を減らし直線的にしたり, 円
形や球形の小さなモデルは頂点数を少ないモデルを新しく制作し差し替えた. さらに, 頂点と頂点
の中点を削除して頂点間に新しい面を生成することで見た目を全く変えることなく頂点数を減らす
ことができた.
(※文責: 守田航大)
• 糸
このモデルは他のメンバーが制作した疑似餌のモデルが必要なので, そのモデルの完成を待たねば
ならなかった. このモデルは疑似餌のモデルを複数コピーし, 疑似餌のモデルと疑似餌のモデルを
糸のモデルを糸のモデルで繋いだモデルにした. 頂点数削減のために, 糸のモデルは三角柱の細い
3D オブジェクトを制作し使用した. 実際の疑似餌の数は数十個あるが, 実際の数にすると多すぎて
疑似餌そのものが小さくなってしまう点, 頂点数が非常に多くなってしまい処理ができなくなる問
題があったので, 疑似餌の数を17個に制限して制作した.
(※文責: 守田航大)
• 疑似餌
疑似餌の 3D モデルを制作するにあたって事前にインターネット上でイカ釣り漁で使われている
疑似餌を探したのだが, どれも不鮮明かつ 360 度での資料が無い為, 和田雅昭教授に取材を行うこ
とにした. 取材の際に, 実際に見せていただいた疑似餌の現物を正面, 横, 後ろ, 俯瞰, 下とそれぞれ
Group Report of 2012 SISP
- 29 -
Group Number 18-B
Hakodate Avatar
の角度から写真に収めたものを使用しながら制作にあたった (図 4.18). 疑似餌はばねが内蔵され
たプラスチックの部品に, イカを釣るための針と糸を結ぶための金属のリングがあった. このよう
に疑似餌を現実世界のあるものと同じように制作しようとするとそれぞれの部品も忠実に再現する
必要があるので, 以下のように分けて制作を行うことにした.
• 疑似餌のプラスチック部分
• ばね
• リング
• 針
• 針を束ねる部分やキャップなどの細かい部品
ばねを制作する際に, 基本図形から選んで何も無い状態から忠実かつ均等に螺旋状のもの
を制作するの が困難と判断したため, Mash Brain というウェブページ (http://www.asahi-
net.or.jp/j̃v9h-msk) で公開されている, らせん Ver1.00 という螺旋状のオブジェクトを作るため
の Metasequoia 用プラグインをインストールすることでばねの制作にかかる時間の短縮に成功し
た. しかし, 出来上がったばねの 3D モデルをそのまま流用するとポリゴン数が多すぎてしまい, ア
ニメーションに負荷をかけることが判明したので, 負荷を回避するためにばね部分のポリゴンの頂
点数を 3D モデルの形が崩れずに形を認識できるレベルまで削ることにした. その結果, ばねの頂
点数が 1000 個以上あったものを 200 個程度まで減らすことができたので, 当初制作したものの頂
点数と比較して 8 割ほどの数を減らすことに成功した. さらに, 頂点数を極めて減少しつつばねの
形を保つことに成功した (図 4.17). プラスチック部分の再現をするにあたって, 現物が透けている
ものであるので, 素材パネルからプラスチックの色と同じものを割り当て, 不透明度を 1.00 という
デフォルトの設定から 0.70 まで下げることである程度透けているという点を再現することが出来
た. 針の部分は基本図形を基にナイフ機能を使用して頂点数を増やし, また増やした頂点を移動あ
るいは回転させることで針の反り具合を再現する必要があった. また, その針が本来では 1 つの段
に 16 本あるのだが, 針の頂点数が多いということと, 糸に付ける疑似餌の数が多いのでこのままだ
と容量を増加させてしまうので負荷がかかり, アニメーションの円滑な再生が出来ない可能性を考
慮して針の本数を本来よりも少ない 12 本にして, かつその少ない本数でも忠実に見えるように細
かい角度調整やミラーリングを用いて正確かつ対称的に針が配置されるように位置調整を行った.
ばね・リング・針などといった金属で出来ている部品は, ただ単色の素材を割り当てるだけでは陰
影を付けていないので色が平坦なものとなってしまい, 金属だということが分からないという状況
が起こった. その問題を解決するために, 素材の材質パネルから諸設定を選択し, 反射光と反射の強
さの数値を増やすことで他の部品よりも光が強く当たっているように調整して金属光沢を再現し
た. それにより, 部品それぞれに立体感が生まれ, また各部品の特色も取り入れることが出来たの
で, より再現度を高めることが出来た.
(※文責: 三田村梨花)
モデルのモーション製作
モーション作成の際にイカがイカ漁の際に水中でどのような動きをしているのかを調べる必要が
あった. そこで、本学の和田雅昭教授にイカ漁の際に水中のイカがどのような動きをするのかにつ
いてインタビューを行った.
その結果, イカの水中の泳ぎ方には二種類あり, 海水を体内に取り込んで目の付近にある漏斗か
Group Report of 2012 SISP
- 30 -
Group Number 18-B
Hakodate Avatar
図 4.17
バネの 3D モデル
図 4.18
疑似餌
らジェットのように勢い良く噴き出して素早く移動する泳ぎ方と, 胴体にあるエラを波立たせてう
ごかし, 水中でホバリングしながら移動や方向転換をする泳ぎ方(図 4.19)があることがわかった.
この 2 種類の泳ぎ方は状況によって使い分けられており, 漏斗からジェットのように水を噴出させ
る泳ぎ方では, 瞬発力があり, 一瞬で長距離を移動できるため, 主に天敵から逃げるときなどに利用
され, ホバリングのような泳ぎ方はその場に留まったり方向転換することが容易にできるために他
の生物を捕食するときや, 触手を使って何かをする時などに利用される.
疑似餌に関しては, 多数の種類があるが, 一般的な大きさのイカを釣るために使う疑似餌は 5 セ
ンチメートル前後の大きさで十分であることがわかった. そのため疑似餌の 3D モデルに合わせて
イカの 3D モデルの大きさの調節を行った.
(※文責: 石垣翔太)
Group Report of 2012 SISP
- 31 -
Group Number 18-B
Hakodate Avatar
図 4.19 イカの泳ぎ方
4.4.3
イカ漁再現アニメーションの製作
ストーリー
情報の収集と整理アニメーションの流れを考案する前に, イカ漁についての情報を集める. イカ
漁の動画や函館の漁業組合のウェブページなどからイカ漁の流れを調べ, ストーリーを構成した.
アニメーションに必要であろう 3D モデルや 3D モデルのモーションをまとめ, 3D モデル作成の担
当者への発注も同時に行う. イカ漁の前提知識が殆ど無い状態であったことから, 疑問に思った点
についてはその根拠は原理を理解するまで調査した. 収集した情報からナレーションによる説明と
クラちゃんの反応を決定するために, イカ漁再現アニメーションの流れを図 4.20 のように図式化
した.
図 4.20
アニメーションの流れ
この流れを元にストーリーを進行させ, 1 つのアニメーションとする.
Group Report of 2012 SISP
- 32 -
Group Number 18-B
Hakodate Avatar
• ストーリー構成
イカ漁の流れから, アニメーションによる説明と音声による説明を文章化する. アニメーションの
みでは, 現在何が行われているのかが明確でないことがあるため, ストーリーを動かすための音声
説明が必要になる. 唐突にアニメーションが開始されても, アニメーションを見た人には, 「このア
ニメーションは一体何か」を理解してもらえない. さらに, ただの説明だけではユーモアに欠け, 動
画やウェブページを閲覧するのと変わらない印象を受ける. そこで, 基本的なストーリーの進行を
ナレーションに任せ, 説明の合間のアクセントとしてクラちゃんを起用する. アクセントを用いる
ことで, 単調な説明音声を流すだけと比べて親しみやすいコンテンツになる.
• ナレーションとクラちゃんの台詞
ストーリーの進行役を務めるナレーションは, 子供のキャラクターであるクラちゃんと対比するよ
うに, 敬語で丁寧な口調とする. クラちゃんの口調は前期からの流用で, 明るく元気で, かつ親し
みやすいくだけた口調とする. これらを踏まえて, 上記で用意したアニメーションの流れやストー
リー進行の説明文章から台詞としての文章を抜粋し, ナレーションによる説明口調へ変換する. ま
た, 相槌のように適時クラちゃんの反応を織り交ぜることで, ただの口頭説明にならないような脚
色とした. 台詞の総数や長さは, ストーリーの進行役とアクセントという立ち位置の違いから, ナ
レーションの方が総数も長さもあり, 聞く人が飽きないよう, 言葉の使い方や言い回しに注意する.
また, クラちゃんは出番も台詞も少ないが, たとえ一瞬であっても人の耳に入るものなので, こちら
も言葉遣いに注意して台詞化を行った.
(※文責: 立松茉弓子)
プログラム
イカ漁再現アニメーションをプログラム上で実行するため, 以下の機能を実装した.
• Web カメラでマーカーを認識し, 3D キャラクターを表示
• 他のマーカーを読み込み, 3D キャラクターに触れると反応する
• アニメーションのストーリー進行
• より水中らしく見せるエフェクト
• 3D キャラクターの描画
最初に, 1 つのマーカーを読み込むことで複数の 3D モデルを表示する機能を実装した. PMD・
VMD を読み込む変数を複数用意し, それぞれに別のデータを読み込んで指定した座標に表示する
ことで, 複数のモデル表示を実現した. ストーリー実装時の効率性を考慮し, PMD・VMD を読み
込む変数は表示位置の座標や回転, 表示か非表示かなどの情報とともに構造体を用いることでまと
め, モデルごとにモーションの変更や表示位置・回転などの変更が容易に行えるようにした.
また, ARTK MMD ではマーカーが視認範囲内に存在している間のみモデルを描画する仕様と
なっていたため, (図 4.22)のようにマーカーが視認範囲から外れてもモデルを描画し続けるよう
改変した. マーカーが認識されていない時でもモデルを表示し続け, HMD に内蔵されている加速
度センサーの値を用いてモデルの移動を行うことによって, 空間を見渡すという動作を実現した.
ベースのプログラムでは, マーカーが認識されているときに 3D モデルの描画をオンにし, 視認さ
れなくなったらオフにするという処理を行なっていたため, 視認されなくなってもオフにしないよ
Group Report of 2012 SISP
- 33 -
Group Number 18-B
Hakodate Avatar
図 4.21 1 つのマーカーで複数のモデルが表示されている
う変更することで実装した.
図 4.22
マーカーが視界から外れてもモデルを描画する
成果物のデモは 3D モデル表示用のマーカーを壁などに貼り付けて使用することを想定したた
め, マーカーを認識したときに表示されるモデルの角度を調整した. これにより, (図 4.23)のよ
うにマーカーを縦に置いたときに正しい向きで表示されるようにした.
• 複数マーカー認識
次に, 他のマーカーを認識する機能を実装した. ARTK MMD では 1 つのマーカー認識にしか
対応していなかったので, マーカーを複数認識できるようにした. 複数のマーカーを認識する
ことで, 一方のマーカーを読み込むと 3D キャラクターが表示され, もう一方のマーカーを 3D
Group Report of 2012 SISP
- 34 -
Group Number 18-B
Hakodate Avatar
図 4.23 マーカーを立てたときに正しい向きになるように調整
キャラクターに近付けることで何らかの変化を起こすというアクション機能を実現した. 複
数マーカーの認識方法は Brays 様の公開されている複数マーカーを扱う記事(http://www.cg-
ya.net/imedia/ar/artoolkit multimarker/)から, マーカーを認識する部分を参照して実装した.
図 4.24 複数のマーカーを認識し, 別の 3D キャラクターが表示されている
• アクション機能
アクション機能の実装は, マーカーとモデル描画の行列を比較する方法で実現した. 3D モデルの描
画には位置や傾きなどを表す行列が使われているが, この行列を記憶することで 3D モデルの描画
位置を把握する方法を用いた. また, ARTK MMD ではマーカーの上にモデルを表示する仕様で
あったため, 表示用の行列を取得することでマーカーの位置を把握することができた. この 2 つの
位置が一定以上近似している場合にマーカーが 3D キャラクターに触れていると判定し, モーショ
Group Report of 2012 SISP
- 35 -
Group Number 18-B
Hakodate Avatar
ンの変化や音声が流れるなどの反応を起こすようにした.
図 4.25
マーカーによるアクションでモデルが
変化 (前)
図 4.26 マーカーによるアクションでモデルが
変化 (後)
初期段階では, マーカーと 3D モデルのそれぞれの変換行列から位置と拡大縮小成分を抜き出し,
2 つの値が近似していれば触れていると判定するアルゴリズムを考えた. しかし, 3D モデルの拡大
率がストーリーの実装にあたってプログラム途中で変更されることがあり, 値の取得が上手くいか
ずこのアルゴリズムでは判定が難しいということが判明した. そのため拡大縮小成分を抜き出すの
ではなく, 行列そのものを比較することによって判定を行えるようにした.
この点を改善して実装したアクション機能では, マーカーの位置の行列と 3D モデルの描画位置
の行列をそれぞれ取得し, 行列の全ての要素を比較し近似していれば触れていると判定する処理を
行った. しかし, この方法ではマーカーの位置の行列に回転などの情報も含まれているため, マー
カーをモデルに近づけてもマーカーとモデルの角度が違うと触れていないと判定されてしまうとい
う欠点があった. そのため, それぞれの変換行列から位置に関する情報だけを抜き出し比較するこ
とで, マーカーとモデルの角度が違っていても位置が近似していれば触れていると判定されるよう
に改善した.
また, 複数のモデルへの当たり判定実装にも対応した. ストーリー終了後イカやキャラクターに
触れると, 触れたイカに応じて 3 種類の音声が再生されるようにした. これは, それぞれの 3D モデ
ル描画時に描画用の変換行列を取得して保存しておき, マーカーの変換行列とそれぞれの 3D モデ
ルから取得した行列を比較する方法で実装した. 動作確認時, マーカーは平面的なものであること
や, マーカーが現実世界に存在していることに対し 3D モデルはプログラム上の仮想的なものであ
ることなどの理由から, マーカーと 3D モデルの距離は視認しにくいという印象を受けた. これを
改善するために, アクション用のマーカーを認識するとマーカー上に立方体を表示する仕様とした.
これによりプログラム上の 3D モデルの位置を比較することでより 2 つの距離感を視認しやすく
した.
• ストーリー実装
ストーリーの実装では, 考案したストーリーに合わせて 3D キャラクターの移動や音声再生がさ
れる機能を実装した. 加えて, 特定の場面でアクションを行うとストーリーが進行するといったイ
ンタラクションを実現した.
キャラクターの複雑なモーションは VMD ファイルを読み込み適用することで実装したが, 移動
や回転, 震えなどの簡単な動作はプログラム上での描画位置変更によって実装した. 3D モデルの描
画位置や回転などは変更しやすいように調整したため, これを利用してストーリー通りに 3D キャ
ラクターが移動や回転を行う処理を行った. 実装の際に, そのまま値を入力するだけでは 3D キャ
Group Report of 2012 SISP
- 36 -
Group Number 18-B
Hakodate Avatar
ラクターの位置が一瞬で遠くに移動してしまうので, (図 4.27)のようにキャラクターの位置を少
しずつ変更して目標地点まで移動するように見せるアニメーションを実現させる点において工夫を
行った. ストーリー中で 3D キャラクターが寒さに震える場面があるが, これは移動アニメーショ
ンを応用したもので, プログラム上で表示位置を左右に少しずつ変更し続けることで実現した.
図 4.27 3D キャラクターのアニメーション
ストーリー用のフラグを用意し, 値を切り替えることでストーリーの進行を実装した. フラグの
値の切り替え方法は, マーカー認識時, 音声再生終了時, キャラクターの動作終了時, アクション
時を検知し, これらのタイミングで値を切り替える方法を使用した. またフラグを任意の値に変更
することでストーリー上の任意の場面に移動することができるため, 場面の追加・削除を比較的容
易に行えるよう工夫した. キャラクターに触れるアクションの動作を特定の場面で行うために, ス
トーリー用のフラグを利用した. マーカーが 3D モデルに触れているかどうかを判定した後, アク
ションが必要な場面であれば次の動作を行い, そうではない場面の場合は何もしないという処理を
行うことで実装した.
• 水中エフェクトの追加
アニメーションをより水中らしく見せるために, 画面全体に青のフィルタをかけたようなエフェク
トを実装した. エフェクトの描画はキャラクターの描画時に影を描いていた部分を流用した. 3D
キャラクターの影は(図 4.28)のように半透明に描かれているため, この描画をキャラクターの形
ではなく画面全体に適用することでフィルタ効果を実現した. さらにフィルタの色を変更し暗め
の青にすることで, 水中のように薄暗く青みのかかったフィルタを実装した. この水中エフェクト
に加え, 空間の上部に水面のモデルを描画することで, あたかも水中にいるかのような映像を再現
した.
(※文責: 南部由貴)
キーボード操作について
HMD に内蔵された加速度センサーと同等の動作をキーボードで行うための機能を実装した. こ
れによりプログラム単体でも全体を見渡すなどの動作をできるようにした.
Group Report of 2012 SISP
- 37 -
Group Number 18-B
Hakodate Avatar
図 4.28 3D キャラクターの影
あたかもユーザーが首を回して空間を見渡す動作を行なっているように見せるため, キーボード
を押すとそれに応じて 3D モデルを回転させる処理を行うプログラムを作成した. しかし, 実装初
期の段階では(図 4.29) のように「自分がその場で回転する」のではなく, (図 4.30)のように「自
分が 3D モデルのまわりを周る」という状態になっていた. このような不具合が発生した原因は,
3D モデルの回転の中心となる点が自分の位置ではなく 3D モデルの中央に存在していたために,
3D モデルがその場で回転してしまっていたためであった.
図 4.30 視点移動(誤)
図 4.29 視点移動(正)
これを改善するため, (図 4.31)のように原点を自分の位置へ移動し, モデルの位置を移動して
元の位置に戻すことで, 自分を中心に回転する視点移動を実装した. これにより, 「首を回して空間
を見渡す」といった動作が可能となった. ベースとしたプログラムでは視点の位置を取得し, キャ
ラクターの顔をカメラの方に向ける機能が搭載されていたため, これを利用して視点の位置を取得
し原点の位置を視点の位置へ移動した. 原点の位置を移動した後は視認範囲に 3D モデルが描画さ
れるように描画位置を変更して調整を行った.
ただし, この状態では首を回して見渡すといった回転動作は実現したが, 自分が左右へ移動する
動作や前進・後退の動作ができないため, 回転動作の他の移動に関する動作を別に作成した.
Group Report of 2012 SISP
- 38 -
Group Number 18-B
Hakodate Avatar
図 4.31
原点の移動とモデル位置の修正
上下左右の移動はモデルの描画位置を変更し, 前進・後退は 3D モデルのサイズを拡大・縮小す
ることにより実現した. 描画位置とサイズ変更は, OpenGL でサポートされている機能を使用した.
右に移動するときは 3D モデルを左に移動するなど, 視点移動と反対方向にモデルを移動すること
によって視点が移動しているように見せる手法を用いた.
矢印キーだけで移動と回転の全ての動作を実現するのは不可能であったため, キーボードの割り
当てを工夫することで全ての動作をキーボード上で行うことができるようにした.
キーボードで回転や移動を行うと, 時々 3D モデルを見失ってしまうことがあった. 3D モデルが
見えないところにあるとプログラムの続行が困難になることが予想されるため, 視点の位置を初期
状態に戻す機能を追加した.
(※文責: 南部由貴)
4.5
4.5.1
音響
音声製作
• 録音時の注意点
キャラクターを演じる上で, イントネーションや抑揚・発音をわずかに変えるだけでキャラクター
の年齢や雰囲気が変わってしまうため, キャラクターのイメージを壊さないよう気を付けなければ
ならない. 特にクラちゃんは, 滑舌をやや悪くすると年齢がより幼く聞こえてしまうため, なるべく
はっきりと話すように注意が必要だった. ナレーションは, クラちゃんと対比するようにやや大人
という印象を付けるため, より聞き取りやすいスピード・滑舌・発音・抑揚を求める. 録音時, マイ
クは手に持つかマイクスタンドに立てる形をとったが, マイクを握り直す時にグリップ音が入った
り, 誤ってマイクスタンドを倒してしまったりして、編集で修正できない音が入らないように注意
して録音する.
• マスタートラックへのエフェクト掛け
Group Report of 2012 SISP
- 39 -
Group Number 18-B
Hakodate Avatar
セリフの録音終了後, 全ての音声データの編集作業に入る. マスタートラックに音響効果 (以下, エ
フェクト) を掛けることで, 各トラック音量を 1 つ 1 つ調整することを避け, 前期では手間のかかっ
ていた作業を簡略化することができた. マスタートラックとは, 個別に分けられたトラックを全て
まとめたもので, 最終的に出力する音を管理するトラックである. マスタートラックにエフェクト
を掛けたり, マスタートラックの音量を調整したりすると, その調整は全てのトラックに影響を及
ぼすため, 今回はコンプレッサーとイコライザーを使用した. コンプレッサーは, 対象の音源中の最
大音量と最小音量の差を縮めるためのエフェクトである. コンプレッサーを用いることで, 特別目
立ってしまう音の音量が小さくなり, 非常に目立ちにくい音量が大きくなる. マスタートラックに
コンプレッサーを用いると, 各トラックに個別に録音された音声の最大音量と最小音量の差を縮め
るため, 全ての音声の音量がほぼ均一化される. これにより, 前期ではそれぞれの音声の音量を細か
く調整していた作業を省くことができた. また, イコライザーとは, 特定の周波数領域の音量を調
整するエフェクトである. イコライザーにはいくつか種類があるが, 今回使用したイコライザーは
低音域・中音域・高音域の 3 つの音域における音量を調整するものである. クラちゃん及びナレー
ションの声優は女性であるため, 中音域から高音域にかけての声が発声しやすく, 低音域は発声し
にくい傾向にあった. クラちゃんの場合は幼いイメージ設定から声が高いため高音域に, 比べてナ
レーションは落ち着いた口調であるから中音域に調整が必要であった. 声優が同じでも喋り方や声
の作り方によってエフェクトの調整が必要であったため, クラちゃんの音声とナレーションの音声
は分けて編集した.
• 細かい音量調整
単純に音量を上げてしまうと, 音声の台詞やその人の発音の仕方によって簡単に音割れが起こって
しまう. 音割れとは, 音量を上げ過ぎることによりバリバリというノイズのような状態になってし
まうことである. 音が割れていると, 聞く人に不快感を与えることが多い上にその音だけが悪目立
ちしてしまう. 図 4.32 は, 全く編集をしていない状態の波形と音量で, 一見するとそれなりの音量
があるように見える. しかし, いざ音源化してみた時, この状態では非常に小さく聞こえてしまうた
め, 図 4.33 のようにゲージを上げなくてはならない. 但し, 先述の通り音割れが起こってしまうと,
ノイズのような音になってしまうため, 上げ過ぎてはいけない. REAPER では, 音割れが起こると
図 4.33 の左に見えるゲージの上の部分が赤く光る. この状態にならないよう, 各トラックの音量や
エフェクトによる音量の調整を行った. また, 赤枠で囲んだ箇所は急に音が強くなっている. これ
は, 発声や言葉の発音によるもので, 音声そのものの音量を上げた際, 音割れの原因になりやすい.
さらに, 音声全体として不自然な音量バランスになっている場合が多いため, このような突出した
箇所は手動で細かく微調整を施し, 図 4.34 のようにした.
図 4.32
修正前
• レンダリング
録音に使用した REAPER では, 録音した音声, 取り込んだ音源データは REAPER でのみ使用で
Group Report of 2012 SISP
- 40 -
Group Number 18-B
Hakodate Avatar
図 4.33 修正後1
図 4.34 修正後2
きる特殊なファイルに変換して保存される. そのため, REAPER 上で編集中のデータは, 通常の音
楽再生プレーヤーで再生することはできない. 但し, 元の音源データを改変しないため, 編集には非
常に便利である. 編集したデータを通常のプレーヤーで再生できるようにするために, REAPER
で編集したデータはファイルを書き出す作業 (以下, レンダリング) が必要になる. レンダリングで
は, 全てのトラックをまとめて 1 つの音源ファイルとして. wav の拡張子を持つファイルを書き出
す. 今回, 各トラックに台詞を 1 つずつ録音しているため, レンダリング時には書き出したい音源
のあるトラック以外のすべてのトラックを無音状態にする必要がある. 無音状態にしていないと,
REAPER 上で同時刻上にある複数の音が重なって聞こえる音源ファイルができてしまう. さらに,
たとえ無音状態にしていても, レンダリングした音源を再生してみると, 音声が終わった後に不自
然な無音が続く. これは, 書き出される音源ファイルの長さが最も長いトラックに合わせられるた
めである. REAPER では, 全てのトラックのデータが再生し終わる最終終了時刻までがマスター
トラックの終了時刻となる. 複数のトラックを同じ編集領域で扱っている場合, レンダリングした
トラックよりも遅い時刻上にデータが存在すると, たとえ無音状態にしていても「データの再生が
完了していない」と REAPER が認識してしまう. これを回避すべく, レンダリング時には実際に
台詞が入っている時間だけを抽出するよう, トラックごとに必要な秒数を 0. 1 秒単位で指定した.
• 音声の分割
本グループのアニメーションでは, 主にナレーションによる音声説明が多く使われている. そのた
め, ナレーションが長く喋っている音声は, プログラム上で効率的良くアニメーションを動かすた
めに分割する必要がある. 例えば 3D モデルのモーションが変化する時に音声が長く繋がっている
と, モーションの変化するタイミングをプログラム側で調整しづらくなってしまう. アニメーショ
ン全体の動きや話の区切りなどの関係から, プログラム製作の担当者からの要請で音声を分割し
た. なお, REAPER 上で短く分割した音声データの再レンダリングする場合, 先述の方法では 1
つ 1 つ出力する音声データの時間を設定する必要があり, 作業に作業が重なって余計な手間がか
かってしまう. その手間を省くために, 分割編集には SoundEngine というソフトウェアを使用し
た. SoundEngine は, . wav 形式のファイルを 1 つ読み込み, 編集したデータを同じく. wav 形式
で出力する比較的簡単な音声録音及び編集が可能なフリーソフトである. しかし, 1 度につき 1 つ
の音声データしか扱うことができないため, 利便性の違いから録音時には使用していない. すでに.
Group Report of 2012 SISP
- 41 -
Group Number 18-B
Hakodate Avatar
wav 形式でレンダリングした音源ファイルを SoundEngine に取り込み, 分割する際に不要になる
部分を削除して再出力し, 分割したファイルをプログラムに起用した.
図 4.35 SoundEngine
• ファイル数削減
プログラムに音源ファイルを使用する際, 3D モデルのモーション変更に合わせることから, 音声
データはあまり長く 1 つにまとめない方が使用しやすいと考えていたが, 初めから音声を細かく分
割していなかった理由として, 管理のしやすさが挙げられる. 音声があまりに短く途切れ途切れに
なっていると, ファイル数が増えてしまうだけでなく, 編集作業及びレンダリングの手間が倍増し
てしまう. ファイル数が増えてしまえば, プログラム製作の担当者にもデータ管理という負担がか
かってしまい, 他の作業に取り組む時間をデータの確認や管理に当てなければならなくなると考え
たからである. 必要最低限のファイル数に留め, 音源ファイル製作の担当者及びプログラム製作の
担当者の負担を軽減するため, 要請があるまでは音源ファイルの分割を行わなかった.
(※文責: 立松茉弓子)
4.5.2
BGM・SE
BGM 及び SE は, 本グループでは作成せず, フリー素材サイトから選出して使用させていただい
た. 海中の様子を見るアニメーションであるから, あまり騒がしい音のない, かつ比較劇明るい曲調
で, 聞いている人がリラックスできるような BGM を選出した. また, SE は使用する箇所こそ少な
いものの, アクションを起こす時に無音ではインパクトに欠けるため, ゲームなどに使われる SE
の中でややコミカルテイストのある SE を起用した. しかし, そのままプログラムで使用すると音
量が大きすぎたため, 別途音量を調整し直す必要があった. BGM 及び SE の音量も, 音声製作で利
用した REAPER を使用し, 調整を施した.
(※文責: 立松茉弓子)
Group Report of 2012 SISP
- 42 -
Group Number 18-B
Hakodate Avatar
4.5.3
再生
VR アクアリウムでは, イカ釣り漁の解説アニメーションを流すため音楽を再生するためのプロ
グラムが必要となった. そこで, 最初に「DX ライブラリ」を使用して, 音楽再生のプログラムを組
むということになった.
DX ライブラリの使用
DX ライブラリとは, DirectX というマイクロソフトが開発している音楽や画像, 様々なデバイ
スを扱うためのライブラリを使いやすくラッピングしたライブラリである. 環境導入も簡単であり,
音楽再生のために書くプログラムソースも少なくて済むという利点から DX ライブラリを使用す
ることにした. 導入の手順は以下の通りである
Step1.
DX ライブラリ置き場」[5](http://homepage2.nifty.com/natupaji/DxLib/) の「DX ライブラ
リのダウンロード」というリンクから, 今回の開発環境に合わせた「DX ライブラリ VisualC++
用 (Ver3.09b) をダウンロードする (自己解凍形式 (約 14.4MB))」をダウンロードする.
Step2.
ダウンロードしたファイルをダブルクリックで実行, 解凍しでてきた「DxLib VC」フォルダ内
の「プロジェクトに追加すべきファイル VC 用」とかかれたフォルダを「DxLib」にリネームし C
ドライブ直下に置く.
Step3.
Visual C++ 2008 を開き, オプションを開き「プロジェクトおよびソリューション」の中の
「VC++ ディレクトリ」を選択. ディレクトリを表示するプロジェクトをインクルードファイルに
して, 「C:Y
=DxLib」を追加する. 同様にライブラリファイルに「C:Y
=DxLib」を追加する.
図 4.36 DX ライブラリ
Group Report of 2012 SISP
- 43 -
Group Number 18-B
Hakodate Avatar
問題と方針変更
導入が完了し, VR アクアリウムのプログラムに音声を再生するプログラムを記述し, 実行する
がエラーが検出された. 原因の詳細は不明だが, 恐らくは ARToolkit と DX ライブラリが競合し
てしまったことだと考えられる. 他のことが原因の可能性も否定できないが, 技術的に詰まってし
まったのでその時点で DX ライブラリによる音楽再生は中止し, 代案として「SDL mixer」という
ライブラリを使用して音楽再生を試みることにした.
SDL mixer の使用
DL というゲームなどのマルチメディア関係のソフトウェアを開発するための, グラフィックや
サウンド等の API を提供しているライブラリがある. SDL mixer とは SDL の内で様々な音声形
式をサポートする補助ライブラリである. 導入 (4.3 環境の導入・設定に記載) が完了し, 単純再生
を実行して競合も起きていないことを確認したので, 順次単純再生以外の必要な機能を付加してい
くことにした. 付加した機能は以下の通りである.
• マーカー認識時から再生される BGM のためのループ再生の機能.
• BGM と SE・音声を同時再生させる機能.
• フラグ処理を使ったイカ釣り漁のアクションにあわせて SE・音声を変更する機能.
以上の機能を付加し, VR アクアリウムのデモ版として最終発表に出展した.
図 4.37 SDL
(※文責: 菅野雄太)
Group Report of 2012 SISP
- 44 -
Group Number 18-B
Hakodate Avatar
第5章
結果
VR アクアリウムの製作
5.1
5.1.1
VR 技術の利用
ヘッドマウントディスプレイ
VR アクアリウムの肝ともいえる HMD の利用に関しては, HMD に 6 軸センサーと Web カメ
ラを取り付けた状態で, ノートパソコンに接続し, 実際にアニメーションを視聴できる状態にする
という当初の目的を達成することができたので, 機器としての性能は果たすことができたという点
では成功したといえるだろう.
しかし, 重量が当初の想定より重くなってしまいサングラス型の HMD では支えきれずに, やむ
を得ず片手で抑えながらの使用となった点や, HMD 本体の落下の衝撃によって付属していた 6 軸
センサーを破損させてしまうなどの管理の甘さが目立った. 改善すべき点として以下があげられる.
• HMD 本体の形状を考慮せずに組み上げ設計をしてしまったところがあるので, プログラム
の構想の設計だけでなくハードの設計の話し合いの場を持つべきだった.
• HMD の重量が重いと分かったときに, すばやく具体的な対策を講じるべきだった. 例えば,
前期の VR システムでしようした HMD ように布ゴムを使用し, ずり落ちないように改良す
るなど.
• 機材の大切さを理解し, 不注意で破損してしまうことのないように機材管理をしっかりする.
また, 今回は 2 台購入していて対処することができたが, 高価なものは替えがきかないこと
の方が当たり前という考えを持つこと.
(※文責: 菅野雄太)
6 軸センサーの利用
結果として後期成果物への 6 軸センサーの利用はある程度成功したと考えられる. その理由とし
て 6 軸センサーからの値を受け取り表示している 3D モデルに動きを反映させるというのはある程
度意図した通りに出来たからである. ただし成功がある程度であるのはジャイロセンサーのヨー,
ロール, ピッチの 3 軸の利用は実装できたが, X, Y, Z の 3 軸の加速度の利用が出来なかったこと,
また, これに伴いその場での首を振ったときの動きは反映できたが, 前後左右へ歩くなどの動きに
は対応させられなかったからである. さらにその場での首を振ったときの動きに関しても意図しな
い反映のされ方が見られた. おそらくこれらの原因は 6 軸センサーから受け取った値の利用の仕方
が正しくなかったからと考えられ, 6 軸センサーの利用に関しては出来てはいるが改良の余地は大
きいという結果となった.
(※文責: 小畑太樹)
Group Report of 2012 SISP
- 45 -
Group Number 18-B
Hakodate Avatar
Web カメラの利用
Web カメラの利用に関しては, 形状が適正であり適当な解像度を持つものを, HMD に装着し
ノートパソコンに接続して使用できる状態にすることができた. また, カメラキャリブレーション
を行うことでマーカーの認識率を向上させるということもできたことから, Web カメラの利用目標
には達することができたといえるだろう. しかし, 本体重量が重く HMD に固定して使用した際
に, 片手で抑えながらでないと HMD がずり落ちてしまうという事態が起きてしまった. この問題
に関しては, Web カメラを購入する際に本体の詳細の下調べをすることで, 今後重量がありすぎる
という事態は防ぐことができると考えられる.
(※文責: 菅野雄太)
5.1.2
モデルの製作
3 D モデルの製作
• スルメイカ
結果としては当初の想定通りのものに近づけるように制作することが出来た. UV マッピングを
使用して 3D モデル制作を行った結果, 単色のみの使用では再現することが出来ない立体感を生み
出す事が出来, またスルメイカの体の細かい模様や陰影をペイントソフトを用いて描いたことで,
より現実世界のスルメイカの質感に近い 3D モデルを制作することが出来た. 3D モデルの容量も,
ポリゴンの頂点数は当初 2000 個以上あったのだが, 最終的には 700 個程度で収めることができた
ので, 3D モデルの容量を少なくすることに成功した. よって, 当初の目標どおり, リアルかつ低容
量でのスルメイカの再現を行うことが出来た. 実際に完成したスルメイカの 3D モデルは, 実際に
見た人からは, 本物のスルメイカに近い, 細かい箇所までよく再現出来ていたとの声を多くいただ
いた (図 5.1).
図 5.1 スルメイカの 3D モデル
(※文責: 三田村梨花)
Group Report of 2012 SISP
- 46 -
Group Number 18-B
Hakodate Avatar
• イカ釣り漁船
イカ釣り漁船の最初の容量は 7991KB であったが, 軽量化を図った結果 4963KB まで容量を減ら
すことができた. 見た目をあまり損なわずに軽量化する事ができた. しかし, まだ突き詰めれば軽
量化ができ, メモリへの負荷をより軽くし, コンテンンツとしてより見やすくできたのだが, 時間が
足りなくてそこまではできなかった. アニメーションとして再生に困難では無い領域までは軽量化
することができた.
(※文責: 守田航大)
• 糸
疑似餌のモデルを 17 個まで増やし, それぞれの間に釣り糸のモデルを配置して統合した. 実際にア
ニメーションとしては 2 本使用した.
(※文責: 守田航大)
• 疑似餌
出来るだけ形を損なわずに, かつ 3D モデルの容量を軽減させるためにポリゴンの頂点数を減ら
すことを意識しながら減らして制作した結果, 当初制作した 3D モデルと比較して 3D モデルの頂
点数を大幅に削ることに成功し, 3D モデルの容量を抑えることが出来た. この調整した 3D モデル
をアニメーションに用いたら, 最初アニメーション用に渡した疑似餌の 3D モデルを使ったときよ
りもアニメーションの動作が軽くなり, アニメーション制作への負担がだいぶ軽減されたとの報告
を受けたので, 当初の目標を達成することが出来た. 頂点数は最初に完成したものは 2000 個程度
で, かつアニメーションで疑似餌を 20 個近く使用する関係から負荷を大きくかけることとなって
いたが, 最終的には頂点数を 1020 個と, 当初制作した 3D モデルの約半数まで頂点数を減らすこと
に成功した. 最終発表で用いたアニメーションでは距離の関係上近づいても疑似餌の確認がしにく
く, 実際にデモンストレーションを体験した人からは疑似餌がよく見えなかったとの声をいただい
たが, アニメーション内のものではなく, 疑似餌の 3D モデル単体で大きく表示された状態で見た
人からは, 内部のばねや金属の質感, プラスチックの透明度までうまく再現されていたとの声をい
ただいた (図 5.2).
(※文責: 三田村梨花)
モデルのモーション
イカ釣り漁船, 疑似餌と糸, イカのそれぞれにボーンを設置した PMD 形式の 3D モデルデータ
の制作と, イカ釣り漁船の糸を巻き取る機械とスクリューの回転, 疑似餌と糸と疑似餌に掛かった
イカの上下, イカのホバリングのような泳ぎ方とジェット噴射のような泳ぎ方のそれぞれを VMD
形式でのモーションデータの制作を行った. 完成した 3D モデルデータとモーションデータはプロ
グラム上で再生され, 仮想空間上でイカ漁をよりリアルに再現するための要素となる.
(※文責: 石垣翔太)
Group Report of 2012 SISP
- 47 -
Group Number 18-B
Hakodate Avatar
図 5.2 疑似餌の 3D モデル
5.1.3
イカ漁再現アニメーションの製作
プログラム
アニメーションでイカ漁のイメージを再現するプログラムを実装した. 認識するマーカーのパ
ターンは図 5.3, 図 5.4 の 2 種類を用いた. 図 5.3 は壁などに貼り付けて, 図 5.4 は指に装着して使
用するものとした.
図 5.3 パターン1
図 5.4
パターン2
プログラム起動後, 図 5.3 を Web カメラで認識すると 3D キャラクターが表示され, 同時に音声
で諸注意が再生される. 以降音声に従ってストーリーが進行し, ユーザーはイカ漁のアニメーショ
ンを楽しむことができる. 図 5.4 を認識するとマーカー上に立方体が表示される. プログラム上で
3D キャラクターに触れるアクションが可能な場面が提示されると, このマーカーを使用してアク
ションを行うことができる. マーカー上に表示された立方体を当たり判定の目安として 3D キャラ
クターに近付けることでストーリーが進行する.
Group Report of 2012 SISP
- 48 -
Group Number 18-B
Hakodate Avatar
(※文責: 南部由貴)
キーボード操作について
キーボードによる各動作を以下の通りに割り当てた.
• F キー:右回転
• S キー:左回転
• E キー:上回転
• D キー:下回転
• L キー:右移動
• J キー:左移動
• I キー:上移動
• K キー:下移動
• Z キー:奥移動
• X キー:手前移動
この他に, キーボードによる操作として Esc キーを押すと音声で終了メッセージが流れてプログ
ラムが終了するという処理を追加した. また, 移動・回転によって 3D モデルを見失った場合への
対処として, 0 キーで画面位置を初期状態に戻す機能を追加した.
(※文責: 南部由貴)
5.2
音響
音源データの調整
アニメーションを再生するプログラムでは, 音源データの音量を調整できないため, 実際にプロ
グラム上で音源データを再生し, 音声や BGM 及び SE との音量バランスを確認し, 再調整した. プ
ログラム上での音量バランスを考慮しなければならないため, プログラムを調整している担当者と
何度も確認し, 導入のテストを繰り返した. 再レンダリング時に音質に関わるビットレートを下げ
たことから音質の悪化が懸念されていたが, 突出した音質の悪化は見られず, 無事導入することが
できた.
(※文責: 立松茉弓子)
5.2.1
音声製作
再レンダリング
レンダリングした音源ファイルを, プログラムを製作しているメンバーに提出したが, プログラ
ム上で音声を再生できないという問題が発生した. ビットレート数 (1 秒あたりに送受信できる
データ量) が, そのプログラムで再生できた音に比べて非常に高かったことが原因であるとみられ
る. REAPER のレンダリング設定にてビットレートを高くしていると思われる数値を調整し, 全
ての音源ファイルを再レンダリングする. 最初のレンダリング時のビットレートが 2000kbps を超
えており, これを再レンダリングにより 1500kbps まで下げることで, プログラム上で再生するこ
Group Report of 2012 SISP
- 49 -
Group Number 18-B
Hakodate Avatar
とが可能になった.
(※文責: 立松茉弓子)
再生
5.2.2
VR アクアリウムでの BGM・SE・音声の再生に関しては, ループ再生が必要な BGM や複数音
源の同時再生やアニメーションにあわせた再生が必要な SE・音声ともそれぞれ必要な再生方法で
再生することができたので成功といえるだろう. また, 始めに使用しようとしていた DX ライブラ
リによる再生が, ARToolkit との競合によって出来ないと判断した後, 切り替えをすばやくし代案
である SDL mixer による再生機能の実装作業に取り掛かり, 機能の実装ができたところは良かっ
た点として上げられる.
しかし良くなかった点としては, DX ライブラリと ARToolkit が競合したという体験の情報が記
載しているサイト [6] があったことから, 下調べが足りなかったという点. また, 全体を通してライ
ブラリ導入から再生機能の実装までに時間がかかり過ぎているところがあり, 統合作業の実行を遅
らせてしまったという点が挙げられる. これらの点のような問題を起こさないためにも, 作業に移
る前に事前の下調べをしっかりし, 使うことのできるものと使うことのできないものを選別してお
くことが, 間違いを少なくして時間を節約することに繋がるだろう.
(※文責: 菅野雄太)
5.3
最終発表について
5.3.1
最終発表について
ポスター
ポスターはメインポスター1枚と AR パンフレット班のポスター 1 枚, VR アクアリウム班のポ
スター 1 枚を制作した. メインポスターには全体の概要, 成果物, スケジュールについて述べた. こ
のポスターでは, HMD を装着したメンバーの写真と AR パンフレットの写真をメインに構成した.
VR アクアリウムのポスターでは目的, 役割分担, 使用機材と仕組み, モデル制作, 実装した部分と
問題点について述べた.
VR アクアリウムのポスターでは使用したモデルの写真, モデルの製作中のスクリーンショット
を使用した. さらに, 使用した機材の写真と実際に HMD で見ている映像の写真を組み合わせてわ
かりやすくなるように工夫した. さらに図を用いて仕組みをわかりやすくした. 中間発表では黒を
基調としたポスターのため, 光が反射し文字が見づらいという意見があったので, 今回は白を基調
としたポスターにした.
(※文責: 守田航大)
スライド
スライドの内容は目的, 班編成, モデリングについて, システム・仕様について, 成果物, 今後の
展望についてを書いた. スライドでは写真や図などを多く使用し, 聞き手がより理解しやすいよう
にした. 文字は最低限のみ使用し, 説明のほとんどは口頭でする事にした. 現存する実際のイカ釣
Group Report of 2012 SISP
- 50 -
Group Number 18-B
Hakodate Avatar
り漁の水中の様子の映像をスライドに入れ, このアクアリウムの必要性を提示した. 写真や図は聞
き手が理解しやすくなるように心がけて選択した. 発表者が自身のタイミングでスライド操作がで
きるようにリモコンを使用した. 当日では, 実際に VR アクアリウムを体験することができたが,
1 人ずつしか体験できなかったので多くの人に体験することはできないことが予想された. 多くの
人にどのような物ができたかを見てもらうためにスライドの中にデモムービーを取り入れた. デモ
ムービーには実際に HMD を装備しているメンバーの頭の動きとメンバーが HMD で見ているア
ニメーションを取り入れた. VR の映像は被験者の見ている映像が PC のディスプレイに映るので
ディスプレイの映像をキャプチャーした. 現実のメンバーの動きはビデオカメラを使用して撮影し
た. デモムービーは初めに被験者がどのように動いているかの映像の後に, VR アクアリウムの映
像が流れるようにした.
(※文責: 守田航大)
発表
最終発表は前半と後半にメンバーを分けた. VR アクアリウム班からは発表者は 3 名, デモ班は
5 名であった. メンバーの服装は発表者, デモ班共に全員スーツで統一した. 最終発表ではポスター
を展示し, スライドを用いて発表を行った. さらに, 実際に VR アクアリウムを体験してもらうた
めのデモも用意した. デモでは 2 台の HMD を使用し, 最大 2 人の人間が体験することができたが,
1 台の HMD が前日に破損してしまったため, 1 人ずつしか体験できなくなった. デモはマーカー
の認識が悪く 1 回 1 回が長くなってしまい, あまり体験されなかった.
発表では事前に練習を重ねたが, 緊張や練習不足か何度も言葉に詰まっていた. 1 回目より 2 回
目, 2 回目よりも 3 回目と徐々に慣れたのか言葉のつまりは少なくなっていった. 発表後の質問で
は冷静に対処していたが, 発表後の質問では以下のようなものがあった.
• わざわざ VR にしなくてもよいのではないか?
• なにか新しい技術に挑戦したか?
• VR アクアリウムの社会的価値はあるのか?
• 背景が実画像なのはなぜなの?
• 実際に使う予定はあるのか?
などが挙げられた.
(※文責: 守田航大)
5.3.2
成果の評価
最終発表を終えてのアンケートで以下のような意見・評価をもらった.
• VR アクアリウムの利点をあげることで必要性を考えるべきだ
• 光の加減など調整して表現をよりリアルにできたらいいだろう
• シミュレーションと実際の動きとの誤差はないのか
などの評価があった. 全体的にはあまり良い評価は少ないように見えた.
Group Report of 2012 SISP
- 51 -
Group Number 18-B
Hakodate Avatar
前半
解答人数: 34 名(2 年 5 名 3 年 15 名 4 年 5 名 M 11 名 教員 3 名 職員 3 名 一般 2
名)
発表技術の平均点:7. 53 点
発表内容の平均点:7. 37 点
後半
解答人数: 37 名(2 年 4 名 3 年 16 名 4 年 13 名 M 21 名 教員 1 名 職員 1 名 無記入 1
名)
発表技術の平均点:8. 21 点
発表内容の平均点:7. 33 点
合計
解答人数: 71 名(2 年 9 名 3 年 31 名 4 年 18 名 M 11 名 M 21 名 教員 4 名 職員 4
名 一般 2 名 無記入 1 名)
発表技術の平均点:7. 87 点
発表内容の平均点:7. 35 点
(※文責: 守田航大)
Group Report of 2012 SISP
- 52 -
Group Number 18-B
Hakodate Avatar
第6章
6.1
課題と展望
当初の成果目標
成果目標は, 場所を選ばない VR アクアリウム, イカ釣り漁を水中から見ることができるコンテ
ンツの制作であった. 初めの成果目標はリアルな海辺を再現し, そこで泳ぐ魚や水中生物を眺め, デ
ジタルだが一つンバを共有し, 新しいコミュニケーションのツールとして, 新規のデートスポット
として役立つコンテンツの制作であった. しかし, このコンテンツでは「社会的価値が非常に少な
い」かつ「短期間でリアリティある物の制作が困難」という理由で改善が検討された. 次に,「水中
から眺める」というコンテンツであれば貴重なもので, かつ海辺よりも難易度が下がると考えられ,
水中で魚や海中生物の動きを眺めるコンテンツの制作が検討された. しかし, このコンテンツでは
函館の要素が少なく函館アバターに見合わないのではないか?等の理由が挙げられ, 変更を余儀な
くされた. そこで, 函館と言えば何か?函館には何があるか?などの疑問からイカ・イカ漁が挙げ
られた. そして, 函館の産業の一つであるイカ漁の様子を水中で眺めるのはどうか?という案が挙
げられた. 実際のイカ漁の水中の映像はなく, 撮影するのも困難なので社会的価値もあるだろう, 函
館をアピールするならば機材を持ち運びどこでもその映像を見られ, その映像を見て函館でイカを
食べたくなってもらえばいいのではないかという理由でイカ釣り漁を水中から見るコンテンツを制
作する事になった.
(※文責: 守田航大)
6.2
結果を踏まえて
最終的に本グループで製作したものは, 水中から観察するイカ漁の再現アニメーションである.
アクアリウム班という名目で活動していたグループ B の成果物であるが, アクアリウムという言葉
からは若干イメージの異なるものができたと思われる. しかし, 普段あまり見られない視点から漁
の観察ができることは, 今までにない試みとして一利の価値があると考えられる. また, HMD の加
速度センサーが使用不要に陥った場合の代替機能である, キーボード操作による視点の移動および
回転を行う機能は, 高機能で高価な HMD でなくとも, 安価な Web カメラを使用してもアニメー
ションを視聴できるようにするためのものであり, 1 台しか用意できなかった HMD 無しにプログ
ラム統合前の動作確認を行うことができた. 製作過程においてもこの機能の有用性は高く, 数が限
られているキーボードに視点に関する機能を 1 つ 1 つ割り当てた甲斐はあったと思われる. 将来的
に, このキーボード操作による視点の調整を自動で行う機能が実装できれば, よりいっそう便利で
質の高いコンテンツを作り上げることができると想定される. 後期での成果物は, 本グループで活
用し切れなかった機能を残すだけでなく, 次年度の後輩が生かせるような技術を残すことができた
と思う.
(※文責: 立松茉弓子)
Group Report of 2012 SISP
- 53 -
Group Number 18-B
Hakodate Avatar
6.3
課題
全体の反省点として, 6.1 に記述した成果目標に「機材を持ち運びどこでも映像を見られる」とあ
るが, 携帯性のない成果物となってしまった点が挙げられる. HMD を使用することから PC との
連携が必須であったが, スマートフォンやタブレット PC 上で動かせるものであれば, 携帯可能な
コンテンツとなったと思われる.
プログラム面では, アニメーションを再生したりアクションを起こしたりするためのマーカーの
認識が困難であったことが挙げられる. プログラムの製作途中でも時折マーカーの無い場所を誤認
識するがあったが, 最も解決が困難であったのは, アクションを起こす際のマーカーと 3D モデル
との当たり判定である. マーカーを 3D モデルに近づけると, その 3D モデルのモーションが変更
されるというアクションであったが, 手に付けた小さなマーカーを近づけたり遠ざけたりしてもな
かなかアクションが起こらず, アニメーションが進まない事態が起こってしまった. 当たり判定の
大きさや当たり判定を置く距離等の調節が難しく, 動作テストを重ねたがこれを十分に解決するま
でに至らなかった, また, アニメーション内にて, 視点の前方向に 3D モデルが集中していたことも
反省点として捉える. 周りを見渡せる VR 技術を用いているにもかかわらず, 成果物でできたのは
視点の上方に表示した 3D モデルを見上げる程度にとどまり, VR 特有の機能をあまり生かしきれ
ていなかった.
音響面では, 音声による説明を起用していたが, 大学のような国際交流の起こりうる場所で公開
する場合, 日本語にのみ対応させていたことが悔いるべき点である. 日本語に慣れていない人から
すると, アニメーションだけではイカ漁を具体的に理解することができず, 漁船や釣り糸, 疑似餌,
イカについての詳しい説明が殆ど無意味になってしまう. 音声や文字による説明に頼る場合, 言語
の壁をいかにして取り除くかが課題である.
(※文責: 立松茉弓子)
6.4
今後の展望
本グループで製作したイカ漁再現アニメーションは, VR 空間内でイカ漁の様子を観察できる 3D
アニメーションである. 6.1 の通り, 当初の成果目標では「場所を選ばない VR アクアリウム」で
あったが, 6.3 で記述した課題にも挙げたように, 持ち運び可能なコンテンツにはならなかった. 前
期に引き続いて使用した HMD も気軽に購入できるほど安価なものではない上, PC で起動しなけ
ればならないプログラムであることから, 携帯性を求めることは難しい. しかし, 「通常とは異なっ
た視点から見る」ことのできるシミュレーション的アニメーションは, ただの動画で見るよりも
様々な角度から対象を観察することができ, かつ VR 空間を利用することでそこに存在しない物を
周囲に出現させることができる. ゆえにイカ漁にこだわらなければ, 周りを見渡す・見上げる動作
が行えるため, 水中や空中における物事の再現をすることが可能である. 物事の再現に必要な物を
揃えたり, その場所へ行ったりしなくても, プログラムを起動するのに必要な環境さえ整えれば, 誰
にでも間近で, 様々な視点から物事の様子を観察することが可能になる.
本グループの成果物では, 視界の前方向に 3D モデルを集中させていたこともあり, 今後の展望
として, 360°の全方向に 3D モデルを配置し, また距離や加速度を検知することで「アニメーショ
ン視聴者が歩きまわり, 自由に視点を変更できる」ことも可能になるのではと思われる. HMD と
Group Report of 2012 SISP
- 54 -
Group Number 18-B
Hakodate Avatar
PC とを繋ぐケーブルによって移動範囲を制限される可能性は高いが, 携帯デバイスを使用する, ま
たは HMD を無線で接続することができれば, より汎用性に優れたコンテンツが作成できる可能性
が高まることを期待できる. 近年ではスマートフォンが流通しており, スマートフォン向けのゲー
ムやアプリケーションを開発している増えてきていることから, このようなプログラムを図 6.1 の
ような携帯デバイスで利用できるものに改良できたならば, 函館を PR することのできる, 社会的
価値のあるものへと昇華できるかもしれない.
図 6.1
携帯デバイス
(※文責: 立松茉弓子)
Group Report of 2012 SISP
- 55 -
Group Number 18-B
Hakodate Avatar
第 7 章 各メンバーの活動まとめ
7.1
7.1.1
プロジェクトにおける活動報告
川又康平
プロジェクトリーダーとしての活動
プロジェクトリーダーとして, プロジェクトでは主にマネジメントを担当した. プロジェクトの
作業の中心にはあまりかかわらず, 客観的な視点で広く様々な作業に関わり, 主にアドバイザーの
ような活動をメインに行った. また, プロジェクトの全体的な進行係として, なにか全体で話し合う
ことがあった時等は司会者役を務めた. プロジェクトメンバーとはなるべく密にコミュニケーショ
ンを取り, 問題発生時にはすぐさま対処できるように心がけた.
プロジェクトで発生した問題等によってスケジュールに狂いが生じた場合等にはグループリー
ダーと話しながらスケジュールや作業日程の変更を行った. 作業日程の変更に伴って, 各メンバー
の作業内容の変化が起きる. その際にメンバーが自分の行う作業について混乱しないように纏める
作業も行った.
前期ではリーダーとして多くの反省点を見つけ, 後期ではその見つけた反省点を活かしてマネジ
メントを行った. 問題発生時には前期より素早く対応することができ, またメンバーが混乱するこ
とが少なかったので前期よりはうまくマネジメントができたのではないかと思われる. しかし, 後
期は後期で別の反省点を見つける機会にもなった. 確認を多くしすぎたあまり, 同じ情報を何度も
聞くことになり, その分メンバーの作業時間を取ってしまった. ちょうど良い確認の方法を熟知し
ていなかった点があげられる. またリーダーとしてマネジメントを行う機会があれば今後はその反
省点を活かし, さらなるリーダーとしてマネジメント力に磨きをかけたいと考えられる.
(※文責: 川又康平)
成果発表会で使用したデモムービー制作やポスターの作製
成果発表会で使用するデモムービーの制作を行った. デジタルカメラを用いて, 実際に本プロ
ジェクトで制作した成果物を利用している様子を動画で撮影した. さらにパソコン画面上で動作し
ているプログラムをキャプチャーできるものは動画としてキャプチャーして, 集めた動画を編集し
てデモムービーを制作した. 発表時間は限られているので, 短い時間で成果物がどのようなものか
伝わるデモムービーの制作を心がけた.
また, VR アクアリウムのポスターの作製作業を行った. AR パンフレットで作製するポスター
とレイアウトを一致させ, あまりかけ離れすぎないように調整しながら作製を行った. 自分たちが
どのような学習をしてきたのかという内容が伝わるように気を配り, なるべく写真や図を多く使い,
読ませるのではなく見せるポスター作りを心がけた.
(※文責: 川又康平)
Group Report of 2012 SISP
- 56 -
Group Number 18-B
Hakodate Avatar
中間・最終成果発表の発表者としての活動
中間・最終成果発表のどちらも発表者を担当した. 大きな声で滑舌よく, 聴いてくれる人が集中
できるような発表を目指して取り組んだ. 発表に用いたプレゼンテーションのスライドに合わせて
自分の発表がなめらかになるように練習し, 実践した. 前期では調子よく発表することができ, 質疑
応答の時間ではうまく返答することができたと考えられる. しかし後期では, 練習の時間をあまり
多く取ることができず, また多くの人がきたこともあり, 一回目の発表では緊張からうまく発表を
行うことができず, 練習の大切さを痛感した.
(※文責: 川又康平)
その他活動
プロジェクト全体で通達したい事柄等を, 「Skype」
「サイボウズ Live」を利用してプロジェクト
メンバー全体へ連絡をすることや, プロジェクトの活動の様子を写真に収める等の雑務をこなした.
また, プロジェクト全体から教員への連絡や相談があればその橋渡し役等を務めた.
(※文責: 川又康平)
7.1.2
小畑太樹
私は前期にはプログラムを作成する班のグループリーダーを, 後期には 2 つあるグループのうち
の一つのグループリーダーをと 1 年を通してグループのリーダーを勤めさせてもらった. 前期に
おいてはほとんどのことが初めてで, 手探りをしながらのスタートでグループのメンバーへの指示
があやふやであったり, 順次達成すべき小目標の設定が甘く, 小目標として成り立っておらず指導
教員の方々にアドバイスを受けたり, それに伴いスケジュールが途中で破綻してそのままであった
りなど多くの至らなさを実感させられた. 後期にグループリーダーを任された際に前期の経験か
ら, 必要な機能やデータとそれがいつまでにできていなければいけないかのスケジュールをしっか
りと決めて調整しなければ最終発表の日ぎりぎりまで焦らなくてはならなくなるとわかっていた.
しかし現実はそう簡単にはいかず, 当初挙げた必要な機能やデータに足りないものがあったり, ス
ケジュール通りに作業が終わらず, ずれ込んだりと前期に近い光景が繰り返された. それでもプロ
ジェクトリーダーの助けを借りながらスケジュールを建て直し, 機能やデータを現実的な仕様に変
更するなどして最終発表までに間に合わせることが出来た.
またグループのリーダーとしての仕事以外では, 前期では音声を再生するプログラムを, 後期で
は 6 軸センサーを利用して表示したモデルに現実での動きを反映させるプログラムを担当させても
らった. 前期のプログラムでは当初利用しようとした API では上手く次に続けられないというこ
とで焦ったものの, グループのメンバーの助けを借りつつも別な API を使用して無事に作成するこ
とが出来た. 後期のプログラムでは 6 軸センサーから値を受け取り, それを表示したモデルに反映
させるということを行ったが, 当初はサンプルプログラムを動かすことも出来ずその原因を突き止
めるのにも時間がかかってしまった. さらにはサンプルプログラムが動かせるようになっても, サ
ンプルプログラムの動きを把握して今回必要な部分だけを抜き出し動くかどうかテストするという
段階でも予定以上に時間がかかってしまっていた. それに加えて値を取り出せるようにはなっても,
値の利用方法が正しくなかったのか表示したモデルに値を反映した際に意図したものと違う動きを
することが判明し, それを最終発表までに完全に修正することが出来なかった.
Group Report of 2012 SISP
- 57 -
Group Number 18-B
Hakodate Avatar
図 7.1
センサーから取り出した値の一部
(※文責: 小畑太樹)
7.1.3
石垣翔太
前期
前期において自分はコンテンツ班に所属して主にグループリーダーとストーリー作成の作業に従
事してきた.
コンテンツ班
前期でコンテンツ班は, 室蘭工業大学とはこだて未来大学の交流のシンボルとなるようなキャラ
クターを作成した. キャラクターはそれぞれ函館は代表的な海産物であるイカから, 室蘭は代表的
な産業である鉄鋼業とホエールウォッチングが盛んという点からモチーフを取って, クラーケンか
ら名前をとったクラちゃんとホエールから名前を取ったホーくんを作成した. なお, 会議の際には
コンテンツ班のグループリーダーとして積極的にファシリテーターとして進行していき, 班員の意
見を聴きだした. キャラクターを作成した後はストーリー作成とモデル・モーション制作と分担し,
並行して作業を行った. 私はグループリーダーとして各人員の進捗を確認しつつストーリー作成の
作業にも当たった.
ストーリー作成
まずは, VR システムを用い, ユーザーが再生されているものにリアルタイムで干渉でき, ストー
リーが分岐するマルチエンディングのインタラクティブなアニメーションを作るという目標をメン
バー全員で決定した. 次にストーリー班の中で内容をどのようなものにするかを考えた. ブレイン
ストーミングで物語として使用するにはどのようなジャンルが適切かを挙げていき, 候補として,
Group Report of 2012 SISP
- 58 -
Group Number 18-B
Hakodate Avatar
キャラクターがダンジョンを進んでいくアドベンチャー方式のものと, キャラクターが函館と室蘭
のそれぞれを観光案内してくれる案内方式のものに絞った. その後, それぞれで VR システムを用
いたインタラクティブなアクションイベントとしてどのようなものが考えられるかを挙げていっ
た. アドベンチャー方式のストーリーはプレイヤーのアクション性は高いものの, 室蘭と函館の交
流の架け橋として作ったキャラクターがその役割を果たし辛いということで, 最終的に函館と室蘭
のそれぞれの街をキャラクターが観光案内するというストーリーに決定した.
次に観光方式のストーリーでは具体的に何処を案内すれば良いのかを検討した. 室蘭と函館でそ
れぞれの観光名所と呼ばれるものを挙げていき, どのような流れで案内するかを決定した. 取り敢
えず成果物の形として発表するには少なくとも片方のストーリーは完成していなくてはならないの
で, まずは函館の観光地を案内するストーリーの細かいところをを作成していくことにし, 紙芝居
のようなストーリーボードを作成した.(図 7.2) その後, コンテンツ班のモデリング担当メンバーや
技術班と話し合い, 修正を加えてストーリーの細かい部分を作成していき, それを元にセリフの作
成をした. キャラクターのボイス担当の声優をストーリー作成班から 2 名選出し, 録音した. 残り
のメンバーはセリフの際に必要なキャラクターや背景のモデル, モーション等を盛り込んだフロー
図をエクセルにて作成した. (図 7.3)
中間発表時には室蘭編の完成は困難であったためエクセルのフロー図を作成したが, 完成には至
らなかったが, その後の活動で完成に至った.
図 7.2
ストーリーボードのサンプル
図 7.3
Group Report of 2012 SISP
函館編のフロー図
- 59 -
Group Number 18-B
Hakodate Avatar
実際に出来たストーリー
函館編
中間発表のデモンストレーションに使用した函館編のストーリーの内容を要約すると以下のとお
りになる.
1. キャラクターに物理エンジンを搭載して持ち上げたり落としたりできる物理エンジンが体験
できる時間. -函館と書かれた台座を配置し, そこにキャラクターをスタイラスで持って行く
とストーリー開始となる.
2. 場面変更して公立はこだて未来大学前にてそれぞれのキャラクターの自己紹介.
3. 更に場面変更して五稜郭タワーの案内.
4. 五稜郭タワーの脇にある花の咲いていないさくらの樹をスタイラスでクリックすることに
よって咲かせるアクション.
5. 函館山の展望台に場面変更して函館山からの夜景をバックにエンディング.
室蘭編
室蘭編のストーリーの内容の要約以下のとおりである.
1. キャラクターに物理エンジンを搭載して持ち上げたり落としたりできる物理エンジンが体験
できる時間. -函館と室蘭と書かれた台座を配置し, 室蘭と書かれた台座にキャラクターをス
タイラスで持って行くとストーリー開始となる.
2. 場面変更して室蘭工業大学前にてそれぞれのキャラクターの自己紹介.
3. 更に場面変更して地球岬の案内.
4. 望遠鏡をスタイラスでクリックすることでホエールウォッチングができるアクション.
5. 祝津公園展望台に場面変更して白鳥大橋の夜景をバックにエンディング.
後期
後期においては, 私は VR アクアリウム班に所属して各 3D モデルを動かすモーションデータの
制作に取り組んできた他に、イカ漁に関する取材、最終成果物発表の際のプレゼンターを担当した.
イカ漁に関する取材
よりリアルなコンテンツを制作するためにイカ漁についての調査を行った. まずはインターネッ
トにてイカ漁に関してを調べた. その結果, イカ漁の漁火にイカは寄ってくるのではなく, 避けるよ
うにして泳ぐのではないかという疑念が生まれた. ほかにも, イカの水中での詳しい泳ぎ方, イカ漁
の見どころなど数々の疑問点が浮上した. そこでグループメンバーと共に和田雅昭教授に対してイ
ンタビュー形式の取材を行った. 取材内容は以下のとおりである. イカ漁の船について, イカに漁
火があたった時の動き, 餌について, イカの泳ぎ方, イカ漁で特に見せるべきポイント, イカの美味
しい食べ方, これらについてインタビューを行った.
結果として, イカは普段群れを作らないためにそのままの状態で漁をすると, 密度が低いために
網や仕掛けにかかるのに効率が悪い. そこでイカ釣り漁船では漁火を使い, イカを集めて糸に付い
ている疑似餌で釣るという方法がとられているということがわかった. イカは本来光を嫌って生
活をしており, 普段は夜間にしか海の浅いところまで上がってくることはない. これは漁火に関し
Group Report of 2012 SISP
- 60 -
Group Number 18-B
Hakodate Avatar
ても同様であり, イカ漁の際漁火が当たったイカは光を避けるようにして泳いでいき, イカ釣り漁
船の下に集まるようにして漁火は当てられることがわかった(図 7.4[7]). イカ釣り漁船の漁火は
法律によって最大個数が決まっており, 最大 60 個の白熱灯によって海を照らす. 最近ではエネル
ギー効率や環境への配慮として光量を落としたり LED 電球を使う船もアルとのことである. その
後, 船の下に集ったイカは夜間は 60 メートルから 80 メートルまで垂れ下がっている糸につけてあ
る疑似餌にかかる. 疑似餌の大きさは 10 センチメートルほどであり, 他にも疑似餌の種類はある
が, 一般的な大きさのイカを釣るための疑似餌としてはこの大きさで十分ということであった. イ
カ漁の速さというのはこの疑似餌の針が単位時間あたりどのくらい上がったかで決まるということ
も聞くことができた.
昼間は基本的にイカ漁を行わないが, もし行うとしたら糸は 200 メートルの深さまで疑似餌のつ
いた糸を垂れ下がらせなければならない. 光が苦手なイカは昼間は水面近くまで上がってこないと
の事だった.
イカ漁の見どころはやはりイカがあがってくる瞬間であるとのこであった.
イカの泳ぎ方は漏斗から水を吹き出して急速で泳ぐ方法とヒレを動かしてゆっくりと泳ぐ方法と
の 2 種類があり, イカは状況によってそれらを使い分けていることもわかった. イカの美味しい食
べ方については刺身や日本酒漬けなどではないか, とのことだった.
他にも撮ることが非常に難しいイカ漁の水中の映像も見せていただくことができ(図 7.5), コン
テンツ制作をする際の参考とした.
図 7.4
Group Report of 2012 SISP
イカ漁
- 61 -
Group Number 18-B
Hakodate Avatar
図 7.5
イカ漁の動画
各モデルのモーション
和田雅昭教授に行った取材で得た情報とインターネット等で得た情報を元にモーションを制作し
ていった. 制作したモーションはイカのヒレを動かす泳ぎ方のモーション, 漏斗から水を噴出する
泳ぎ方のモーション, 船から糸が垂れ下がっていくモーション, 疑似餌に掛かったイカが糸と共に
巻き上げられていくモーションの 4 種類である.
イカのモーションはボーンを多く設置して稼働する関節を多くしたためかリアルに表現すること
が出来た. ただし, イカは基本的に横向きに泳ぐので, 今回作成したモーションの用にイカが立泳ぎ
のように縦方向に泳いでいる場面は少ない. 触手に関しても重力で多少垂れ下がったりするので,
今後はより自然な動きとリアルさを出すためには自然界の動きに近いモーションを作成して行き
たい.
最終成果物発表
最終成果物発表にてプレゼンターを担当した. プレゼンテーションの内容としては全体の概要,
VR アクアリウムについて, AR パンフレットについて, という流れであった. そのうち私は全体の
概要について担当した. プレゼンテーションとは単に台本を暗唱するのではなく相手に伝えるべき
ことを伝えなければならないため, 伝えたいことについての要点をまとめる必要がある. 実際の発
表の際はその要点が相手に伝われば良いのでわかりやすいように説明すればよいのである. その際
にスライドや身振り手振り, 実際にデモンストレーションするといったことが効果的であり, 聴衆
の視覚に訴えるというのは非常に大きな力を持っていることがわかった.
反省
前期では, グループリーダーとして活動してきたのだが, 同時にストーリー作成の作業にも当
たっていたためか, 各班員への情報伝達が疎かになりがちであった. また, スケジュール管理も適切
ではなかったように思う. ただ, ストーリー作成作業の他にも会議で積極的に意見を出したり司会
Group Report of 2012 SISP
- 62 -
Group Number 18-B
Hakodate Avatar
進行もすることができたため, 結果的にはプロジェクトに貢献できたように思う. 後期では, モー
ションデータの制作を主な活動としてきた. 前期ではほとんど手をつけていなかったソフトウェ
アを使用していたため, ほとんどゼロからのスタートと言って良い状態であった. しかしインター
ネットを駆使したり同じプロジェクトメンバーと協力してよりよいモーションデータを作成できた
ように思う.
(※文責: 石垣翔太)
7.1.4
立松茉弓子
イカ漁再現アニメーションにおけるストーリーの作成及び音声データの作成, BGM・SE の選出
と調整を行った. ストーリーを作成するための情報収集で, 3D モデルの作成や 3D モデルのモー
ション付けの担当者の参考になるような情報もまとめて整理した. ストーリーの流れをプログラム
の製作担当者と話し合いながら図示し, それを文章化し, 書き言葉と話し言葉に注意しつつナレー
ションとクラちゃんの台詞への変換を行った, 音声データは収録から編集まで一人で行い, BGM
と SE はアニメーションの雰囲気に合うものをフリー素材から選出した. 音量バランスは, プログ
ラムの製作者と確認を取りながら慎重に調整した. また, 前期で不十分だったグループ内の情報共
有は, プロジェクト全体の定期的な会議やグループごとの定例会議だけでなく, 可能な限りプログ
ラムの製作担当者から直接プログラムについての説明を聞いて補完した. 反省点は, 音声データを
作成し, プログラム製作担当へ提出するまでに時間がかかってしまったことである. これは, 録音し
た後の音声データの確認を怠ったことが原因で, 途中で音声が途切れていたり, ソフトウェアの問
題でノイズがかかってしまっていたりしたにも関わらず, 全ての音源を取り終えた後に編集作業へ
移行しようとして録音の再収録を余儀なくされてしまったためである. グループメンバーとの情報
共有及び確認は随時行っていたが, 自分が担当する音声データに関してやや蔑ろになっていたこと
は, 想定外の時間浪費につながってしまった. 今後, 防ぐことが可能なミスで時間を浪費しないよ
う, 確認作業は怠らずに慎重に行っていきたい.
(※文責: 立松茉弓子)
7.1.5
守田航大
私は前期, 後期を通してコンテンツ班に所属し, 主に 3D オブジェクトの背景・セットの制作とア
ニメーション制作を担当した. 制作には 3D ポリゴンモデラー Metasequoia, 3D モデル編集ソフト
PMDEditor, 3DCG ムービー制作ツール MikuMikuDance, ペイントツール Pixia を用いた. 前期
では五稜郭タワー, 室蘭工業大学, 地球岬を制作した. 五稜郭タワーはタワー本体と展望台, アトリ
ウムを作り, 室蘭工業大学は正門, 本部棟, 教育・研究 2 号館 Q 棟(以下 Q 棟), 教育・研究 3 号
館 N 棟(以下 N 棟)を制作した. 地球岬は灯台及び崖, 海を制作した. 初めの, まだ作るものが決
まっていない時はインターネット上の Metasequoia の講座を見ながらコップやバットといった小
物を作り基本的な操作や物の作り方を学んだ. 制作するときは本物の写真を見ながら作業した. 五
稜郭タワーは実際にその場を訪れてどのような構造になっているかを観察した. 室蘭工業大学と地
球岬は実際に訪れることはできなかったので写真と画像を見ながら制作した. 建物の制作では主に
「基本的な図形の生成」のコマンドを使用する. これは長方形の面や円柱や円錐, 球体などを簡単に
制作することができる. さらに「ナイフ」ツールを使う事でオブジェクトを分割し, 不必要な部分
Group Report of 2012 SISP
- 63 -
Group Number 18-B
Hakodate Avatar
を削除することができる.
五稜郭タワーはまず支柱を制作し, 次に展望台, アトリウムの順で制作した. 支柱は星型なので,
初めに十角柱を生成し各点の x 座標, y座標を変更して星型にした. 次に展望台だが, 展望台は第 1
展望台と第 2 展望台があるので, 下から順に床を制作した. さらに展望台の中央にエレベーターの
通路を制作することでリアリティを増した. そして展望台の外張りを中が透けて見えるようにガラ
スのような素材にした. ガラスの外の柱を 1 本 1 本丁寧に制作し, クオリティを上げた. そして, 展
望台の上の電波塔を制作した. 展望台から上の写真や画像が少なく, あまり多くの情報が無かった
ので半分想像で制作した. 次にアトリウムだが, 不明瞭な形をしていたので, 幾つかの図形を組み合
わせた. まず五稜郭タワーの直接下になっている部分は十四角柱で制作し, 他の箇所は直方体を 2
つ組み合わせた. 組み合わせた時に余計な部分は「ナイフ」ツールを使い削除した. さらにアトリ
ウムは 1 階がガラス張りなので, 1 階と 2 階にモデルを分け, 1 階はガラスのような素材にし, 2 階
はコンクリートのような素材にした. アトリウムの壁には支柱があるので, それも再現した. 五稜
郭タワーでの改善点は全体の縮尺が見た目になっていて正確なものではない事, 電波塔の再現度が
低い事だ.
図 7.6
五稜郭タワー
室蘭工業大学は実際に訪れることはできなかったので, 実際に訪れたメンバーの写真とインター
ネット上にあった画像を見て制作した. 最初に塀を制作した. 塀は直方体をを複数用いて制作した.
次に Q 棟を制作した. Q 棟はまず直方体を制作した. そして, 窓を制作した. 窓は小さな直方体を
制作し, それをコピーしていった. 窓はガラスなのでガラスに見えるような素材を使用した. 支柱
と玄関の屋根と階段もそれぞれ直方体で制作した. 次に本部棟を制作した. 本部棟も Q 棟とほぼ同
じ工程だが階段の数や窓の数に違いがある. 次に N 棟を制作した. N 棟は他の建物と窓の構造が少
し違う. ガラスを横の長い直方体で表し, 縦の支柱をクロスさせることで, 窓を表現している. N 棟
は Q 棟と本部棟と違う色なので, 実際のものと近い糸で制作した. 次に中庭を制作した. 中庭は,
芝と木からなっており, 芝は幾つかの四角形を組み合わせて制作し, 木は球体と円柱で制作した. 芝
には草のテクスチャを使用した. 木はリアリティを求めると頂点数が多くなり処理の負荷が大きく
なるのと, そこまで作りこむ時間がなかったため簡易的な物になっている. 木は幹の部分を茶色の
Group Report of 2012 SISP
- 64 -
Group Number 18-B
Hakodate Avatar
図 7.7
展望台
図 7.8 アトリウム
円柱で表し, 枝と葉の部分を緑の球体で表した. 芝居外の地面にはコンクリートのテクスチャを使
用した. 校舎の表札は長方形のオブジェクトに自作したテクスチャを貼って制作した. 表札のテク
スチャはペイントソフトの Pixia を使用し制作した. 表札は縦 800 ピクセル, 横 400 ピクセルの
キャンパスを新規作成し, 文字入力機能を使用して文字を入れた. フォントは MS 明朝で文字サイ
ズは 100 にした. 背景を黒にし, 文字は橙色にした. 室蘭工業大学の改善点は縮尺が正確でなく, 校
舎や木も簡易的なものになっている事だ.
地球岬では, 灯台, 崖, 海を制作した. 最初に灯台を制作し, 次に崖を制作し, 最後に海を制作し
た. 灯台は写真を見ながら制作した. 灯台は円柱と直方体, 球体を組み合わせて制作した. 灯台の
土台となる部分をまず円柱で制作し, 次に上部のライトの出る部分はガラス張りの円柱で表現し
た. 事細かに今回はライトの部分は使用しないので簡易的なもののほうが処理に影響が少なくて良
Group Report of 2012 SISP
- 65 -
Group Number 18-B
Hakodate Avatar
図 7.9 室蘭工業大学 本部棟
図 7.10 室蘭工業大学 N 棟
かった. それより上部は半球になっていたので調度良い大きさの球体を制作し「ナイフ」ツールで
半分に切断し, 下半分を削除した. 次に崖は直方体を制作し, 「ナイフ」ツールで切断, 削除して形
を整えた. 今回は灯台を少し離れた展望台から眺めることを想定したので, 崖の上に直方体のオブ
ジェクトを乗せることで表現した. 崖と展望台の上部は草のテクスチャを貼り, 側面には岩のテク
スチャを貼った. 次に海は大きな長方形を崖の下に制作することで表現した. 海は青くすることで
表現した.
イカ釣り漁船では, まずゼロから作るのではなく, インターネット上のフリー素材を探した. その
結果, 良い 3D モデルのフリー素材が見つかった. しかし, 3D モデルのクオリティが高く容量が大
きいので, そのまま使用することは困難だったため, 3D モデルの頂点数を減らす軽量化を図った.
この作業は 3D ポリゴンモデラー Metasequoia で行った. 初めに, 浮きや, 舵などの内装, アンテナ
Group Report of 2012 SISP
- 66 -
Group Number 18-B
Hakodate Avatar
図 7.11
室蘭工業大学 Q 棟
図 7.12
地球岬
等の削除しても見栄えを損なわない部品を削除した. 次に甲板で, 甲板は微妙に曲線だったが, 一部
的にはほぼ直線的でも問題なかったので, その部分を選択して削除し, 「面の生成」で繋ぎあわせ
た. 次に糸を引き上げるための滑車の軽量化をした. 滑車は元のモデルをもとに「面の生成」を使
い制作した. 滑車は全部で 16 個あるが, 1 つ作れば複製ができるので 1 つ制作し複製した. 元のモ
デルの滑車を削除し, 新しい滑車を同じ場所に置いた. 次に糸の巻き取り機だが, これは表面に付い
ていた模様を削除した. 次に電球だが, 電球は頂点数の少ない新しい電球を新たに制作した. 電球
は回転体を用いて制作した. 電球の数は 14 個あったが, 11 個に減らし, 新しい電球と差し替えた.
次に電線の軽量化をした. 電線は円柱をまげて作られていた. 軽量化の方法は, 電線の中間点を削
除し, 削除した部分を繋ぎあわせた. 電線は頂点数の数が多く, かなり時間がかかってしまった. 次
に船底を軽量化した. まずは頂点数の密度が濃く滑らかな部分の頂点数を減らした. この時, あま
Group Report of 2012 SISP
- 67 -
Group Number 18-B
Hakodate Avatar
り減らしすぎると見た目に大きな違いが出て見栄えが損なわれてしまうので慎重に作業した. そし
て, 削除しても見た目に影響がない頂点を削除した. 最後にその他の船上の部品を軽量化した. 船
上の部品は頂点数の少ない新しい部品を制作して差し替えた. もともとのイカ釣り漁船の見た目を
損なわないように維持しつつ軽量化するのが苦労した. 改善点は予想以上に時間をかけてしまった
のと, もっと軽量化ができたのでは無いかという点である.
図 7.13 イカ釣り漁船(軽量化前)
図 7.14 イカ釣り漁船(軽量化後)
疑似餌モデルと釣り糸モデルの統合は, 他のメンバーが作った一つの疑似餌モデルをコピーし釣
り糸モデルを制作して繋げた. 実際の釣り糸の長さとイカ釣り漁船のモデルの大きさを比較して
ちょうどいい大きさになり, かつ容量もできるだけ小さくなるように疑似餌の数を調整した. 初め
に, 疑似餌に 1 本の糸を制作し繋げた. そして, 糸と疑似餌をセットにして複製し, 疑似餌 4 つと糸
4 本の新しいセットを制作した. 疑似餌と糸の 4 つずつのセットと 1 つずつのセットを組み合わせ
て 17 個の疑似餌を 1 本の釣り糸として制作した. 複数の釣り糸を使うのと船の大きさとの比を合
わせて 17 個がベストだと考えた. 疑似餌同士を繋げる糸は, 頂点数を極力減らすため三角柱の白く
Group Report of 2012 SISP
- 68 -
Group Number 18-B
Hakodate Avatar
細いモデルを使用した.
図 7.15
疑似餌のモデル
アニメーション制作では, 主に 3D オブジェクトを動かすためのボーン付けを担当した. ボーン
付けでは疑似餌と釣り糸を統合したモデルにボーンを付けた. この作業には 3D モデル編集ソフト
PMDEditor と 3DCG ムービー制作ツール MikuMikuDance を使用した. ボーン自体は 3D モデ
ル編集ソフト PMDEditor を用いてつけた. 初めに新規ボーンを付与したい箇所ごとに生成した.
今回は疑似餌から次の疑似餌までで 5 つのボーンを付けた. よって, 疑似餌が 17 個なので合計 85
個のボーンを付けた. すべてのボーンの配置が終わったら, ボーンを連結させる. ボーンを連結す
ることで親ボーンと子ボーンを設定できる. 次に IK ボーンを使用し, すべてのボーンを影響下に置
くことでこのボーン一つで全てのボーンが動きを追従するものになる. 最後に, 各ボーンの動きに
追従する頂点を各ボーンにごとに選択して設定した. 実際にボーンが付いていて, しっかりと動く
のかを MikuMikuDance を用いて確認した. IK ボーンの設定で手間取り時間が取られてしまった.
最終発表では, 発表の担当をした. 発表練習が不足していたため, 本番では何度も詰まってしまっ
た. さらに声もあまり大きく出せなかったので今後は声量にも注意したい. 自分が思っているより
も, 十二分に練習を重ねる必要があると思われる. 質問された時は, 冷静に対処していたが, 必ずし
も相手の望む回答を答えられたわけではなく, 質問者もあまり納得していないうようなことがあっ
たので, 質問者に納得のできる説明をできるようにすべきである. さらに, 発表態度も改善点があ
る. 自分では自覚がなかったが, 体が動いていて聴講者に不快な思いをさせてしまうのでなるべく
体は動かさずに, 手でスライドを指す程度にすべきである.
(※文責: 守田航大)
7.1.6
三田村梨花
私がプロジェクトで 1 年を通して行っていたのは, 以下のことである.
Group Report of 2012 SISP
- 69 -
Group Number 18-B
Hakodate Avatar
キャラクター案考案
プロジェクト初期に, 函館と室蘭, それぞれの都市の特徴を持つイメージキャラクターを作成す
るとのことで, グループメンバーで函館と室蘭の特徴を出し合った. その出された特徴を基にして,
各自が思い描いているキャラクターのラフ画を描いたところ, 室蘭側のキャラクターに自分のラフ
画が採用された. このとき採用されたキャラクターが, ホエールのホーくんである. このデザイン
で考えたところは, 室蘭でホエールウォッチングが可能という点, 重化学工業地帯とから連想して
体の一部が機械であり, 機械というのを強調するためにぜんまいを頭部につける点, ボルタという
室蘭発のキャラクターからねじを体のパーツに採用した点であった. キャラクターの外見が決まっ
たあとはキャラクターの設定を出し合いながら決定していき, より個性のある設定を持つキャラク
ターを作ることが出来るよう努力した. そしてその設定を基にしてキャラクターの喜怒哀楽, 感情
表現などをラフ画に起こす作業を行った. 無機物的あるいは感情がほとんど変わらないがゆえに表
情だけではどの感情を表しているか分かりにくいキャラクターであるので, 表情以外の動きで分か
りやすい感情表現を設定するようにした.
3D モデル制作と調整
前期では, 室蘭側のイメージキャラクターであるホーくんの 3D モデルを制作した (図 7.16). 基
本となる表情をまず最初に制作し, そこから完成されたキャラクターボードを基にして喜, 怒, 哀,
楽の 4 つの感情の 3D モデルを制作した. ホーくんというキャラクターは体が機械の部分と生物的
な部分を併せ持ち, また目がねじという設定であるのでこの条件下でいかに豊かに感情を表現する
かを意識して制作を行った. その結果, 喜の感情を表現するときには現実世界にいるくじらのよう
に潮を噴くことで喜びを表現し, 手もばんざいの姿勢を取ることでモーションでの感情表現を行う
ことが出来た. 怒の感情を表現するときは体の色を変えたほうがいいという意見があったのでその
意見を基にしながら怒ったときの色のパターンを 18 パターン設定し, その中からどの色が良いか
を選んでもらい, 設定した. その結果から, 体の色には赤 (R:255,G:0,B:0) を使うことで普段の肌が
寒色のキャラクターが怒っている様を視覚的に表現することが出来た. 哀の感情を表現するときは
身体的特徴でもある頭部にあるぜんまいをしならせて垂らすことで落ち込んでいるという感情を表
現した. また, より分かりやすく悲しみの感情を表現するために, 漫画でも使われているような感じ
で体に黒の縦線を何本か加えることでより分かりやすく落ち込んでいるということを強調させた.
楽の感情は, 喜の感情と被らないようにするために, いかに喜の感情と差別化させるかを考えなが
ら制作にあたった. 差別化としては, 喜の感情を表現するときは大げさな身振りで体全体で喜んで
いるということを見せたが, 楽の感情を表現するときはおとなしめのモーションで笑う様を表現し
た. ホーくんの感情を豊かに見せる点で工夫したのは, ホーくんの目である. ホーくんの目はプラ
スのねじを主にベースとして, 怒ったときや悲しいときはマイナスのねじを用いたり, それぞれの
ねじの角度を変えて目に見せたてていった. 当初はプラスとマイナスのみで感情を作ることを考え
ていたのだが, プロジェクトメンバーからあえて漫画の表現のように目を作っていってもよいので
はというアドバイスを貰い, ねじの既存概念に囚われない模様の目を作った. これによってプラス
とマイナスのねじのみでは分かりにくいと言われていた喜びなどのポジティブな感情を表現するこ
とが出来た. 喜怒哀楽以外にも, ホーくんの食いしん坊という設定を活かすために口を開いた 3D
モデルも制作した. 時間短縮のために元々制作していたモデルをベースに口を開かせ, 新たに口の
内部を制作した. 元々 1 つの塊として口を開くことを想定せずに制作したので, 完成された状況か
らいかにして口を開かせるかに苦労したが, 必要に応じて頂点座標を操作したり, 新たにポリゴン
Group Report of 2012 SISP
- 70 -
Group Number 18-B
Hakodate Avatar
を増やしたり, 不要な部分を削る操作を行うことで口を開ける動作を作ることができた. また, 機械
の体を持つということを強調するために, 金属のパーツには, 金属らしく見えるように材質の反射
光の度合いと反射の強さを強くすることで, 金属の光沢の具合を再現でき, キャラクターが機械と
生物のそれぞれの体の差別化を図ることができ, また金属で出来ているということも強調すること
もできた. さらに, 同じキャラクターで感情や別の仕草の差分を多く作る必要があったので, 制作期
間を短縮させるために多くの部品を使いまわせるように細かく部品分けを行い, また目となるねじ
の部分は当初はブーリアン演算を用いて制作を行う予定だったが, 時間短縮と表情の差分をすぐに
再現出来る事を考えて, テクスチャを用いての制作とした. その結果, 画像を用意しておけばすぐに
テクスチャとしてねじの部分に材質を貼り付けることで短期間で多くの感情の差分を制作すること
が出来, コンテンツ製作での要望を達成することが出来た. 後期では, VR アクアリウムで使用した
スルメイカと疑似餌の 3D モデルを制作した. スルメイカの 3D モデルを制作した上で, スルメイ
カの脚部の再現に苦労した. 特に, スルメイカの脚は長さがそれぞれ違い, また特徴もその脚によっ
て違ったので, 他の制作物と違って, あらかじめ作られたパーツを流用することが出来なかったの
で時間が非常にかかった. 他には必要なときに応じて小物やモブキャラクターなどの制作を前期・
後期ともに行った. 前期ではホエールウォッチング用の双眼鏡と (図 7.17), その観察用のくじらを
制作した (図 7.18). 双眼鏡は短期間で簡易的な図形をもちいながら一目で双眼鏡と分かるように
制作するのに苦労した. したがって, 実際の製品よりもイラストを参考にしてあまりにも複雑にな
りすぎないように 3D モデル制作を行った. また, レンズの部分は不透明度を下げることでレンズ
特有の透明感を演出することが出来た. さらに, コンテンツに使用するキャラクターの手が短いの
でキャラクターが双眼鏡を持って覗くというのはキャラクターの 3D モデルが不自然に腕が伸びて
不恰好になると判断したので双眼鏡に台をつけ, キャラクターが手を使わずに双眼鏡を覗けるよう
に工夫した. ホエールウォッチングに使うくじらは, ホーくんや函館側のイメージキャラクターの
くらちゃんのようなメインで使うキャラクターではなく, モブのキャラクターとしてのくじらだっ
たので, ホーくんのモデルを流用しながら, 生物としてのくじらをデフォルメで再現できるように
制作にあたった. また, 現実世界にいるくじらの動きと同じように, こちらのくじらも潮吹きの動作
を行うように, 3D モデル制作を行った. 後期では, VR アニメーション内で使用する水色のボック
スを制作した. このボックスは, 水面あるいは水中を再現するために制作したものであり, アニメー
ション制作の人が必要に応じて調整できるように, 不透明度が 0.25%,0.50%,0.75% のものを用意
した. 3D モデルの調整は, 本校のモデルに対して行った. 本校の 3D モデルは第 1 期生が制作した
モデルをお借りし, あたかもその場にあるかのように再現するために, グループメンバーが撮影し
た写真を素材として地面に芝のテクスチャを貼り付けた. そのことで, 基にした 3D モデルの地面
が何も無い状態だったのをテクスチャによって, より現実に近いと見た人に感じてもらえるように
制作できた.
モーション制作
モーション制作はメインで行っていた仕事ではないが, 後期の VR アクアリウムのアニメーショ
ン制作ではアニメーションをつける必要がある 3D モデルの数と比較すると, 制作にあたる人手が
足りていないからという理由と, 作業効率の上昇のために一部 3D アニメーションのモーション制
作を行った. MikuMikuDance を用いたモーション制作に関する知識が無い状況から短期間で技術
を習得する必要があったので, 他のメンバーに遅れを取ることが多かったので, 事前に知識を習得
することとあらかじめモーション制作を想定して準備を進めていくという重要さを改めて感じら
れた. 自分が担当したモーション制作としては, 船のスクリューの回転と糸の巻き取り機のロール
Group Report of 2012 SISP
- 71 -
Group Number 18-B
Hakodate Avatar
図 7.16 ホーくん
図 7.17
双眼鏡
アップ, ロールダウンのアニメーションを担当した.
コンテンツ制作における取材
後期の VR アクアリウム製作にあたり, よりリアルなコンテンツを製作するためにグループメン
バーと共に和田雅昭教授に取材を行った. 取材内容とその回答としては, 以下の通りとなった.
• イカ漁におけるイカの捕り方日中では, イカが光を避けるため水深 200 メートルまで糸をた
らさないといけない. このため, 海の深くまで糸を垂らしてから引き上げるまでの時間がか
かるため, 時間効率が減少してイカに逃げられやすくなる. 夜では, 水深 60 メートルから 80
メートルまで糸を垂らす. 夜の方が糸を垂らしてから引き上げるまでの時間が短いので, 時
間効率を考えると夜に漁を行う. また, イカは夜行性であり光を嫌う習性があるので船の下
に集まる. イカはほとんど群れずに生活しているので, それを利用して密度を上げる. ここ
Group Report of 2012 SISP
- 72 -
Group Number 18-B
Hakodate Avatar
図 7.18
ホエールウォッチング用クジラ
で, 疑似餌の付いた糸を垂らしてから糸を引き上げるので, 疑似餌を魚と勘違いしたイカが
食いつき, 船の上に揚げられる.
• イカ釣り漁船の詳細な仕様イカ釣り漁船に付いているライトは最大 60 個である. この個数
は決められており, 60 個より多くライトを付けることはない.
• 餌や疑似餌はどう使うのか・どのような仕組みになっているか疑似餌はイカに魚と勘違いさ
せるために使う. 疑似餌にはばねが使われているが, これは針が折れないようにするためと
いうことである. このことによって針が曲がり, 柔軟性を生み出すことが出来る. 餌は別の
漁で取れた魚を用いて釣ることがある. その時に釣れたイカをマグロ漁に使うこともある.
これは, イカ漁とマグロ漁を同時に行う船があるという理由がある.
• 疑似餌は 1 つの糸にどのくらいの個数をつけるのか 1 つの糸に対して 1 メートル間隔で針
を付ける.
• イカの泳ぎ方・習慣イカの口は漏斗状になっており, 漏斗から水やイカスミを吐いてジェッ
トのように進む. 漏斗は 360 度向きを変えられる.
• イカ漁で特に見せたいポイントイカが揚がってくる瞬間を見せたい.
• イカの美味しい食べ方函館でよく見られる美味しい食べ方は, 刺身と沖漬けと一夜干しであ
る. 沖漬けは日本酒とみりんを使ってイカを漬ける. また, 沖漬けは漁師がよく利用する食
べ方である.
以上の成果を用いて, スルメイカの 3D モデルとそれを用いたアニメーションをより細かく作る
為の参考とした. また, 取材の際に動画を見せていただき, 疑似餌と糸の間隔, どのようにしてイカ
が捕られているのかを実際の動きを見ることでイメージをつかむことが出来た. また, 今までイカ
は光に集まる習性だと思っていたのだが, 実際にはイカは光を嫌う習性であり, 光の少ない夜に活
動的になるということ, また, イカはほとんど群れずに生活し, イカ釣り漁で電球を用いて周囲を照
らすことで船の真下にイカを集めて効率よく漁をするという話を聞けたので, 正確な情報でかつど
のようにアニメーションを行えばいいかについてのコンテンツ制作における, 参考になる情報を集
めることが出来た. アニメーション制作の上では, イカの泳ぎ方の仕組み, イカの口の場所, 疑似餌
Group Report of 2012 SISP
- 73 -
Group Number 18-B
Hakodate Avatar
に引っかかるときはどのような動きをするかなどの話も聞けたため, 3D モデル制作でスルメイカ
をどのように形作っていけばよいのかというイメージをつかむことが出来, リアル感を追求したス
ルメイカの 3D モデルを完成させることが出来た.
ポスター草案・レイアウト作成
中間発表会用ポスターのメインとなる部分のレイアウト決め, サブポスターの内容決め, ポス
ターに書き出す内容のピックアップ, 最終発表会に用いるアクアリウム班用ポスターの文章作成を
行った. メインポスターのレイアウトは, もっとも目に触れられることが多いものであり, かつ 1
枚の中で簡潔にプロジェクトの概要を英文も交えながら書く必要があり, またデザインに関する知
識がほぼ得られていない状態でレイアウトを組むのは困難だったので, 情報デザインコースに所属
しているグループメンバーの力を借りつつ見やすいようにどうやって配置するか, またどのような
内容にするかなどを, 情報を伝えるうえで重要な箇所を絞り込みながらを考案した. 英文は正しく
分かりやすく伝えられるよう, Connections Cafe を利用し, 作成した英訳文を正しい表現の英訳文
に修正していただいた. 中間発表時では, ポスターのみだとプロジェクトで行われた内容が伝わり
にくい, 語句の説明が不十分な箇所があるとの指摘を受けたので, 最終発表時にはその指摘を受け
た箇所を念頭に, なるべくポスターのみで制作物の概要がポスターを見た人に伝わりやすいように
文章を作成した.
最終発表会でのデモンストレーション
最終発表会では, 実際に発表を見に来た人に向けて, VR アクアリウムのデモンストレーションを
行った. HMD とウェブカメラの使い方, VR アニメーションの操作の仕方, AR マーカーの使用す
るタイミングを学び, 来た人に対しての説明や応対を行った. 実際に VR アクアリウムを体験した
人からは, コンテンツの評価を多くいただき, その中でもアニメーションの出来や音声ガイドへの
高評価をいただいた. その一方で, AR マーカーをどのタイミングで使うのか分からなかった, AR
マーカーの反応が悪く, アニメーションの再生に時間がかかったとの声をいただいたので, 説明不
足が感じられたこと, 想定していないアクシデントに対応出来る能力が必要だということをデモン
ストレーションと通して学んだ.
(※文責: 三田村梨花)
7.1.7
菅野雄太
技術班としての活動
このプロジェクトでは, 前期の VR 観光アニメーションと後期の VR アクアリウムの制作にあた
り, 技術班としてプログラミングやアニメーションのための 3D モデルの配置等の各種調整を主と
して活動に貢献した.
• 前期の活動
前期では, 室蘭工業大学との学術連携のさきがけとして VR システムが導入された. その VR シ
ステムを用い, 両大学との交流と現実と仮想の相互インタラクションの実現を目的とした, 3D キャ
ラクターを使用した VR 観光アニメーションを制作することとなった. そこで私は, VR 観光アニ
メーションの制作に関して, 開発環境の導入や物理エンジンの導入, 3D モデルのキーボード操作の
実装, ストーリーの分岐やアクション, 当たり判定の実装, 3D モデルの配置調整, メモリ不足対策
Group Report of 2012 SISP
- 74 -
Group Number 18-B
Hakodate Avatar
の 3D モデルの軽量化, デモ PV のための動画のキャプチャー等を行った.
前期の作業は, VR システムや HMD, スタイラスペンなどの装置やデバイスを用いたプログラム
を作成するという体験は, 今までにしたことがなかったためプロジェクト開始時に与えられた VR
システムの仕様書や, それを用いるためのサンプルプログラムを読み解くことから始まった. そこ
で私は, VR システムの仕様書やサンプルプログラムのソースが書かれた PDF データを印刷し, 3
次元空間でのプログラム作成のために理解する必要がある概念や重要な点を蛍光マーカーでマーク
したり, コメントをつけたものを技術班全体の知識を向上するために共有することにした. また, こ
れと併行してオラクルを中心としたコミュニティにより開発されている, オープンソースの統合開
発環境の NetBeans を導入する作業を行った. NetBeans を導入するに至った理由は, 導入された
VR システムのプログラムを開発した環境が NetBeans であり, 他の開発環境では設定を行いにく
いという点と開発する上で不具合が生じるかもしれなかったからだ. これらの理由から, NetBeans
の導入と必要な機能の導入と設定を行った.
知識を深めたことで, VR システムを用いてサンプルプログラムを動かせるようにはなったが,
VR システムがない状況では開発が行えないという問題が起きた. この問題を解決するためには,
VR システムのサンプルプログラムを推奨機のノートパソコンでも動かせるようにしなければなら
ない. そこで, スタイラスペンや HMD などのデバイスを用いる必要のあるプログラムを省いた上
で, 技術班で役割を分担して必要な機能をプログラムに付加していく作業を行った. 私は, HMD や
スタイラスペンなどのデバイスがない状況では 3D モデルの移動や回転ができないので, キーボー
ドによる 3D モデルの移動や回転などの操作を行える機能の作成した.
推奨機のノートパソコンでサンプルプログラムを動作できるようになったため, 本格的な成果物
制作が始まった. 3D 観光アニメーションを制作する上ではキャラクターを用いるという条件のほ
かに, 物理エンジンを導入することが条件となっていた. そのため, 私と他の技術班員で物理エンジ
ンの導入作業を始めたが, Java 言語の物理エンジンの資料が少なく, 導入ができた後もうまく活用
することが困難であった. 物理エンジンの活用作業を他の技術班員に任せ, 3D モデルの配置調整や
当たり判定の作成作業に加わった. 3D モデルの配置調整では, VR システムを起動するごとにモデ
ルの位置がずれてしまうなどの問題が発生したり, 当たり判定の作成では, 3D モデルの配置ずれの
ために当たり判定もずれるなどの問題が発生した.
クラちゃんなどのキャラクターにあたる 3D モデルやスカイドームなど背景にあたる VR 空間用
の 3D モデルを表示させてプログラムを実行すると, メモリ不足というエラーが検出されてプログ
ラムが中断されてしまうという問題が起きた. そこで私は, メモリ不足の対策を他の技術班員と共
に行った. 他の技術班員はプログラムでメモリに負荷をかけているところがないかを探し, 私は 3D
モデルでプログラムに負荷をかけているところがないかを探した. 思案した結果, 3D モデル自体の
大きさや, テクスチャに用いられている画像のサイズや保存形式が問題だと判明した. これは主に,
コンテンツ班との情報共有があまりなされていなかったことから起こった問題だと考えられる. テ
クスチャの画像のサイズや保存形式は自身で改良し, モデルの大きさなどはコンテンツ班に詳細な
仕様を伝えることで改善することができた. 他の技術班員のプログラム上問題のほうも改良され,
これらの作業のためプログラムを無事実行することができた.
前期のプロジェクトは使用する機材である VR システムは, VR システムが設置してあるエレク
トロニクス工房でしか使用できないものであり, また利用時間も決まっていたため, 限られた時間
の中での作業となった.
• 後期の活動
Group Report of 2012 SISP
- 75 -
Group Number 18-B
Hakodate Avatar
後期では, 前期の成果物より「観光」というキーワードを見出し, 学んだプログラミングや VR
についての知識と 3D キャラクターを活かしたコンテンツを 2 角グループに分かれて製作しようと
いうことになった. そこで私は VR と AR の技術を用いて, イカ釣り漁の様子を海中から眺められ
るようにするという VR アクアリウム班に所属することになった. VR アクアリウム班でのプログ
ラムの作成に関して, 前期と同様に全体的にプログラミングの作業は, あまり重要な所や複雑なと
ころの担当ではなく, プログラミングやそのこまかい調整, デモ PV の製作などに携わった. 行っ
た作業内容としては, 開発環境の Visual C++ 2008 の導入, ARToolkit の導入, 3D モデルの配置
の調整, DX ライブラリと SDL mixer のライブラリ導入, SDL mixer ライブラリによる音楽再生
機能の実装, Web カメラのカメラパラメーター調整などを行った. 前期と違い, 後期の作業は場所
や時間に縛られることがなかったので, 集中して作業することが可能だった.
図 7.19 3D モデルの位置調整
図 7.20
後期成果物
• 活動の自己評価
Group Report of 2012 SISP
- 76 -
Group Number 18-B
Hakodate Avatar
後期あまり上手くいかなかったことは, ARToolkit や Visual C++ 2008 など各種環境や
SDLmixer などのライブラリの導入が多く, 手順を間違えや実行中のエラーなどが多発し, 肝心の
プログラミング作業に入るまでに予想以上の時間がかかってしまったことだ. また前期ほどではな
いが, 使用していたプログラミング言語が前期で使用していた Java から C++ に変わったことも
あり, プログラミングが詰まってしまったこともあった. そのたび, 他の人に手助けを請うことが
少々あり, 他の人の作業を阻害してしまうことなどがあった. これらの経験から, 事前の下調べや分
からないところを解決する力は, 個人だけで作業する場合重要になってくるので, しっかりその力
をつけていきたいと強く感じた.
前期のプロジェクト活動から後期で活かせた点は, 前期から担当できるプログラミングの難度と
してはそれほど上がってはいないが, 前期で培ったフラグ処理などプログラムの組み方などの知識
のおかげで, プログラムを組む段階ではさほど詰まることはなく, 前期よりだいぶスピードを上げ
ることが出来たというところである. また, 前期の VR 観光アニメーションで使用したスカイドー
ムという 3D モデルを逆さにして海に見立てて使用することを提案し, プロジェクトメンバーと成
果物完成間近まで粘って大きさやテクスチャを試行錯誤したこともあり, 当初の水色の箱の状態よ
りは VR アクアリウムとしての水中らしさを表現することが出来た. 3D モデルの配置は前期にも
行い, 非常に地道な作業だという事前知識を持っていたので根気強く行い, スクリーンショット撮
影などの面からデモ PV 制作などにも貢献することが出来た. 全体的に後期プロジェクトでは意見
交換が前期よりよくなされていた印象があり, より成果物を深めていくことができたのではないか
と感じた.
後期に自身なり工夫できたと感じたところは, 統合用の小さなプログラムを書く際に, 統合作業
を円滑に行うためにほとんどコピーアンドペーストだけで機能を実装できるようにプログラムの
ソースを最小限の形にするように心がけたところだ.
その他の活動
後期は, 前期と違い 2 つの班に分かれてそれぞれの成果物を作り上げるという形をとった. その
ため, プロジェクトのメンバーでもなかなか交流や意見交換を行う機会が少なくなっていったので,
進んで他の班に行きパンフレットのレイアウトなどについての意見を述べたり, プログラムで追加
したい機能についての調べ物を手伝ったりした. 他には, デモ用の PV を用意するためにアマレコ
コというキャプチャーソフトを使い, デスクトップ画面をキャプチャーし動画の制作をした.
(※文責: 菅野雄太)
7.1.8
南部由貴
前後期とも, プログラムの実装を中心に活動を行った.
前期の活動
前期は室蘭工業大学との学術連携によって導入された VR システムを用いたプログラミングを
行った. VR システムに付属するサンプルプログラムをベースに機能の追加や改善を行った. 既
存のプログラムは 3D 空間上にティーポットなどのオブジェクトが表示されるものであったため,
Metasequoia で作成された MQO ファイルや MikuMikuDance で作成された 3D モデルの描画に
対応した. MikuMikuDance で作成された PMD ファイルと VMD ファイルを読み込み描画する
ことで, モーション機能を実現し動きのあるプログラムを作成することができた.
Group Report of 2012 SISP
- 77 -
Group Number 18-B
Hakodate Avatar
MQO ファイルは背景などモーションを必要としない 3D モデルの描画を想定していたが, 実装
時に動作が重くなることや, 3D モデルが完全に描画されないなどの不具合が発生し, 改善に至らな
かったため全ての 3D モデルを PMD ファイルと VMD ファイルを使用して制作することとした.
PMD ファイルの読み込みでは, 実装当初は描画に関する部分の設定方法が不明であったため, 3D
モデルが透けてしまうことや色が異常に白くなってしまうなどの不具合が生じていた. これらの描
画の設定に関する考え方は後期の 3D モデル描画で活かすことができたため, 後期の描画に関する
実装は前期よりもスムーズに行うことができた.
あらかじめ PMD データと VMD データを読み込んで配列に格納しておき, データを描画する関
数を実行するという流れで実装した. 実装当初は起動した段階ですべてのデータを配列に格納し,
必要な時に描画するという方法を用いていたが, データ数が多くなると動作が重くなってしまいプ
ログラムの実行が困難になる事態が発生した. キャラクターの表情や動きの変化などを実装してい
くと読み込むデータ量が増えていくため, 最初に全て読み込んでしまうと膨大なリソースを消費し
てしまい効率が悪いことが判明した. これを解決するため, 読み込むタイミングを起動時ではなく
ストーリー上でそのデータを表示する時に読み込むようにした. また, 不要となったデータは消去
するといった工夫を行った. はこだて未来大学や五稜郭などの大きな背景データは読み込みに時間
がかかり, 背景切り替え時に動作が重くなっていたため, 背景データのみ起動時に読み込むものと
した.
さらに, 複数台のコンピュータ間での送受信機能を活用し, 画面を共有する機能を実装した. サ
ンプルプログラムの 1 つに VR 空間上に絵や文字を描き複数人で共有するものがあり, このプログ
ラムからコンピュータ間の送受信を行なっている部分を参照し任意の値を送受信できるようにし
た. 送受信には変数の値を送受信可能な形に変換して格納して送信し, 受信側で変換されたデータ
を元に戻す方法が取られていたため, 送信側と受信側で変換方法を同じにする必要があった. プロ
グラムは改変によって不具合が発生したときの対処のため, 改変前と改変後のプログラムをそれぞ
れ保存しておいたことにより, 送信側と受信側で改変前と改変後のプログラムが混在してしまうと
いう事態が発生した. これにより送受信がうまくいかないという不具合が発生し, 修正に手間がか
かることとなった. また, 画面の共有については実際に再生を行うと 3D モデルの描画時間がコン
ピュータによって異なるために動作時にずれが発生してしまうことや, 物理エンジンに関する動作
との統合が上手くいかないなどの理由から, 完全な実装には至らなかった.
また, 開発途中で突然プログラムが強制終了されてしまう問題が発生したため, その対応を行っ
た. コンピュータのメモリ使用量が膨大になり上限を超えてしまうことが原因であると判明したた
め, メモリ使用量を抑えるための改良を行った. Metasequoia や MikuMikuDance で作成された
3D モデルは読み込み時に多くのメモリ容量を消費していたため, 一度に全て読み込ませるとすぐ
に容量の上限を超えてしまい強制終了されてしまうことが判明した. これを改善するために, 3D モ
デルの読み込みタイミングやモデル使用後の処理などを変更するなどの工夫を行った. この改善に
より, プログラムが強制終了するといったことは起こりにくくなった. 根本的な解決には読み込み
時のメモリ使用や開放などについての知識が必要なため, この問題について完全に解決させるには
至らなかった.
後期の活動
後期は, AR マーカーを読み込んで 3D キャラクターの描画を行うプログラムをベースに機能を
実装した. 1 つのマーカーから複数の 3D キャラクターを表示する機能を実装し l, マーカーを複数
読み込む機能を追加してアクション機能を実装した. さらに, キーボード操作, ストーリーの実装,
Group Report of 2012 SISP
- 78 -
Group Number 18-B
Hakodate Avatar
画面エフェクトの追加を行った.
1 つのマーカーから複数の 3D キャラクターを表示する処理は, 描画する 3D モデルとモーショ
ンを複数の変数に読み込み, 描画部分でそれぞれ描画位置や回転などを変更して複数描画する方法
で行った. ストーリーを作成するにあたり膨大な量の変数を用意して描画していくことを考慮して
ある程度整理できるように工夫した. 3D モデルとモーション, 描画位置などの情報をひとまとめに
することで整理し, プログラム上で 3D キャラクターの追加や移動などを簡単に行えるようにした.
3D キャラクターの表情やモーションを変更する際にはその都度 PMD ファイルや VMD ファイル
を読み込んで適用する方法を使用した. この方法では何度もファイルを読み込み直す必要があり非
効率的であるが, 修正には至らなかったので改善の余地が残されている.
アクション機能では, マーカーが 3D モデルに触れた場合に何らかの反応を返す機能を実装した.
この機能は私が独自にアルゴリズムを考えて開発したため, より正確な判定を行うことができるよ
う工夫した. ベースとしたプログラムはマーカーの上に 3D モデルを表示するプログラムであった
ため, マーカーの位置を把握することは可能だろうと予測した. 3D モデルの位置を把握する方法
は, OpenGL の機能に 3D モデルの描画位置を取得する機能があったためこれを利用することとし
た. プログラムはマーカーを認識するとマーカーの位置を行列で取得し, その行列に従って 3D モ
デルの描画位置を設定し描画するという流れで処理が行われていることが判明した. 3D モデリン
グの変換行列に関する知識が必要であったため, コンピュータグラフィックスの科目で学んだ内容
を活かすことができた.
キーボード操作は, HMD の加速度センサーと同等の処理をキーボードで行う機能を実装した.
加速度センサーが使用不可能な場合に代替措置として追加した.
ストーリーの実装では, 企画したストーリーをプログラム上で実行できるよう実装を行った. ス
トーリーが進むことでキャラクターが移動し, 音声が流れて動きが変化するといった機能を作成し
た. また, ストーリーの企画考案に関する補助を行った. ストーリーの案を出すだけでなく, 技術的
な観点からどのようなことが出来る・出来ないなどのアドバイスを行った.
画面をより水中らしく見せるために, 画面全体に水色のエフェクトをかける機能の実装を行った.
より本物のイカ漁を見ているような没入感を得られるプログラムの作成を目指した. 水中風のエ
フェクトは, どのようなエフェクトを実装することでより水中らしく見えるかが難しく, 作成した
プログラムの中でも特に工夫を凝らす必要があった. 画面を歪ませる処理で水中らしく見せるとい
う案もあったが, 逆に本編であるイカ漁が見難くなってしまう可能性があるということで実装には
至らなかった. 今回は画面に半透明の水色フィルタをかけることで薄暗い夜の海中を表現すること
としたが, 半透明のオブジェクトを描画する処理はアルファブレンドに関する知識などが必要であ
り容易に実装することは不可能であった. そのため, 3D モデルの影を描画している部分を流用して
代替措置とした.
全体の反省
全体の反省として, 実装時にプログラムのソースコードが見難く, 改変しにくいものを作成して
しまうことがあった. 特に簡単なプログラムであれば出来る限り見やすく改変を容易に行えるよう
工夫をして記述することを意識したが, 難しいプログラムになるにつれて見やすさやわかりやすさ
よりもまずは動作させることを優先させてしまうため, 完成したプログラムへの機能追加や応用な
どの改変がしにくいものを作成してしまう傾向があった. 前期ではこの傾向により中盤∼終盤にか
けてプロジェクトメンバーに対し必要以上の負担をかけてしまう結果となったので, 後期の成果物
は改変することを考慮して理解しやすいソースコードを作成することを心掛けた.
Group Report of 2012 SISP
- 79 -
Group Number 18-B
Hakodate Avatar
(※文責: 南部由貴)
7.2
グループリーダーのプロジェクト活動総括
前期と後期を通したプロジェクト活動に関して言えることは, 何かあった時の連絡がおろそかに
なりがちだったということだ.
前期では, 同じ班の中では連絡は一緒に作業している時間が長かったからか情報の共有は疎かに
はなっていなかった. しかし, 技術班とコンテンツ班の間での情報共有はあまり出来ていなく, コン
テンツ班から技術班への仕様変更の連絡や, 技術班からコンテンツ班への欲しい 3D モデルのリク
エストなど成果物作成の進捗に関わる内容が共有できていなかった.
後期では, メンバーが集まって作業している時間よりも個々人で作業している時間のほうが多
かった影響か, モデルの作成での不具合の発生やサンプルプログラムの解析の遅れなどの情報の共
有が, 同じ班の中であるというのに疎かになっていた.
上記のように情報の共有が不十分であったのが前期, 後期の双方で期日間際であわてることに
なった原因の一つであったと考えた. これは今考えると, 1 年を通してグループのリーダーで在っ
た自分の責任も大きいが, 個々人がこまめに連絡することを心がけることで軽減させることが出来
たように感じた.
(※文責: 小畑太樹)
Group Report of 2012 SISP
- 80 -
Group Number 18-B
Hakodate Avatar
第8章
ント
8.1
プロジェクト活動報告及びマネジメ
本章概要
プロジェクトリーダーとして, プロジェクトでは主にマネジメントを担当した. プロジェクトの
作業の中心にはあまりかかわらず, 客観的な視点で広く様々な作業に関わり, 主にアドバイザーの
ような活動をメインに行った. また, プロジェクトの全体的な進行係として, なにか全体で話し合う
ことがあった時等は司会者役を務めた. プロジェクトメンバーとはなるべく密にコミュニケーショ
ンを取り, 問題発生時にはすぐさま対処できるように心がけた.
プロジェクトで発生した問題等によってスケジュールに狂いが生じた場合等にはグループリー
ダーと話しながらスケジュールや作業日程の変更を行った. 作業日程の変更に伴って, 各メンバー
の作業内容の変化が起きる. その際にメンバーが自分の行う作業について混乱しないように纏める
作業も行った.
前期ではリーダーとして多くの反省点を見つけ, 後期ではその見つけた反省点を活かしてマネジ
メントを行った. 問題発生時には前期より素早く対応することができ, またメンバーが混乱するこ
とが少なかったので前期よりはうまくマネジメントができたのではないかと思われる. しかし, 後
期は後期で別の反省点を見つける機会にもなった. 確認を多くしすぎたあまり, 同じ情報を何度も
聞くことになり, その分メンバーの作業時間を取ってしまった. ちょうど良い確認の方法を熟知し
ていなかった点があげられる. またリーダーとしてマネジメントを行う機会があれば今後はその反
省点を活かし, さらなるリーダーとしてマネジメント力に磨きをかけたいと考えられる.
(※文責: 川又康平)
成果発表会で使用したデモムービー制作やポスターの作製
成果発表会で使用するデモムービーの制作を行った. デジタルカメラを用いて, 実際に本プロ
ジェクトで制作した成果物を利用している様子を動画で撮影した. さらにパソコン画面上で動作し
ているプログラムをキャプチャーできるものは動画としてキャプチャーして, 集めた動画を編集し
てデモムービーを制作した. 発表時間は限られているので, 短い時間で成果物がどのようなものか
伝わるデモムービーの制作を心がけた.
また, VR アクアリウムのポスターの作製作業を行った. AR パンフレットで作製するポスター
とレイアウトを一致させ, あまりかけ離れすぎないように調整しながら作製を行った. 自分たちが
どのような学習をしてきたのかという内容が伝わるように気を配り, なるべく写真や図を多く使い,
読ませるのではなく見せるポスター作りを心がけた.
(※文責: 川又康平)
Group Report of 2012 SISP
- 81 -
Group Number 18-B
Hakodate Avatar
中間・最終成果発表の発表者としての活動
中間・最終成果発表のどちらも発表者を担当した. 大きな声で滑舌よく, 聴いてくれる人が集中
できるような発表を目指して取り組んだ. 発表に用いたプレゼンテーションのスライドに合わせて
自分の発表がなめらかになるように練習し, 実践した. 前期では調子よく発表することができ, 質疑
応答の時間ではうまく返答することができたと考えられる. しかし後期では, 練習の時間をあまり
多く取ることができず, また多くの人がきたこともあり, 一回目の発表では緊張からうまく発表を
行うことができず, 練習の大切さを痛感した.
(※文責: 川又康平)
その他活動
プロジェクト全体で通達したい事柄等を, 「Skype」
「サイボウズ Live」を利用してプロジェクト
メンバー全体へ連絡をすることや, プロジェクトの活動の様子を写真に収める等の雑務をこなした.
また, プロジェクト全体から教員への連絡や相談があればその橋渡し役等を務めた.
(※文責: 川又康平)
Group Report of 2012 SISP
- 82 -
Group Number 18-B
Hakodate Avatar
第9章
ント
9.1
プロジェクト活動報告及びマネジメ
本章概要
本プロジェクトでは, プロジェクトリーダーを中心として, 「AR パンフレット班(グループ A)
」
「VR アクアリウム班(グループ B)」という 2 つのグループに分けた. そして, それぞれのグルー
プにグループリーダーを設けた. グループリーダーに各班のスケジュール調整や, 小規模なマネジ
メントを行ってもらい, プロジェクト全体としてのマネジメントはプロジェクトリーダーが行うと
いうプロジェクトとの組織体系を構築した.
本章は, プロジェクト全体で執り行ったマネジメントや, 管理体系や共通活動に関して報告する
ものである. 本プロジェクトではプロジェクトリーダーがどちらのグループ A, B のどちらにも所
属せず, プロジェクト全体としてのマネジメントを行い, 前述の各グループの報告とは異なるため,
この章による両グループを含めたプロジェクト全体の報告が必要となる.
(※文責: 川又康平)
9.2
プロジェクトの組織体系
本プロジェクトは前述したように, プロジェクトリーダーを中心にして, 2 つのグループに分かれ
て, それぞれグループリーダーを配置するという組織体系でプロジェクトを組織した. このような
組織体系にした目的として主に 3 つの理由がある.
まず 1 つに, 単純に本プロジェクトで「制作するものが 2 つあった」ということが挙げられる.
今回「AR」「VR」という 2 つの似たようでその実異なった技術を用いた開発を行った. 共通した
技術を用いる以外, 別々の技術をそれぞれ同一の班として扱うことで発生する混乱を避けるために
班を分けたのだ.
次に「プロジェクト全体としての円滑な統率をするため」ということだ. 本プロジェクトはプロ
ジェクトリーダーを含め 15 名というかなりの大人数で構成されていた. この人数をグループ A と
グループ B に人数を分けて, それぞれグループリーダーを設けることで, プロジェクトリーダーか
らグループリーダーへ, グループリーダーから各メンバーへという流れで末端までうまく指示を飛
ばすことができた. また, グループごとに違う作業日程だったが, それぞれをグループリーダーに一
任することでプロジェクトとしての活動を円滑にした.
最後に「問題発生時の対処や作業の分担の円滑化」というものがある. メンバーが作業に何かの
問題が発生した時に, 問題に対応すべき指示を飛ばす人間が複数いることで, 問題に対して素早く
対処が可能だ. また, 1 つのグループが 7 名とメンバーが少人数なため, グループリーダーは各メン
バーの作業状況を詳しく把握できる. その利点を生かし, 作業が滞っていたり, 素早く終わっていた
場合に, スケジュールの調整をし直して, 作業分配をし直したり可能という利点が挙げられる. 作業
が 1 人に集中してしまうという懸念や, 誰かが手空きの状態になり, 作業効率が下がってしまうと
いう状態を未然に防ぐ意味で役立つと言える.
Group Report of 2012 SISP
- 83 -
Group Number 18-B
Hakodate Avatar
上記三点の理由から, 本プロジェクトではこのような組織体系をとった.
(※文責: 川又康平)
図 9.1
9.3
9.3.1
プロジェクト組織図
プロジェクトマネジメント方法
プロジェクトマネジメント概要
本プロジェクトは基本的なマネジメントの流れとして
1. 作成するものを全体の話し合いを通して決定.
2. 前期スケジュールを設定.
3. 毎月, 月別スケジュールの設定.
4. 毎週進捗報告を行い, 両グループの進捗状況の情報共有.
5. 進捗報告会ごとに週別のスケジュールを設定.
6. その他全体集合で細かな情報共有と, スケジュールの調整.
以上のような流れで本プロジェクトは活動を行った. スケジュールをあらかじめ作成しておくこ
とで, 後に起こる問題を対処する際, 時間配分を再考する目安にすることができる. また, プロジェ
クト活動全体の流れをメンバー内で把握し, イメージすることができる. 前期スケジュール作成の
際は, 成果物, 完成期日等具体的な期日を設け, 開発スケジュールを逆算して作成を行った. 上記の
ようなスケジュール作成を行うと, 各メンバーが全体の完成のイメージから, 開発を行う個人とし
ても作業目標や作業状況が把握しやすいので, 各メンバーが全体から見た現在の状況報告がしやす
く, 全体の状況把握が容易に可能であるからである. さらに, 月別, 週別にスケジュールを細かく
設定することで個人やグループの活動内容が明確にすることができ, 短期目標が立てやすい. また
問題が発生し, スケジュールに再調整が必要な際にも, 問題解決に要する時間から短期スケジュー
Group Report of 2012 SISP
- 84 -
Group Number 18-B
Hakodate Avatar
ルを再設定することが可能なので, 長期スケジュールに影響をあまり及ばさずになる. また, 定期的
に情報共有を行うことで, プロジェクト全体で発生した様々な問題や, 状況に全体で対処していく
ことができるという利点がある.
(※文責: 川又康平)
9.3.2
前期プロジェクトマネジメント
前期プロジェクトマネジメントとして, 以下のような様々な Web サイトやツールを用いてマネ
ジメントを行った.
• メーリングリストを用いた連絡
• Skype を用いた会議
• サイボウズ Live を用いた進捗確認, 情報共有やスケジュール管理
• Dropbox を利用したファイル共有や情報共有
この項目では前期に行ったマネジメントや, 使用したマネジメントツールについて解説していく.
(※文責: 川又康平)
メーリングリストを用いた連絡
メーリングリストを用いた連絡を行った目的は, メンバー間及び担当教員メンバーとの間の連絡
を全体で共有するためである. メーリングリストは本プロジェクトメンバー間のみのメーリングリ
ストと, 本プロジェクトメンバーと担当教員を含めたメーリングリストの 2 つ使用した. メーリン
グリストを 2 つに分けた理由として, 整理されていない情報や, 必要以上の情報を担当教員に共有
させないためである. 具体的には, 担当教員とリーダーやメンバー間での連絡はメンバー全体で把
握することで, プロジェクト全体の情報をメンバーが把握できていないという状況をつくらないた
め必要だ. しかし, メンバー間での集合の連絡や開発途中で必要な細かな連絡等は多くのメールを
送ることになるが, 担当教員には定期報告会という形で 1 週間の活動をまとめたものの情報共有を
行うため, 必要以上にメールを送信することになる. そのような事態を回避するためにメーリング
リストを 2 つに分けた.
(※文責: 川又康平)
Skype を用いた会議及び情報共有
Skype はテキストチャットを行うことができるツールである. Skype を用いて会議や情報共有
を行った目的として, メールと異なり, 多人数でチャット会議が可能であり, リアルタイムでやり取
りを行うことができるのでメール以上に濃い内容の情報のやりとりが可能という点. ネット環境が
あれば自宅で会議することが可能である. そのことから, 様々なメンバー個人のスケジュール調整
が行いやすく, 活動時間外の話し合いが行いやすという点. 以上 2 点の優れた利点から Skype を使
用した. 使用用途としては, 主にグループ内のチャットや会議, プロジェクト活動外での予定合わせ
や, 即時に連絡を取りたい時に等使用した. また, ファイルの大きさが小さいものならばファイルの
送信が可能なため, ファイルの共有にも用いた.
Group Report of 2012 SISP
- 85 -
Group Number 18-B
Hakodate Avatar
(※文責: 川又康平)
サイボウズ Live を用いた進歩確認, 情報共有やスケジュール管理
サイボウズ Live とは, クラウド型の無料コラボレーションツールである. メーリングリストのよ
うにメンバーをサイボウズ Live 内で作成したグループスペースに登録することで, 使用すること
のできる Web サービスだ.
• 貸サーバーによる共有フォルダの使用
• 掲示板機能
• ToDo リストの作成
上記 3 点がサイボウズ Live で主に使用した Web サービスだ. 小規模ではあるが, 貸サーバー上
に共有フォルダを作成することができるので, 開発途中のプログラムファイル等をアップロードす
ることで, ネット環境のある場所ならどこでもファイルをダウンロードすることができる. また, 掲
示板機能には, 書き込まれた内容をメンバー全員にメールで送信することからメーリングリストの
ような扱いが可能だ. 今回, サイボウズ Live には本プロジェクトメンバーと担当教員, プロジェク
トアドバイザーの計 20 名を登録した. この 20 名という大人数に一挙に連絡を回す際に多く用いら
れた.ToDo リストが作成可能な点から, プロジェクト作業スケジュールを管理, 共有するのに用い
られた.
(※文責: 川又康平)
Dropbox を利用したファイル共有や情報共有
Dropbox は無料のオンラインストレージで, サイボウズ Live ではアップロードできない程大量
のファイルや, 大きな開発途中のプログラムファイル等のファイル共有を行うことができる. 写真
のデータや, 数が多く, サイズが大きなものが優先的に Dropbox へとアップロードされ, メンバー
間で共有した.
(※文責: 川又康平)
前期スケジュールとマネジメント
両グループとも前期のスケジュールとして
○ 5 月 :開発に必要な基礎技術の習得と学習
○ 6 月 :前期成果物の開発
○ 7 月 :中間発表会の準備及び中間発表
というスケジュールで活動を行った. 5 月の前半にプロジェクトの目的や, 活動内容を決める議
論を行い, 目的が明確になり具体的なスケジュールの設定が終えるとすぐさま行動に移った. 活動
時間内の主な動きとして
• 今週の週別スケジュールを設定する(週初めのみ)
• その日の作業内容を明確にする
• 作業を行う
Group Report of 2012 SISP
- 86 -
Group Number 18-B
Hakodate Avatar
• 作業時間終了間際に全体での情報共有を行う
以上のような流れで活動を行った. 活動時間終了間際に全体で 1 日に何を行ったか, 何ができた
か, どんな問題が出たか等の情報共有を細かに行うことでプロジェクト全体足並みを整えている.
期日を明確に設定しているため, スケジュールに遅れ等があれば直ぐに対応できるようになってい
る. グループの活動に差が生じている場合にはすぐさま直接的な話し合いの場を儲けることによっ
て, 週別スケジュールの調整等を行った. また, プロジェクトリーダーを両グループに所属させない
組織体系を取ることで, プロジェクト活動時間等両グループとの会議に加わることで, 議論や開発
等に対して, 客観的な発言をすることが可能であるため, 様々な状況にも柔軟に対応することがで
きる. 活動時間外は Skype やサイボウズ Live を用いて情報の管理や, 会議等を行い, 必要であれば
集合して活動を行った. 前期のプロジェクトではエレクトロニクス工房のみで使える機材の使用が
必須で, またエレクトロニクス工房の使用が午後 10 時までと規律があったため, 6 月上旬より土日
に学校に来て作業を行うということが多く行われた. その際に Skype 等コミュニケーションツー
ルは重宝した.
(※文責: 川又康平)
9.3.3
後期プロジェクトマネジメント
後期はプロジェクトマネジメントとして期間が短く, かなり作業時間が短いため, それに対応し
て開発作業が行えるようなマネジメントを行った. 具体的な内容は前期に行ったスケジュール調整
方法とマネジメント方法をそのまま取り入れて後期に活かした. そして, 後期では前述した前期の
マネジメント内容に加え, 各プロジェクトメンバーが 1 週間どんな作業を行い, どんな問題が生じ
たか等を記述する「週報」を毎週書いてもらう, という手段を用いて情報共有を行った. またスケ
ジュールはプロジェクト全体で設定するスケジュールとは別に, グループごとにもある程度作業の
目標日等を設定するスケジュールの設定を行うことにした.
「週報」やグループごとにスケジュールを設定したことについての説明は 8.3.4 で行う.
(※文責: 川又康平)
後期スケジュールとマネジメント
プロジェクト全体の後期のスケジュールとして
○9月
:後期成果物の設定
○ 10 月
:後期成果物の開発や必要機材の購入
○ 11 月
:洞爺湖ワークショップの参加準備や最終成果発表会準備
○ 12 月
:最終成果発表会の準備及び最終成果発表会
というスケジュールで活動を行った. 後期スケジュールも基本的な流れとしては前期スケジュー
ルと変更点は少ない. 後期に行ったマネジメントは基本的には前述した内容に, 前期の内容が合わ
さったものになる. しかし, 後期は前期に比べ活動期間が一ヶ月ほど少ないため, かなり余裕がない
中での活動となった. 短期間の開発では何が足りてなくて, 何が必要となっている作業なのかメン
バー同士で把握することが大事だ. 後期では前期以上にメンバー間のコミュニケーションを密に取
Group Report of 2012 SISP
- 87 -
Group Number 18-B
Hakodate Avatar
れるような配慮を心がけたマネジメントを行った.
洞爺湖ワークショップについては後述の 8.5 に記載した.
(※文責: 川又康平)
9.3.4
前期, 後期マネジメント比較と評価
プロジェクトマネジメントの前期と後期の比較としては,
• 情報共有に用いたツールの優先度が変わった.
• スケジュールをグループ別にも設定して, グループごとに違った進行具合で活動した.
• 後期からメンバーに「週報」を書いてもらった.
• 問題発生時に, メンバーはなるべくリーダーと相談して問題に対処するようにした.
ということが挙げられる.
(※文責: 川又康平)
前期のマネジメントとの変更点‐情報共有に用いたツールの優先度について
前期とは違いデータの容量が大きいファイルを扱うことが多かった. データの共有に使用してい
た「サイボウズ Live」はアップロード上限が定められていて使いにくかったため, プロジェクト
全体で共有するべき内容には「サイボウズ Live」を使用し, グループ内で共有すればいいものや,
データの容量が大きいが共有しておきたいデータは「Dropbox」を使用するという区別が出来た.
そして, ファイル共有には「Skype」を用いることも多かったが, 「Skype」ではファイルの受け渡
しをするユーザーが常にインターネットに繋がった状態でないとファイルの受け渡しができない.
そのため, 非常に使いにくいという声がメンバーからあった. その点も踏まえてメンバー全員で共
有するファイルは「Dropbox」を優先的に使う機会が多かった.
結果として, 終盤まで多くの機会で使われ, 常にメンバーどうしてファイルを共有できていた点
から「Dropbox」を優先して使ったことは良かったといえる.
(※文責: 川又康平)
前期のマネジメントとの変更点‐グループ別スケジュール
前期では開発を専門的に行う「技術班」, 3D モデルやアニメーション, 音声, ストーリー等を制
作する「コンテンツ班」に分かれて活動していた. それぞれ異なった作業だったが, 成果物が 1 つ
であったため, 足並みを揃えたスケジュールを組んでいた. しかし, 後期では異なった成果物(AR
パンフレットと VR アクアリウム)の制作を行ったため, 両班で足並みを揃えて作業することは少
なかった. なので, 各班がそれぞれ動きやすいようにスケジュールを組んでの活動を行うことにし
た. プロジェクトとして全体の足並みを揃えなければいけない場面に関しては, プロジェクト全体
のスケジュールを設定し, 各班はその全体スケジュールを元にスケジュール設定を行ってもらった.
その結果, 各班がそれぞれの作業ペースで作業を行うことができた. 各班の作業ペースから, 作業
が終わり時間の空いたメンバーはスケジュールを詰めるのではなく, 他班の方へ手伝いをする等で
時間を有意に扱った.
Group Report of 2012 SISP
- 88 -
Group Number 18-B
Hakodate Avatar
(※文責: 川又康平)
前期のマネジメントとの変更点‐週報
前述したように, 各プロジェクトメンバーに 1 週間どんな作業を行い, どんな問題が生じたか等
を記述する「週報」を毎週書いてもらった. 週報には以下のようなことを書いてもらった.
• 1 週間どんな作業をしたか.
• その 1 週間で発生した問題, 解決した問題について.
• 現状なにか問題が発生していないかどうか.
• 今週・来週の予定は何か.
15 名という大きな人数を抱えたプロジェクトなので, 1 人 1 人入念に聞いていると時間が大幅に
かかる. 週報を書いて一度に集めてしまえば, その作業状況を詳しく, 短時間に収集できる. また,
予定についてメンバー自身が再認識することで, メンバーもスケジュールに自ずと詳しくなってい
く. 後々起こりそうな問題について等もリーダーだけではなくメンバーも判断する機会になった.
ここで集めた手法はプロジェクト担当教員への報告や, スケジュール調整の資料として扱われた.
(※文責: 川又康平)
前期のマネジメントとの変更点‐問題発生時の対応
前期では問題が発生した場合それに対して適宜メンバーの判断で問題を処理し, その後の報告を
受けるということをしていたが, それが原因でメンバー間の衝突が起こってしまった. 作業の優先
度が急に変り, それによって変化したメンバーの作業内容が, 他のメンバーとの作業の進行具合と
噛み合わなくなってしまった. 後期ではそれを防ぐために, 問題発生時は常にグループリーダーに
報告し, プロジェクトリーダーと話し合いをした. グループで設定されたスケジュールと, プロジェ
クトで設定されたスケジュールの両方を再調整し, 足並みを揃えながらの活動をすることを目指
した.
結果, 足並みを揃えることができ, 常にリーダーがどんな作業を行っているか把握していられた
ことで, メンバーが時間を無駄なく活動することができた.
(※文責: 川又康平)
9.3.5
プロジェクトマネジメントまとめ
プロジェクトマネジメントのまとめとして, 前期に起こった出来ことから学び, 後期のマネジメ
ントに活かせただろう. 前期と比べ, 短期間だった後期の時間有効に使用できたと言える. マネジ
メントにおいて, 「Skype」や「サイボウズ Live」等のコミュニケーションツールを使用したが, そ
れが有効に働き, 何かが起こった時にメンバー同士が即座にコミュニケーションをとって対応する
ことができた. また, 定期的に行われた報告会等にも利用され, うまくプロジェクトの情報をまとめ
ることができていたのではないかと考えられる.
(※文責: 川又康平)
Group Report of 2012 SISP
- 89 -
Group Number 18-B
Hakodate Avatar
9.4
9.4.1
プロジェクト全体を通しての活動報告
年間スケジュール
一年間の活動スケジュールとしてまとめると,
○ 5 月 :開発に必要な基礎技術の習得と学習
○ 6 月 :前期成果物の開発
○ 7 月 :中間発表会の準備及び中間発表
○ 9 月 :後期成果物の設定
○ 10 月 :後期成果物の開発や必要機材の購入
○ 11 月 :洞爺湖ワークショップの参加準備や最終成果発表会準備
○ 12 月 :最終成果発表会の準備及び最終成果発表会
となっている.
(※文責: 川又康平)
9.4.2
通常活動
前期, 後期で違ったものの開発を行ったが, 基本的な活動は変わらない. 活動時間では本大学 3
階にあるエレクトロニクス工房に集合し, そこで開発作業や, 3D モデルの製作を行った. また, 本
大学 3 階にある 363 教室にある MacOS のパソコンを利用し, 中間・最終成果発表会で用いるポス
ターの制作や後期ではパンフレットの製作等を行った. プロジェクトリーダーやグループリーダー
も成果物の制作に携わっているが, その他にメンバーの活動様子の把握作業や, リーダー同士で話
し合い, プロジェクト大まかな流れや, スケジュールの変更について話し合ったりした. 何か問題が
発生した時や, 作業の進捗状況が遅れている場合等に多く行われた. 普段からコミュニケーション
を密に取るように心がけていたため, 問題発生時にはすぐに対応することができた. スケジュール
の再調整を行い, 目標日までに終わらせる要諦だった作業を終わらせることができた. また, 成果物
が未完成になる等の大きなミス等は未然に防ぐことはできた.
課外活動時にはそれぞれメンバーの自宅で開発作業や 3D モデルの製作を行ってもらった. その
際に「Skype」や「サイボウズ Live」等のコミュニケーションツールが役に立った. 問題発生時に
すぐにメンバー間や各リーダーへ連絡することができ, 急なスケジュール変更の連絡やフィールド
ワークの日程調整を行う等, 多種多様な場面で活躍した. ファイル共有には「Dropbox」をメイン
に使うことで, 欲しい時に欲しいファイルをダウンロードすることができたので, メンバーからの
評価は高かった. しかし, ドロップボックスの性質上, 2GB 以上のデータをアップロードすること
はできず, 時折アップロードしたデータを整理し, 使わないデータは削除する等の対策をとって対
応する必要があった. しかし, この削除作業も1度しか行われず, 比較的不便なく使用できたと言
える.
(※文責: 川又康平)
Group Report of 2012 SISP
- 90 -
Group Number 18-B
Hakodate Avatar
9.4.3
中間・最終成果発表会
スケジュール及び準備
中間・最終成果発表会は前期と後期の終わりに行われる, プロジェクトで行ってきたことの成果
を発表するものだ. 本プロジェクトでは成果発表会の 2 週間前から余裕をもって準備を行い, 発表
練習に取り組めるようにスケジュールを組んだ. しかし, 後期には 1 週間ほどしか時間が取れず, 少
ない時間の中で発表の準備を進めた. 成果発表会では展示するものとしてポスターの制作や, プロ
ジェクトでの成果物の準備を行った. そして, 発表をするにあたって, プロジェクターで映すプレゼ
ンテーション用の資料であるスライドと, 成果物を説明するためにデモムービーの制作を行った.
(※文責: 川又康平)
展示物(ポスター・成果物)の準備
成果発表会に来てくださった人達が自由に見ることができる展示物の準備を行った. 本プロジェ
クトでは展示物としてポスターと成果物を用意した. ポスターは 3 枚用意し, 1 枚が本プロジェク
ト全体について記載されたもので, 他 2 枚が開発や成果物について詳しく書かれたものを用意した.
本プロジェクトで行われたことや, メンバーがどのように動き, 成果としてどのようなものが得ら
れたのか等訪れた人が短時間でわかるようなポスター作りを心がけた.
また, 訪れた人が本プロジェクトで制作した成果物に直接触れる場を用意した. 実際に成果物に
触れる機会を設けることで, 本プロジェクトの成果をより深く知ってもらうためだ. そのために成
果物について説明する練習を行った. さらに, 実際に来てくれた人にどのようなデモを行うのかリ
ハーサル等して発表会当日に向けて練習した.
(※文責: 川又康平)
発表資料(スライド・デモムービー・成果物)の準備
発表を行うにあたって, スライド, デモムービー, 成果物の準備を行った. スライドは, プロジェ
クターを通して発表を聴きに来てくれた人へ, プレゼンテーション用の資料として使用するために
制作した. また, 発表の資料として成果物がどんなものか言葉以外でも説明出来るように, デモムー
ビーを制作した. 後期制作した「AR パンフレット」は発表中にデモができるような手軽なもの
だったので, 成果物を直接プロジェクターに映し出してデモを行った.
スライドを作るときはなるべく写真を多く取り入れ, 見る人が飽きないような作りを目指した.
また発表中に説明もなるべく簡略化し, 難しい単語は使わず, 伝わりやすいような発表内容にする
ように練習した. 発表は前半後半でそれぞれ三回ずつある. そのため, 前半後半 3 人ずつ発表の担
当をしてもらい, 合計 6 名が発表の練習に取り組んだ. 発表練習ではリハーサルや, 発表内容の推
敲を行うことでより洗練された発表ができるようにした.
デモムービーの制作ではなるべく成果物がどんなものかわかりやすく, 時間がかかりすぎないも
のにするように心がけた.
(※文責: 川又康平)
Group Report of 2012 SISP
- 91 -
Group Number 18-B
Hakodate Avatar
9.5
9.5.1
洞爺湖ワークショップにおける成果物の発表
本項概要
11 月 23 日と 24 日に室蘭工業大学と公立はこだて未来大学のお互いの学生交流を目的とし, 両
学学生が集い, 大学・地域の活性化をテーマに, 参加型のワークショップが企画され, 開催された.
そのワークショップの場に, お互いの大学での研究内容理解ということで, 会場内に研究紹介ブー
スが設けられることになった. このワークショップに本プロジェクトメンバーの 5 人が参加し, 研
究紹介ブースに本プロジェクトで制作された成果物の展示を行った.
(※文責: 川又康平)
図 9.2
9.5.2
洞爺湖ワークショップの様子
当日の様子と結果
当日には多くの学生と教員が集まり, それぞれ参加者が自由に研究ブースを回ることになった.
本プロジェクトからは AR パンフレット, VR アクアリウムの展示を行った.
(※文責: 川又康平)
AR パンフレットの様子
見に来てくれた人のほとんどは AR については知っている様子だった. その AR を利用して独自
に音声をつけ, アニメーションを再生していたことには驚いていた. また, パンフレットの出来も高
Group Report of 2012 SISP
- 92 -
Group Number 18-B
Hakodate Avatar
評価を得られていた. 室蘭工業大学では, デザインに関して深く関わる機会が少ないため, パンフ
レットを自作したことに対して新鮮味があったようだ. しかし, これを室蘭工業大学の人に「何故
既存のものを元に作らず, 1 から自分たちで作ったのか」という質問に対してうまく返答すること
ができなかった. また, この時期にはまだ AR パンフレットは完成しておらず, 仕様もまだ完全に
完成していない状態だったため, 今回のワークショップで質問されたことや, 修正箇所については
参考になるものが多かった.
(※文責: 川又康平)
VR アクアリウムの様子
VR についても見に来てくれた人は知っている人が多かった. そのため, VR アクアリウムの仕
様の説明は簡単にすんだ. HMD と Web カメラを利用したビデオシースルーと VR 技術を組み合
わせて利用したことに驚いた様子だった. AR マーカーを利用して直接モデルに触れられる技術や,
HMD を通して VR のアニメーションを見ることを楽しんでもらえたように思われる.
この VR アクアリウムの展示にあたって「ビデオシースルーである利点が少ないが, 他に何か考
えているのか」という質問を受けた. この時点では AR マーカーを利用する以上に現実の情報を利
用するアイディアが少なかった. この質問を受けて, 今後 VR アクアリウムをどのように開発する
か等考えさせられた. 他にもこうしたらいいのではないかというアイディア等今後の開発に活かせ
る意見をもらえた. VR アクアリウムについてのアイディアをもう一度見直すいい機会になった.
(※文責: 川又康平)
9.5.3
本章まとめ
プロジェクト活動報告及びマネジメントのまとめとして, プロジェクト学習の目的として「問題
提起から問題解決までのプロセスを実際に体験します」というものがあったが, 授業ではなく自主
的に開発を自分たちで行い, そこで起きた問題の対処や解決, ずれてしまったスケジュール全体を
通して調整する等, 様々な場面でプロジェクトメンバーが活発に活動して前述の目的を果たせてい
たと考えられる. 1 年通しての活動をしていく中で, 様々な問題が発生した. 問題に対して対処を行
う際にももっといい方法があったのではないかと考え, 反省すべきことが多いと思われるが, 結果
としてメンバー全員が様々な状況で, 様々な活動を行えたことはプロジェクトとして活動するいい
経験ができたのではないかと考えられる.
(※文責: 川又康平)
Group Report of 2012 SISP
- 93 -
Group Number 18-B
Hakodate Avatar
付録 A
新規習得技術
Tex
C++ 言語
Metasequoia
PMD エディター
MikuMikuDance
ARtoolkit
Vuzix Standard SDK for Windows
SDL mixer
Group Report of 2012 SISP
- 94 -
Group Number 18-B
Hakodate Avatar
付録 B
活用した講義
コンピュータグラフィックス
線形代数学
ポスター講習
Tex 講習
Group Report of 2012 SISP
- 95 -
Group Number 18-B
Hakodate Avatar
参考文献
[1] Mathmatica フォーラム 先端技術ラボ「
, http://www.mathforum.jp/sentan/02vr/lec042.html」
2013 年 1 月 23 日アクセス
[2] Simple DirectMedia Layer, 「http://www.libsdl.org/」 2013 年 1 月 3 日アクセス
[3] Vuzix Corporation, 「http://www.vuzix.jp/」 2013 年 1 月 3 日アクセス
[4] ARToolKit を 使 っ た 拡 張 現 実 感 プ ロ グ ラ ミ ン グ - 工 学 ナ ビ, 「http://kougakunavi.net/ARToolKit/index.html」 2013 年 1 月 3 日アクセス
[5] DX ライブラリ置き場, 「http://homepage2.nifty.com/natupaji/DxLib/」 2013 年 1 月 3 日
アクセス
[6] fan-freakin-tastic days, 「http://d.hatena.ne.jp/ninamop/20090710/1247233034」 2013 年
1 月 3 日アクセス
[7] 独立行政法人水産総合研究センター, 「http://tuna.fra.affrc.go.jp/topics/220512/」 1 月 28
日アクセス
Group Report of 2012 SISP
- 96 -
Group Number 18-B