WebGLを使った亀場の実況中継

このページでは、亀場の様子をブラウザで観戦するための方法を紹介する。

1. ソフトウェアの用意と接続手順

ブラウザ側から見ることができるのは、カメやドーナッツなどの物体だけで、 タートルグラフィックスの描画内容はブラウザ側には表示されません。

亀場サーバー(2013-06-24版以降)には、ウェブブラウザーと通信する機能が内蔵されていて、「対戦」の様子を ブラウザーで観戦することができる。 以下は、1台のパソコンの画面上で、亀場と、ウェブでの中継画面を2枚、同時に表示してみた例。 このように、上空から観戦するやり方と、カメの視点で眺めるやり方が選択できる。

右のデモ動画は、スクリーンキャプチャを同時に行っているため、パソコンの負荷が大きく、多少動きがぎこちないところがあります・・・

対応ブラウザ

この機能を使うためには、WebGLという機能に対応しているブラウザー(Firefox 4以上、Chrome, Mac版Safari等)が必要となる (Safariなど、一部のブラウザでは、手動でWebGLをオンにしなければならない)。 また、パソコンに、一定水準以上の三次元グラフィックス性能が備わっていないと、動きがぎこちなく感じられるかもしれない。 アンドロイドタブレット上のFireFoxやChromeでも動作を確認しているが、滑らかな動きは期待しないほうが良い。

その際の接続先は、goose.cite.tohoku.ac.jp (133.242.226.72) になります。

なお、「中継」に必要なプログラム(JavaScript)は、インターネットから自動的にダウンロードされるようになっているので、 ネットに接続された環境も合わせて必要である。

亀場サーバーの起動

亀場サーバーを起動すると、内部のhttpサーバーが動き出す。初期状態では、自分のパソコン(IPアドレス 127.0.0.1)からの接続しか許可されていないので、 他のパソコンからの接続も許可する場合は、亀場の上でマウスを右クリックして、「Toggle Private/Public Mode」を選択し、 ウィンドウのタイトルが「Public Turtle Field @...」となっていることを確認する。

tfield-turtle-cube
カメはこんな感じで表示されます。

ブラウザでアクセス

ウェブブラウザーから亀場にアクセスするには、httpで2280番ポートに接続する。例えば、亀場が動いているのと同じパソコンからアクセスする場合、接続先は

http://localhost:2280

となる。別のパソコンの亀場を「覗く」には、localhostのところを、そのパソコンのホスト名(IPアドレス)に変えれば良い。 すると、壁に囲まれた四角い亀場を上空から見下ろした画像が表示されるはずである。

カメのニックネームとして、turtle, coin, wall, imgは用いないでください。

カメの視点から亀場を見るには、あらかじめ、そのカメにニックネームを付けておく必要がある。 C言語の場合、具体的には、プログラム中(CON( )関数を呼び出した後)に

NM("kame") ;

のようにNM( )関数を呼び出す。

"kame"と命名されたカメが亀場に生存しているときに

カメの視点に切り替えるには、ブラウザ上に表示されているカメの名前をクリックしてもよい。

http://localhost:2280/kame

にアクセスすると、そのカメの視点からの画像が表示される。このとき、マウスをクリックしながら水平方向にドラッグすると視点を回転させることができる。

同じ名前のカメが複数見つかった場合は、プログラムが最初に見つけたカメが選択される。 そのカメが亀場から消えると、上空から見下ろす視点に自動的に切り替わる。