Java3D と Blender による 3D CG

梶浦研究室
梶浦研究室 4
Java3D と Blender による 3D CG
梶浦研究室
E09J081
藤原
1 はじめに
康宏
フには表現すべきオブジェクトだけでなく、
Java3D を用いることにより、Web ページ
背景や証明やカメラなどすべての要素を定義
上でリアルタイムに 3DCG を扱うことがで
する。Java3D はこのようにして、仮想空間
きる。しかし、Java3D で物体を定義するに
を創り出している。
は、プログラム中で膨大な量の情報を定義し
3 Blender
なければならない。事実、昨年度の研究[1]
においても、3150 行以上のプログラムを記述
Blender はオランダ最大のアニメーション
してオブジェクトを定義、表示させていた。
スタジオ NeoGeo によって開発された、オブジ
Java3D プログラムでは Java3D オブジェ
ェクト指向の統合型 3D アニメーションソフ
クト(object)のインスタンス(instance)を生成
トである。なお Blender の特徴は以下に示す。
し、それらを「シーングラフ・データ構造
① モデリング、アニメーション、レンダリ
(scene graph data structure)」に配置する。
ング、ビデオ・ポスト・プロダクション、
従来ではシーングラフ・データ構造を配置す
ゲーム制作を含む、3D コンテンツの制作
る上で、プログラム言語により、定義しなけ
には欠かせない、幅の広いツール群を提
ればならなかった。
供する完璧な統合開発環境。
そこで本研究ではシーングラフのデータ構
② 配布しやすい軽いサイズのプログラム。
造の定義を簡略化するため、Blender と言う
③ クロスプラットフォーム。GUI は OpenGL
ソフトを使った。Java3D と Blender を使う
ベースで、対象は Windows、Linux、OSX、
ことで精度の高いオブジェクトの作成、表示
FreeBSD、Irix、Sun。
を試みた。以下では、Java3D、Blender、開
④ 高速で効率的な製作作業を可能にするハ
発手順、システムの特徴、について述べる。
イクオリティな 3D アーキテクチャー。
⑤ www.blender3d.org を通したタダで使え
2 Java3D
Java3D
るサポートチャンネル。
Java3D とは、Java プログラムの中から使
⑥ 25 万人以上の世界中のユーザーのコミュ
用できる 3DCG(3 次元コンピュータグラフィ
ッ ク ス ) の
API(Application
ニティー。
⑦ 完全無料の Free Software
Program
Interface)である。Java と同様に Web ブラウ
ザ上で実行できるが、Java3D を含むアプレ
ットの場合には、Web ブラウザに Java3D 用
プラグインがインストールされている必要が
ある。
Java3D で 3DCG を作成するためには、シ
ーングラフと呼ばれるデータ構造(データベ
図 1.開発途中図
ース)を定義しなければならない。シーングラ
9
2006 年度 コンピュータ情報学科卒論発表会予稿
コンピュータ情報学科卒論発表会予稿
本研究で私が Blender に着目したのは、ク
ロスプラットフォームで、完全無料であるソ
フトウェアということである。
他の 3DCG ソフトとしては Shade、六角大
王、light wave、MAYA、3DS-MAX etc があ
るが、便利なソフトはほぼ有料で高額となっ
ている。
図 2.公開している
公開しているホームページ
しているホームページ①
ホームページ①
4 開発手順
開発手順
本システムは、左記で説明した Java3D と
Blender、テキストエディタにより HTML の作
成という手順をおって開発した。開発順と内
容は以下に示す。
①
Blender により、CPU、マザーボード、
MEMORY、HDD、DVD ドライブ、PC ケー
ス、PC 全体図のオブジェクトを作成。
同時にオブジェクトのファイル形式
図 3.公開している
公開しているホームページ
しているホームページ②
ホームページ②
を VRML97 形式にして保存。
②
6 おわりに
Java3D の MyVrmlLoader クラスにより、
VRML97 のファイルを読み込むプログ
③
Java3D と Blender を使うことにより、精度
ラムを作成。
の高いオブジェクトを作成し、閲覧すること
テキストエディタで、HTML ファイルを
を可能とさせた。今回はオブジェクトをパソ
作成。
②の Java3D プログラムを使い、
コンのパーツとし、実装したので、コンピュ
①で作成した VRML97 形式のファイル
ータのハードの基礎を効果的に学ぶことがで
を読み込み、Java アプレットとして実
きる。今後は今回表現できなかった、外部イ
装。
ンターフェイスや、精度の高いオブジェクト
の作成も行ってみたい。
5 システムの
システムの特徴
参考文献
本システムは、図2のように Java アプレ
ットとして Web 上に実装している[3]。
また、
[1] 久保田祥正氏: 『Java3D によるステアリ
図3のように作成したオブジェクトだけを表
ングシステムの可視化』(2005 倉敷芸術科学
示するのではなく、各パーツの説明を加える
大学 卒業論文予稿集)
ことにより、機能を理解しつつ、パーツの形
[2] 広内哲夫:『Java3D グラフィックス』
,小
をユーザーの思うように動かせ、学べるとい
学館(2004).
う特徴も備えている。
[3] 『コンピュータの仕組みの学習』
http://www.kusa.ac.jp/~e09j081/index.htm
10