AJAXでヴァーチャルツアーを実現する

  • comment:0
  • | trackback:0

さて、本日は午前と午後に分けて、今週末のイベントでお話する内容のうち、AJAXで実現するパノラマVRプレゼンテーションについて、お話します。
フランスで活躍するウェブデベロッパ「OpenStudio」は、ウェブサイト開発のエキスパートとしてその世界ではよく知られています。
また彼らは、AJAXフレームワーク「jQuery」の使い手としても有名です。
そんな彼らが、jQueryを使った2種類のパノラマVRコンテンツを実現していますので、ご紹介します。

第1弾は、円筒パノラマ画像にクリッカブルマップを埋め込み、パノラマ画像をループスクロールさせて、画像中のホットスポットをクリックすると詳細画像が出てくる、というAJAXならではの挙動のバーチャルツアーコンテンツです。

jQuery virtual tour
jQuery virtual tour
http://www.openstudio.fr/jquery-virtual-tour/

デモサイトは一式がダウンロードできますので、ぜひご一読下さい。

ファイルの中に入ってるJavaScriptファイルは以下の通り。

  • jquery.js
  • jquery.panorama.js
  • jquery.advanced-panorama.js
  • cvi_text_lib.js
  • cvi_text_lib.js
  • thickbox.js

このうち「cvi_text_lib.js」は文字コードを制御するライブラリ、「jquery.flipv.js」は縦書き変換、そして「thickbox.js」は画面内ポップアップのライブラリです。
なので、重要なのは基本ライブラリの「jquery.js」に、OpenStudio独自開発の「jquery.panorama.js」「jquery.advanced-panorama.js」ですね。
「jquery.panorama.js」は、パノラマ表示とループスクロールを、「jquery.advanced-panorama.js」はクリッカブルマップ表示を機能させます。
cssも、thickbox用とjquery.panorama用が特別に導入されます。

<head>内に挿入するコードは以下のような感じでしょうか。


  • <link rel="stylesheet" type="text/css" href="css/thickbox.css" media="screen" />
    <link rel="stylesheet" type="text/css" href="css/jquery.panorama.css" media="screen" />
    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript" src="js/jquery.panorama.js"></script>
    <script type="text/javascript">
     $(document).ready(function(){
      $("img.advancedpanorama").panorama({
       auto_start: 0,
       start_position: 1527
       });
      });
    </script>
    <script type="text/javascript" src="js/cvi_text_lib.js"></script>
    <script type="text/javascript" src="js/jquery.advanced-panorama.js"></script>
    <script type="text/javascript" src="js/jquery.flipv.js"></script>
    <script type="text/javascript" src="js/thickbox.js"></script>
    <script type="text/javascript">
     tb_pathToImage = "css/loadingAnimation.gif";
    </script>

この中で特に記述されているパラメーターは、
「auto_start: 0」
「start_position: 1527」
ですね。
上は起動時の自動回転のon/off(「0」でoff、「1」でon)を、下は起動時のポジションを画像の座標で指定しています。

またスクロールのスピードは「jquery.panorama.js」の14行目
「speed: 20000」
の数値を変えることで制御できます。この数値は1周するのにかかる時間をミリ秒で表してます。「20000ミリ秒=20秒」ですね。
またこのライブラリのヘッダ部には、このコンテンツを制御する様々な変数が与えられています。
「viewport_width」表示横幅(画角)(ピクセル)
「direction」左右の回転方向を制御(left/right)
「control_display」矢印などのインターフェイス部の表示の有無(true/false)
「start_position」起動時のポジション(ピクセル)
「auto_start」自動回転(true/false)
「mode_360」ループさせるかどうか?(true/false)

そして更に、<body>内に挿入するコードは以下のような感じになります。


  • <img src="img/sculpteur.jpg" class="advancedpanorama" width="2448" height="375" usemap="testmap" alt="Atelier du sculpteur" />
    <map id="testmap" name="testmap">
     <area shape="rect" coords="1653,72,1839,255" href="salleformation.html" alt="vers la salle de formation" />
     <area shape="rect" coords="2013,114,2091,210" href="img/statue1.jpg" alt="statues" class="thickbox" />
     <area shape="rect" coords="1920,276,2070,351" href="img/gouges.jpg" alt="gouges" class="thickbox" />
    </map>

画像そのものは円筒パノラマの画像サイズそのものを指定し、画面に表示される部分は「jquery.panorama.js」で指定された画角幅です。
クリッカブルマップのエリアを指定すると、パノラマ画像内に自動的に枠が入ります。これもJavaScriptで制御してるようですね。

意外と簡単に導入できるパノラマVRコンテンツです。
FlashもQTVRも表示できないiPhone用サイトには、ピッタリかもしれません。ウチでも導入してみようかな。
ループの横スクロールスクリプト、というだけでも価値あるかも、ですよ!


2008年8月23日(土)15:00〜17:00 参加無料のイベントです。お気軽にお越し下さい!
親睦会(参加費6,000円)の参加申込もこちらからどうぞ

QTVR Diary -OFFLINE- vol.5

トラックバック(0)

トラックバックURL:

コメントする

日本唯一のパノラマ画像/VRムービーに関する企画・制作から、セミナー、ソリューション開発・販売に至る、あらゆる業務を行っています。

» パノラマの知名度は今や一般大衆レベルです。

近年パノラマコンテンツは、Googleストリートビューに代表される地図の付加情報としてのパノラマVRムービーの台頭で非常に注目を浴びていますが、その表現力はそれだけに留まらず、多方面で利用されるパノラマヴァーチャルツアーコンテンツ、ギガピクセルクラスの超高解像度パノラマコンテンツ、さらには、360°全方位パノラマ動画が、ライブ配信されるまでになっています。

» 他社を圧倒する経験値が皆様をサポートします。

このような、あらゆるパノラマコンテンツを総合的にプロデュース出来るのは、15年来培ってきたパノラマ制作のノウハウと、2005年から発信してきた「QTVR Diary」での情報の蓄積の賜物です。

» 常に業界をリードし続けます。

世界でも類を見ないパノラマ関連情報専門ブログ「QTVR Diary」の知名度は、リソースの少ない日本だけでなく海外からも注目を浴びています。国内外のメーカーからの情報やソリューションサンプルの提供を受け、いち早くパノラマ業界の専門情報をお届けしています。

» 新しいソリューションを常に開拓し続けます。

今後ますます増え続けるパノラマのニーズに対応すべく、日々研鑽を重ね、多くの方々にパノラマを楽しんで頂けるよう、努力してまいります。

<サイト内リンク>

<姉妹サイト>

<連絡先>

design studio "PENCIL" 二宮 章
〒602-8237
京都府京都市上京区
 大宮通一条下ル梨木町189-5
075-417-3062 (office)
075-417-3063 (fax)
090-9628-6263 (au)
080-3832-2352 (iphone)
ninomiya@pencil-jp.net