pukiwikiプラグイン/aframe360

2019-04-07 (日) 13:23:37 (100d)
お名前:

表記、そんな感じのものを作ったので、一応公開しておきます。

プラグイン概要

RICOH Thetaなどで撮影作成できる360度パノラマ画像を、Pukiwikiに埋め込み・パノラマ表示するためのプラグインです。

外部のライブラリ:a-frame( https://aframe.io ) を利用しています。

インストール方法

  1. 本ページに添付されている下記ファイルをダウンロードし、「aframe360.inc.php」の名前で pukiwiki の pluginフォルダにおいてください。

使い方

ブロック型プラグインです。

  1. 表示したいパノラマ画像データ(jpg)を、準備してください。
    指定は以下のいずれかを利用できます。
    • 方式1:pukiwikiの添付ファイル。パノラマ表示したいページに添付してください。
    • 方式2:URL指定。サーバ上の任意位置にアップロードし、それを参照できるURLを確認してください。
  2. pukiwikiページに以下のように記載すると、その領域に画像が埋め込まれます。
    #aframe360(画像ファイル)
    • 画像領域をドラッグすることで、表示されている方向を回転変更することができます(a-frameの機能です)

添付ファイル指定の例

#aframe360(R0010145z.jpg,y:-45)

URL指定の例

#aframe360(http://tomose.dynalias.net/theta/20190405/R0010034.JPG,x:0.1,y:0,z:-2)

パラメータ詳細

指定できるパラメータは以下の通りです。

#aframe360(image[,w:nnn][,h:nnn][,x:nnn][,y:nnn][,z:nnn][,xmp])
image
表示する画像ファイル。必須パラメータであり、必ず第一パラメータとして記載する必要があります。
w
埋め込み領域の画像幅の pixel 指定。省略でき、その場合600pxとして処理されます。
h
埋め込み領域の画像高さの pixel 指定。省略でき、その場合300pxとして処理されます。
x
画像初期方向補正、仰角のdegree指定。
省略時はゼロ扱い。プラスの数値で「うつむく」方向、90を指定すると「真下」となります。
y
画像初期方向補正、水平回転のdegree指定。
省略時はゼロ扱い。プラスの数値で「右に回転」方向。
z
画像初期方向補正、正面水平に対する傾きのdegree指定。
省略時はゼロ扱い。プラスの数値で「右に傾く」方向。
xmp
パノラマ画像ファイルに含まれる xmpmeta から、傾き情報を取得して反映します。
xmptest
xmp同様です。加えて、取得した傾きデータを画像上に『x:-1.7 y:82.1 z:3.5』というような形で表示します。

「image」は、必ず第一パラメータにしなければなりません。
それ以外のパラメータは省略可能、順番も自由です。

補足:『xmp』と『x/y/z』との同時指定

『xmp』と『x/y/z』とはどちらも傾き/回転を指定するものなので意味的に競合します:これらを同時指定した場合、後から指定されたものが優先されます。
これは、以下のような利用を想定した仕様です。

#aframe360(panorama.jpg, xmp, y:90)

上記のようにした場合、x(頷き方向の傾き)とz (首をかしげる方向の傾き)は画像データに含まれるもの、y(回れ右的方向)は利用者指定、という記述です。これにより「水平面に対する傾きは、画像データに基づく」「どの方向をデフォルト方向にするかは利用者指定」ということが実現できます。

技術的な話。

エラー処理について

画像表示は、a-frame 側に完全に依存しています。
各種パラメータが不正だったとしても、そのエラー処理も a-frame 依存です。

  • 一応「添付ファイルが存在しているか」チェックだけはしています。

スマートフォンとの相性

これも a-frame の特質と思われますが、この「埋め込みモード」においては、スマートフォンからの参照ではうまくいかないようです。

xmp/xmptest指定とそれに関する補足

xmp指定での「傾きデータの取得」はサーバ側に画像ダウンロードして解析するため、サーバ側にそれなりの負荷を与えます。
画像のメタデータは固定値なので、毎回解析するのは無駄ともいえます。

xmptest指定すると、メタデータに含まれているデータがテキストで画面表示されます。
これをコピーして、aframe360プラグインのパラメータに直接反映してしまうとよいかと思います。

参考:imageファイルのサイズ問題

RICOH Thetaの場合、撮影した画像の jpg ファイルが2MB強くらいになるようです。
pukiwiki の画像添付でのサイズ限界デフォルトに引っかかるので、回避する一手間は必要になります。

こちらの外部ページで、Theta画像の再保存が可能なアプリが配布されています:便利だと思いますのでご参考まで。
http://stereo.jpn.org/theta/thetalevel.html

コメント

ご意見などがあれば。


お名前:

お名前: