pukiwikiプラグイン/aframe360 の変更点

お名前:


#author("2019-04-08T22:04:03+09:00","-","-")
#author("2019-04-09T06:11:56+09:00","-","-")
表記、そんな感じのものを作ったので、一応公開しておきます。~

*プラグイン概要 [#q12005b5]

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

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


*インストール方法 [#j4bbcbf3]
+本ページに添付されている下記ファイルをダウンロードし、「aframe360.inc.php」の名前で pukiwiki の pluginフォルダにおいてください。
--[[aframe360_1.1.inc.php>http://tomose.dynalias.net/junk/index.php?plugin=attach&pcmd=open&file=aframe360_1.1.inc.php&refer=pukiwiki%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%2Faframe360]]


*使い方 [#b3dc9f37]
ブロック型プラグインです。~

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

***添付ファイル指定の例 [#y9987f7f]
 #aframe360(R0010145z.jpg,y:-45)
#aframe360(R0010145z.jpg,y:-45)

***URL指定の例 [#af981cb8]
 #aframe360(http://tomose.dynalias.net/theta/20190405/R0010034.JPG,x:0.1,y:0,z:-2)
#aframe360(http://tomose.dynalias.net/theta/20190405/R0010034.JPG,x:0.1,y:0,z:-2)


**パラメータ詳細 [#zae0c320]
指定できるパラメータは以下の通りです。~
 #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』との同時指定 [#c9d6b48d]
『xmp』と『x/y/z』とはどちらも傾き/回転を指定するものなので意味的に競合します:これらを同時指定した場合、後から指定されたものが優先されます。~
これは、以下のような利用を想定した仕様です。

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

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





*技術的な話。 [#d1389b79]

**エラー処理について [#u392d13d]
画像表示は、a-frame 側に完全に依存しています。~
各種パラメータが不正だったとしても、そのエラー処理も a-frame 依存です。
-一応「添付ファイルが存在しているか」チェックだけはしています。

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


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

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

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

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



*コメント [#x9f77c06]
ご意見などがあれば。
#comment2(below)
お名前: