PRODUCTION NOTE

スタート

  • 「インターネットのブラウザで閲覧できる形式で記述された、21世紀の横浜・元町商店街への提案」という課題を受けてスタディを開始。関連ウェブサイト等による資料収集と現地調査を行う。
エスキース
  • コンセプト・ワーク「元町商店街を空間的に再現したバーチャル・モールのようなものではなく、抽象的で双方向的な消費空間―通常のリジッドな建築空間では達成できない変幻自在な空間」
  • 「情報そのもののビジュアライゼーション」
  • 「情報の階層構造の破棄・平準化」
  • 「テューブとセル」のイメージを検討。スケッチ作成。
  • セルの基本的な情報コンテンツ、操作のイベントやアクションを検討。初期画面バーストイメージ。(見送り)
  • 形状確認のためスタディモデリング。(formZ)
コンテンツ
  • 「商店」「商品」「人」「一般」を基本的な情報コンテンツとすることに決定。セルの画像およびセルに対応するHTMLファイルの作成準備。
  • 元町商店街で写真撮影および商品パンフレット等の入手。商品イメージの使用許可願い。
  • セルの作成(合計296種類)。 50×100pixelのPNGファイルにアルファを設定。画像は全て反転。(Photoshop)
  • HTMLファイルの作成(合計234種類)。 (NetscapeComposer)
モデリング
  • VRML空間内に表示する地図をモデリング(formZ)
  • テューブのモデリング開始。直径と長さの関係をスタディし、24角形×20列(=480セル)に決定。それぞれのセルにPNGの画像をマッピング。(formZ)
  • 完成したデータをVRML2.0形式で書き出し。(formZ)
プログラミング (VRML+JavaScript)
  • VRMLのスクリプトノード内にJavaScriptで実装。
  • すべてのセルが、タッチセンサおよびプロキシミティセンサを保持。
  • 全てのセルが自身のプロパティのコピーを別の場所に保存。
  • クリック:セルがクリックのイベントを検知するとブックマークの配列に格納されて、同時にセルのプロキシミティセンサがONになって常に画面手前側に表示されるようになる。ブックマーク上のセルをクリックすると、そのセルのプロパティのコピーを参照し、テューブ上の元の位置に戻る。
  • ブックマークの配列は独自にプログラムされたマネージャをもっていて、あるセルがテューブに戻ったとき、残りのセルが空席部分に再配列されるように管理されている。
  • オンマウスオーバ:セルがオンマウスオーバのイベントを検知すると、1)自身に関連付けられたHTMLファイルを別フレームに表示、2)地図の該当個所を強調表示、3)自身の透明度を0.5から1.0に変化させる。(点灯)(Mule for WIN32 : text editor)
プレセンテーション
  • 元町商店街の認識レベルのダイアグラムをモデリング・レンダリング。(Lattice Designer)
  • HTMLファイルにwrlをEmbedし、完成。
 
 

//////////////////////////////////////////////////////////
//// セルをクリックする際に呼ばれる関数               ////
//// チューブとブックマーク間のセルの移動、        ////
//// セルに対応する地図の強調表示、を行い、        ////
//// それらの情報をブックマークマネージャに伝える。////
//////////////////////////////////////////////////////////
function Move_0101(){
 if(frag0101 == 0){ // if cell is NOT bookmarked
  m0101.transparency = 0;
  SetBmXForm(cel0101, cel0101in);
  SetBmCoord(coord0101,texcoord0101);
  prox0101.enabled = TRUE;
  frag0101 = 1;
  bmNum = bmNum + 1;

  arrayNum = arrayNum + 1;
  nodeArray[arrayNum] = 'ob0101';
  lastObj = 'ob0101';
 }else{   // if cell is bookmarked
  prox0101.enabled = FALSE;
  m0101.transparency = 0.5;
  Reverse();
  frag0101 = 0;
  bmNum = bmNum - 1;

  ShiftBookmark('ob0101');
 }
}

//////////////////////////////////////////////////////////
//// セルのOnMouseOverイベントにより呼ばれる関数      ////
//// セルにリンクされたHTMLファイルの表示、        ////
//// セルに対応する地図の強調表示、を行う。        ////
//////////////////////////////////////////////////////////
function OnMouse_0101(frag){
 if(frag){  // OnMouseOver In
  m0101.transparency = 0;
  Browser.loadURL(new MFString('../information/info-shops/html/1a/1a13-MOTOMACHI_SSA.htm'), new MFString('target=html'));
  mat_1a13.diffuseColor = red;
  ScaleUpMap(coord_1a13.point);
 }else{   // OnMouseOver Out
  m0101.transparency = 0.5;
  mat_1a13.diffuseColor = yellow;
  ScaleDownMap(coord_1a13.point);
 }
}