2016年12月28日水曜日

ELECOM VRグラス P-VRG03 シリーズのレビュー【スマホ用 VR ゴーグル】

メガネ着用可でピント調節、レンズ間隔調節も可能な一見するとまさに理想的な VR ゴーグルなのですが、使ってみて気がついたことがあるので、まとめてみました。

※公式には、眼鏡を装着した状態での使用はできない、となっているので眼鏡によっては合わないかもしれません。

ダンボール製 VR メガネとは一線を画する雰囲気w

お値段は約3,000円。
正直、2,000円以下で同程度のスペックをもつ VR ゴーグルやメガネもあるので多少お高いと言わざるを得ません。
しかし、店頭で使い比べてみると、目の幅や視力に合わせて調節できる機能、小ぶりな眼鏡なら着用可能なスペース、しっかりとホールドされるスマホ、そして広角で歪みの少ない大型のレンズ、とやはりハコスコや Cardboard のような安価なメガネタイプとは一線を画する使いやすさを感じたので購入してみました。

なかなか充実した機能!
[クリックで拡大]
箱の中身は全部でこんな感じ。

本体と取説(ペライチ)と黒いのは遮光シート
そして特筆すべきはこの底上げ力!( ゚∀゚)

箱の約半分は底上げですw
なんでこんなことしたんでしょうか……
まだ下に何か入ってるのかと期待してしまいましたよ。

まぁ冗談はさておき、いざ実際に使い始めたところ、ある重要な欠点に気が付きました!
それは……





セットしたスマホが操作できねー(爆)





おーまいがぁー、店頭では取っ替え引っ替えしていたので気が付きませんでしたが、一度セットすると画面をタッチするすべがありません;
ハコスコのようにタッチ用の穴が開いてるわけでも、Cardboard のようにマグネット式のボタンがついてるわけでもありません。
そのため、例えば動画を見ようとした場合……
  1. ゴーグルにスマホを仮乗せ(まだ固定しない)
  2. 動画の再生ポチィー
  3. 急いでスマホを固定
  4. さらに急いでヘッドにマウント
という手順になりますナンダコレ。

これだと視点合わせで決定する機能を持つアプリしか快適に使用できません。
それ以外の点には満足しているだけに、この欠点は大きすぎます。

つまりエレコムさん的には、こいつも一緒に買っとけよ!っということなのでしょう。



オノレ ELECOM ハメヤガッタナ(泣)
まぁ買う前に気が付けって話ですね。

ちなみに上記商品、iPhone では動画の再生とか停止のコントロールくらいしかできないのでご注意ください。
android 使っててお金に余裕のある方は買ったらいいんじゃないっすかねハナホジ。

とりあえず、私は本体に穴開けてタッチできる仕組みを組み込めないか思案中ですw
もし成功したら追記します。期待しないでください。

今回ご紹介した商品はこちら。この記事から買うやついないだろうけどな!



Cardboard やハコスコなどのビューア設定を初期状態に戻す方法

Cardboard はビューア(VR ゴーグル)の QRコードを読み込むだけで設定できるので便利なのですが、『やっぱり最初の状態に戻したい』なんてことも少なくありません。私はw

しかし困ったことにデフォルト(初期状態)に戻す方法が Cardboard には用意されていないようです。
まー、まだ Cardboard 程度なら一度消して再インストールすれば初期化できますが、YouTube アプリなどは面倒くさくてそうもいきません。

そこで初期化用のプロファイル QRコードを用意してみました。
iPhone 5系(s c SE)が対象ですが、iPhone 6 Pro でも最初に近い状態に戻りました。
android などでも利用できるかもしれません。

Unofficial Default for iPhone5

なお、目分量で初期状態を再現したものにすぎないため、完璧に初期化されるわけではないのでご注意ください。

2016年12月26日月曜日

iPhone で VR (YouTube・Cardboard )がずれる場合の対処法(android もOK)

最初 iPhone5s でこんな感じ↓に表示され、おいおいズレまくりやないかーい!と思い、色々と解決方法を探ってみました。

キツネさんがおらん……

ビューア(VR ゴーグル)で見ても映像が二重に見えてしまうという方は、以下の方法を試してみてください。

解決策その1:ビューアの QR コードを利用する

あまりにも基本的なことなので、スマホで VR やりたいとか思う人には説明不要かと思いますが、Google Cardboard の仕様に準拠しているビューアなら取説とか本体とかに設定用の QR コードがあるはずなので、そいつを YouTube やら Cardboard やらのアプリ内の設定(歯車マーク)の「ビューアを切り替える」から読み込ませることで、そのビューアに合わせた表示になってくれます。ふつうはw

こんな感じのやつネ

つーか「こんなことで解決するなら検索しねーよ」という方がほとんどでしょうからサッサと次の考えられる原因とその解決法に進みましょう。

なお、そもそも QR コードなんてない、もしくは無くした、という場合は、このページが便利です。

HYPERGRID BUSINESS の VR ヘッドセット QR コード一覧ページ

オフィシャルからアンオフィシャルな QR コードまで色々あるので、頑張っていい感じのを見つけ出せばいいと思います。
すげーたくさんあるけどがんばれ。

ちなみに、日本で最も広く利用されているであろうハコスコにはオフィシャルな QR コードはないので注意。
つーか、なんでないの?用意しとこうよ。

参考:
Cardboard やハコスコのビューア設定を初期状態に戻す方法

解決策その2:慣れるwww

いや真面目な話、これで解決する場合も多いです。
映像が二重に見えてしまうのは単に目が慣れていない(遠くを見ようとしていない)ことが原因であることも少なくありません。

とは言え、人によっては本当に合っていない場合もあるので、少し慣らしてみたけどやっぱ改善しないという方は、次の方法をお試しください。

補足:
実は冒頭のキツネさん画像も異常にズレているわけではないのです。
ビューアを通すことで↓下図のように見えるのです。


構造上、有効に利用できる画面の範囲は意外と狭く、特に iPhone5 などの画面が小さいスマホほど、この問題はより顕著になります。

解決策その3:自分に合った QRコード(プロファイル)を作成する

正直最も確実でおすすめな方法は、これだと思います。
メーカーが用意した QR コードはあくまで、そのビューアと推奨するスマホでいい具合に見える平均的な設定を行なってくれるだけで、個人の視力や瞳の間隔やらは考慮してくれません。

全部中心で揃ってるのが理想
たとえビューアにレンズ間隔やピント調節機能が付いていても、画面表示もそれに合わせて変更されなければ最適な環境にはできないのです。


そこで、自分にあった設定を記録した QR コードを作成する必要があります。
といっても特に難しいことはありません。
PC ブラウザで下記URLにアクセスし、スマホの画面を見ながら設定するだけです。

ビューア プロフィール生成ツール(え い ご w)

このサイトでは、左右の映像の位置や画角の調整、レンズの歪みの修正などをおこなうことができ、その設定を QR コードとして出力することができます。
つまり自分用のプロファイルの QR コードが作成できます。

極端な変更例ですが、中心点や画角、歪みの修正をおこなうとこんな感じ
どちらも角に視点を合わせていますが、これだけの違いが出ます。
ただしこのプロファイルが有効なのは Google Cardboard SDK を利用して制作されたアプリのみなので注意です。(まぁたいていのアプリはこれ使ってます)

ビューア プロフィール生成ツールの使い方

一見難しそうですが、やってみると簡単です。英語わからなくたってOKです。

1.まずは PC ブラウザでページにアクセス!

スマホじゃだめだよ PC だよ。え?PC ない?m9(^Д^)プギャー

2.今度はスマホでそのページにある QR コード読んでページにアクセス!

なんとこれだけで PC 側で設定変更するとスマホ側で表示の変化を即確認できるようになります!
※スマホを横向きにすると、表示を確認できるようになります。
※早ければ1秒程度で反映されますが、遅い時は数十秒かかります。

なお、もしかしたらこの時にスマホの PPI を入れろとメッセージが出るかもしれません。
お手元のスマホの PPI をググって入力してください。(数値だけ入れればOK)

iPhone の PPI は以下のとおりです。
iPhone 5 326 ppi iPhone 6 326 ppi iPhone 7 326 ppi
iPhone 5c 326 ppi iPhone 6 Plus 401 ppi iPhone 7 Plus 401 ppi
iPhone 5s 326 ppi iPhone 6s 326 ppi
iPhone SE 326 ppi iPhone 6s Plus 401 ppi

3.PC ページの下の方に、色々な設定項目があるので、いい感じにいじるw

Your Company ホントはメーカー名を入れるとこだけど、作者名でも入れておけばいいと思うよ。
ちなみに未記入でも OK です。
Viewer Name ビューアの名前。っていうかプロファイルの名前。
これは分かりやすい名前を入力しておくことをおすすめします。
Primary button type ビューアにどんなタッチ操作機能がついているかを選択します。
None:タッチ操作できない
Touch:指で画面に触れられる
Indirect Touch:マウスとかコントローラでタッチ操作できる
Magnet:Cardboard のように磁石式のボタンがある
Screen to lens distance (mm) 画面とレンズの間の平均距離。
画角などにも影響するので、正確な距離を入力してもいいけど、好みで調整してもいいと思う。
Inter-lens distance (mm) レンズの間隔。ビューア側でも調節できるなら自分の瞳の間隔。
疲れやすさ酔いやすさにも影響するので超絶重要!
だいたい子供は55mmくらいからで大人は65mmという人もいる。
ビューアを覗いて調整する時は、必ず遠くを見る感覚で両目の赤い点が重なるよう調整すること。
寄り目の状態で調整しても意味ないので注意!
Screen vertical alignment ビューアにスマホが、垂直方向にどう装着されるかを選択。
Bottom:下にそろえて装着
Center:まんなかに合わせて装着
Top:上部に合わせて装着
Center を選択しがちだが、多くのビューアは Bottom で作られているぞ。
つまりこういうことだ↓


しかしできるだけ画面は大きく使いたいもの。
特に画面の小さいスマホでは、装着しにくさを犠牲にしてでも画面を最大限に利用できる Center を選択するのもあり!
Tray to lens-center distance (mm) Bottom か Top を選択すると出てくる項目。
ガイドからレンズの中心までの距離を入れるところだけど、これは実際にビューアを覗いて真正面に赤い点が来るように調整するのがベストでしょう。
Distortion coefficients レンズの歪みを調整できるよ。
これも実際にビューアを覗いて調整することをおすすめします。
できるだけ垂直線がまっすぐになるよう調整しましょう。
なお、k1、k2 ともに 0.00 には設定できないので注意!
Advanced viewer parameters クリックすると以下の詳細設定項目が開きます。
 Field-of-view angles 上下左右の視野角を調整できます。
通常 50°以上にするようですが、好みで設定していいと思います。
 Viewer contains some embedded magnets. 磁石式のボタンを搭載しているならチェックボックスを ON にします。
これはアプリに磁石の影響を受ける磁力計を使わないように指示するためです。

入力内容に問題がなければ「Generate profile」ボタンが押せるようになるので押しませう。
すると QR コードが作成されるので、ダウンロードして利用しましょう。
(一度きりではなくアプリごとに読む場合もあるので必ず保存しておきましょう)

慣れれば簡単なのですが、Google さんはもう少し手軽に個人向けな設定変更ができる仕組みを用意すべきだったのではないかと思いますね。

2016年11月29日火曜日

RPGツクールMV アクティブなウィンドウの背景色を変更できるプラグイン

正直RPGツクールのデフォ UI はちょっと分かりにくくて UX がフンガァァァな感じなので、せめて今操作できるアクティブウインドウだけでも見て分かるようにしようと思い作りましたふんぬらば。

ダウンロードはこちら
ライセンスは MIT だよ。


このプラグインは、アクティブ(操作対象)となっているウィンドウ背景の不透明度やカラーを変更することができます。
上の画像は通常のウィンドウをより薄くして、アクティブウィンドウの不透明度を上げています。
ちなみに、初期のウィンドウ背景は、画像(img/system/Window.png)の時点で多少透過されているため、それ以上は不透明化できないことに気が付かず2時間くらい無駄にしてしまわないようにご注意ください。しくしく。

不透明度だけでなくRGBでのカラー成分変更にも対応しています↓


他のレイアウト変更プラグインとも共存できます。たぶん。
特にスマホでのタッチ操作を考慮したプラグインと組み合わせるといい感じになると思うよ!

なお、不透明度だけの変更であれば問題ないのですが、ウィンドウカラーも変更する場合は以下の点にご注意ください。

「システム」の「ウィンドウカラー」の設定と、本プラグインの「アクティブなウィンドウカラー(赤緑青)」が異なる値になっているとウィンドウの開閉時にちょいと負荷が増えます。

これは、そもそも「システム」の「ウィンドウカラー」で色を変更すると、その分負荷が増えるのに、さらにそこからアクティブなウィンドウのカラーを変更する処理が追加されるためです。

赤緑青すべてが 0 だと負荷は発生しません。

負荷の軽い順の設定は以下のとおりです。

【軽】不透明度だけ変更する(ウィンドウカラーは変更しない)
システムのウィンドウカラー  :すべて0
アクティブなウィンドウカラー :すべて0
⇒負荷はほとんど増えません。

【並】システムのウィンドウカラーを変更する
システムのウィンドウカラー  :変更
アクティブなウィンドウカラー :すべて0
⇒ウィンドウの開閉時の負荷がちょっと増えます。

【並】アクティブなウィンドウカラーを変更する
システムのウィンドウカラー  :すべて0
アクティブなウィンドウカラー :変更
⇒ウィンドウの開閉時の負荷がちょっと増えます。

【普】本プラグインなしでシステムのウィンドウカラーを変更する
システムのウィンドウカラー  :変更
⇒全てのウィンドウが変更対象になるため開閉時の負荷がやや増えます。

【普】どちらも同じ値にする(すべて0でもない)
システムのウィンドウカラー  :↓と同じ
アクティブなウィンドウカラー :↑と同じ
⇒全てのウィンドウが変更対象になるため開閉時の負荷がやや増えます。

【重】両方を異なる値にする(すべて0でもない)
システムのウィンドウカラー  :↓と異なる
アクティブなウィンドウカラー :↑と異なる
⇒全てのウィンドウが変更対象な上にアクティブの処理が追加されるため開閉時の負荷がまあまあ増えます。

PC 向けならば特に問題ないですが、スマホも考慮する場合は、カラー変更は避けたほうがいいかもしれません。
また、そもそもツクールMVの v1.3.4 現在はウィンドウ関連のメモリリーク問題があるので、liply様作の liply_GC.js などの対策プラグインと合わせて利用ことをおすすめします。

2016年11月24日木曜日

Blogger に初めて投稿

もし使いやすかったら、こっちに移設しようかな。🐧
うわ、絵文字かわいくないなw🐇

これ以前の記事は PALog(http://blog.pandako.com)やパンダコメモ(http://memo.pandako.com)からの移植です。

2016年11月10日木曜日

RPGツクールMV アイテムなどの所持できる数を重量制にするプラグイン

武器とか99個も持って移動できるとか意味分からん!ってことでこんなプラグインを作りました。

このプラグインを有効にすると、個々のアイテムや武器・防具に重さが設定できるようになり、パーティーは決められた総重量までしかアイテムを所持できなくなります。

ローグライクなゲームやダンジョン系のゲームなどでは、所持品の吟味も楽しみの1つかと思うので、こいつを使ったらいいと思うよ。


変数による最大積載量(?)のコントロールや単位の変更なども可能です。
詳しくはプラグインのヘルプを読んでね。

★サンプルゲームはこちら

なお、メニューのレイアウトを変更するプラグインとかをいれてると崩れちゃうかと思いますが、そのへんは個々に対応するしか無いと思うのでガンバレ。

総重量ウィンドウの位置と不透明度を変更できるようにしました。 これによりメニューやショップのレイアウトを変更するプラグイン(例えば神無月サスケさん、Yoji Ojimaさん作の AltMenuScreen など)にも対応できるようになりました。



なお、例によって例のごとく理想的な Javascript の書き方ってのがよく分かってないので変なコードかもしれないけど我慢してくださいw

★PNDK_LuggageCapacitySampleのダウンロードはこちら。

ライセンスは MIT だよ。どうぞご自由にお使いください。

2016年10月28日金曜日

RPGツクールMV かんたんにデータの送受信ができるプラグイン

とてもかんたんにサーバーへデータを送信したり受信したりできるようになります。
工夫次第でランキングや掲示板、1日1回のログインボーナス配布などなど色々なことに利用できるプラグインです。

例えば単純なランキングへのデータ送受信なら↓のように数行で作れちゃいます。



※もちろん別途ランキングを処理する PHP や CGI などが必要ですガ(^皿^)

サンプルゲームはこちら(PC・スマホ)
IE 用音無しサンプルゲームはこちら

PNDK_HttpRequest プラグインのダウンロードはこちら

■サンプルコードによる使い方説明

以下は PHP に name と score というデータを送り、ランキングの結果を表示するサンプルです。

◆文章:なし, ウィンドウ, 下
:文章:得点を送信するよ☆
◆変数の操作:#0001 受信データ = 0 ←(1)
◆プラグインコマンド:PNDK_HR clear ←(2)
◆プラグインコマンド:PNDK_HR add name \V[10] ←(3)
◆プラグインコマンド:PNDK_HR add score \V[11] ←(4)
◆プラグインコマンド:PNDK_HR send http://sample.jp/sample.php ←(5)
◆文章(S):速度 2 ←(6)
:文章(S):送受信中♪
◆文章:なし, ウィンドウ, 下
:文章:それではランキングの発表です!
◆文章:なし, ウィンドウ, 下 ←(7)
:文章:\V[1]

(1)まず、受信したデータが格納されるツクールの変数を初期化しています。
※必ずしも 0 である必要はありません。
受信したデータが格納されるツクールの変数はパラメータで設定できます。



(2)次に、このプラグインには送信データ専用の変数が予め用意されています。
前回の送信データが残っているとマズイので PNDK_HR clear で、その変数をキレイにしています。

(3)PNDK_HR add で送信データ専用の変数にデータを追加します。
PNDK_HR add name \V[10]
↑この場合、name というデータ名でツクールの変数ID 10番の値を送信データ専用の変数に追加しています。

(4)同様にツクールの変数ID 11番の値を score というデータ名で追加しています。
データはいくつでも追加できます。

(5)PNDK_HR send でデータを送信しています。
この例では http://sample.jp/sample.php に送信しています。
無事に通信が成功すればパラメータで設定した変数にサーバーより返信されたデータが格納されます。
(テキストデータの受信を想定しています。)

なお、エラーが発生した場合も、その変数にエラーメッセージが格納されます。
エラーメッセージとその意味は以下のとおりです。
ERROR TIMEOUT (タイムアウト)
ERROR ABORT (中止)
ERROR (なんやかんやエラー)
ERROR RESPONSE (サーバー側エラー)

(6)単なる時間稼ぎですw
送受信は一瞬では終わりません。
通信環境とデータ量によっては数秒かかることもあるでしょう。
そのため、受信が終わる前に受信用の変数を参照しても値は 0 です。
逆にそれを利用して受信が終わっているかを判断することもできますが、上記の例では割愛しています。

(7)受信したデータを文章として表示します。
このサンプルでは PHP がランキング結果のテキストを返信してくれることを想定しています。
万一、エラーが発生していたり受信が終わっていなければ、0 や ERROR なんたら、という文字列が表示されることになります。
そんなかっこ悪いことしたくない方は、いい感じに条件分岐してくださいw

■プラグインコマンドの説明

PNDK_HR clear
送信データ専用の変数を初期化します。

PNDK_HR add [データ名] [値]
送信データ専用の変数へデータを追加します。
[値]には制御文字が利用できます。

PNDK_HR send [URL]
送信データ専用の変数を[URL]へ POST メソッドで送信するとともに、パラメータで設定したツクールの変数にサーバーより返信されたデータが格納されます。

■注意点

通信はセキュリティで保護されません。
簡単に傍受できるので秘匿性の高い情報の通信には利用しないでください。
(クレカ番号とかパスワードとか個人情報とか)
このプラグインの利用により利用者または第三者に生じたいかなる損害や不利益も、このプラグインの開発者はその責任を負いません。

■使いみち

要はサーバー側の処理次第なのですが、これだけでも色々できるようになります。
以下はその一例です。
サーバー側のプログラムは別途根性で用意してください。
ただ、必ずしもデータを送信する必要はありませんし、プログラムではなくただのテキストファイルを読むだけにも利用できます。
  1. バージョン判定(古いバージョンで遊ばれるのを防ぐ)
  2. カウンター…というかプレイヤー動向分析(ゲームアナリティクス)
  3. UNIX タイムの取得(ズルされにくい日時の取得ができる)
    1. 毎日ボーナス
    2. 季節イベントとか
  4. プレイヤー間での情報共有
    1. ランキング
    2. 掲示板
    3. チャット(負荷かかりすぎかも)
    4. その他いろいろな情報
とはいえ仕様上、あまりリアルタイム性を求められるものには向きません。
他にもなにか面白い使いみちがありましたら教えて下さいませ。