速報

imgproxyのICO処理にコード実行のおそれ|4.0.16だけでは残る問題を確認

CATEGORY

【Panolens.js】360°パノラマ画像をサイトに表示するライブラリの使い方

※本ページのリンクにはプロモーションが含まれています。

【Panolens.js】360°パノラマ画像をサイトに表示するライブラリの使い方

目次

本記事では、Panolens.jsを使って360度で撮影されたパノラマ画像をサイトに表示する方法をご紹介しています。

パノラマ画像をサイトに表示したいんだけど簡単に実装する方法ないかな?

上記の疑問にお答えできればと思います。

では解説していきます。

スポンサーリンク

Panolens.jsとは

Panolens.jsはThree.jsという3Dフレームワークを使用した、パノラマ、仮想現実、拡張現実を表示するためのライブラリです。下記の公式サイトもしくはGithubからライブラリ本体をダウンロードすることができます。

開発者のサイトに下記の記載があります。Google先生に翻訳してもらった内容も併せてどうぞ!

Panolens.js is based on Three.JS (a 3D framework) with specific interest area in panorama, virtual reality, and potentially augmented reality. To start using panolens.js, download minified three.js and minified panolens.js and include these two files in your project -Google翻訳- Panolens.jsはThree.JS(3Dフレームワーク)に基づいており、パノラマ、仮想現実、および潜在的に拡張現実に特定の関心領域があります。panolens.jsの使用を開始するには、縮小されたthree.jsと縮小されたpanolens.jsをダウンロードし、これら2つのファイルをプロジェクトに含めます。 引用元:https://pchen66.github.io/Panolens/#Documentation

「panolens.js」は単体で動作するのではなく「three.js」に基づいて動くライブラリです。そのため基となる「three.js」を併せて読み込む必要があります。別のファイルを読み込むためサイトが重くなるか気になる方もいると思いますが、ファイルサイズ637KBと軽量です。それに「three.js」は強力な3Dフレームワークなので、360°画像をマウスや指でぐりぐりと動かしても滑らかな描画が期待できますね!

Panolens.jsの概要がわかったところで、読み込み~使い方を順に見ていきましょう。

Panolens.jsを読み込む

Panolens.jsを動かすために基本となるファイルの読み込みます。

前項でご紹介したようにPanolens.jsは「three.js」に基づいて動くライブラリなので下記の順番でファイルを読み込む必要があります。

  • 1. three.js
  • 2. panolens.js

公式サイトやGithubからファイルを一式ダウンロードされた方は、保存したファイルを下記の順番で読み込みます。

ダウンロード

<!-- three.js -->
<script src="js/three.min.js"></script>
<!-- panolens.js -->
<script src="js/panolens.min.js"></script>

とりあえず試しに動かしてみたい!という方はもありますので、下記をご利用ください。
※CDNは急に読み込めなくなる可能性がありますので使用される場合はご注意ください(経験談)。

CDN

<!-- three.js -->
<script src="https://threejs.org/build/three.min.js"></script>
<!-- panolens.js -->
<script src="https://raw.githubusercontent.com/pchen66/panolens.js/master/build/panolens.min.js"></script>

以上で「panolens.js」と「three.js」の読み込みが完了です。続いて基本的な使い方を見ていきましょう。

スポンサーリンク

Panolens.jsの基本的な使い方

では実際にPanolens.jsを触っていきます。Panolens.jsは下記の流れで実装していきます。

  • パノラマ画像を表示する要素を指定する
  • 表示するパノラマ画像を用意する
  • オプションを指定してビューアを生成する
  • ビューアにパノラマ画像を追加する

非常にシンプルでわかりやすいですね!

ちなみに公式サイトで紹介されているサンプルコードは下記のようになっています。

//パノラマ画像を用意
const panorama = new PANOLENS.ImagePanorama('panorama.jpg');
//ビューアを生成
const viewer = new PANOLENS.Viewer();
//ビューアにパノラマ画像を追加
viewer.add( panorama );

サンプルコードではパノラマ画像を表示する要素が指定されていませんが、その場合は「body」にパノラマ画像が追加されるとのことです。これだけでパノラマ画像が表示できるのはすごく助かりますね。

以上で基本的な使い方の説明は終わりなのですが、もっとオプションを付けたりしたいですよね。なのでサンプルコードに少し手を加えて下記デモのような形でパノラマ画像を表示してみましょう!

See the Pen Panolens.js |JavaScript by ryohei (@intotheprogram) on CodePen.

下記にサンプルコードを載せています。ちなみにオプションで追加したのは、カメラ視野と自動回転です。

HTML

<div id="panolens"></div>

JS

const panoramaViewer = (element, image) => {

//パノラマ画像を表示する要素 let el = document.querySelector(element); //パノラマ画像 let panorama = new PANOLENS.ImagePanorama(image); //ビューワ生成 let viewer = new PANOLENS.Viewer({ container: el, cameraFov: 100, //カメラ視野 autoRotate: true, //自動回転オン autoRotateSpeed: 0.1, //回転スピード autoRotateActivationDuration: 5 //回転を動かす期間 }); //ビューワにパノラマ画像を追加 viewer.add(panorama); };

const element = "#panolens"; const image = "panorama.jpg"; panoramaViewer(element, image);

もちろん他にも多数のオプションが用意されています。もっと知りたい方は、下記の公式ドキュメントに目を通してみると幸せになれるかもしれません。

最後に

最近は不動産、ファッション、ギャラリーサイトなどでパノラマ画像がよく使用されています。パノラマ画像の表示方法を知っておくと今後のサイト制作に役立つかもしれないですね!

以上、Panolens.jsで360°パノラマ画像をサイトに表示するライブラリの使い方のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / アプリ開発者 / 技術ブログ運営者

福岡のWeb制作会社に勤務するWebエンジニアです。10年以上にわたりWeb制作・開発に携わり、ヒアリングや進行管理から、コーディング、CMSの構築、システム開発、サーバーの構築・保守・運用まで、Webサイト制作の工程を幅広く担当しています。Webサイトは、これまでに100以上の構築・保守を手がけてきました。

個人でもWebサイトの制作・改修やWebアプリの開発・運用を行い、AIを活用した開発にも取り組んでいます。近年はWebセキュリティにも注力しています。

2015年から技術メディア「Into the Program」を運営し、実務や開発で得た知識をもとに、プログラミングの実装方法やWebサイトの運用・セキュリティ情報を発信しています。

主な分野
Webサイト構築・保守・運用 / HTML/CSS / JavaScript / PHP / WordPress / サーバー構築・保守・運用 / アプリ開発 / セキュリティ対策
資格・試験合格
情報セキュリティマネジメント試験
基本情報技術者試験
AWS認定ソリューションアーキテクト アソシエイト
PHP8技術者認定ウィザード
メディア運営
2015年〜

記事の作成・更新について

セキュリティ記事は、ベンダーの公式アドバイザリやCVE・JVNなどの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

関連する記事

おすすめの書籍

キーワードから探す

スポンサーリンク

CDN

世界各地のサーバーにWebサイトのファイルを複製して置き、利用者に近いサーバーから配信する仕組み。表示の高速化や負荷の分散に使う。

詳しく見る