VRソフト

アドオン ソースコード

ソースコードはきちんと記述できないのでインデントが壊れていますが、以下、動かないコード。batファイルまでは動いていますが、最後のjscriptはダメです。

manifest.json
{
"manifest_version": 2,
"name": "vr_launcher",
"version": "1.0",
"description": "Adds a browser action icon to the toolbar. Click the button to #VRCHBP YouTube VR Channel Player. See https://appletllc.wordpress.com/",
"homepage_url": "https://appletllc.wordpress.com/",
"icons": {
"48": "icons/button_theme7_10B_48.png",
"96": "icons/button_theme7_10B_96.png",
"128": "icons/button_theme7_10B_128.png"
},

“applications”: {
“gecko”: {
“id”: “vr_launcher@appletllc.wordpress.com”,
“strict_min_version”: “50.0”
}
},

“permissions”: [“nativeMessaging”,
“tabs”
],

“background”: {
“scripts”: [“background.js”]
},

“browser_action”: {
“default_icon”: “icons/button_theme7_10B_32.png”,
“default_title”: “vr_launcher”
},

“web_accessible_resources”: []

}

background.js
(function() {
/*
On startup, connect to the #VRCHB&P Player app.
*/
var port = browser.runtime.connectNative("applet_llc.vr_launcher");

/*
Listen for messages from the app.
*/
port.onMessage.addListener((response) => {
console.log(“Received: ” + response);
});

/*
On a click on the browser action, send the app a message.
*/
browser.browserAction.onClicked.addListener(() => {
console.log(“Clicked”);
var tabUrl = browser.tabs.url; //tab.url; //tabs[0].url;
port.postMessage(tabUrl);
});

})()

vr_launcher.json
{
"name": "applet_llc.vr_launcher",
"description": "vr_launcher",
"path": "vr_launcher.bat",
"type": "stdio",
"allowed_extensions": [ "vr_launcher@appletllc.wordpress.com" ]
}

レジストリ
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Mozilla\NativeMessagingHosts\applet_llc.vr_launcher]
@=”C:\\Users\\kazunori\\AppData\\Local\\applet_llc.vr_launcher\\vr_launcher.json”

vr_launcher.bat

@echo off
rem from http://doudemoexe.com/Batch/0005.jsp

setlocal

for /f “tokens=1,* delims=:” %%I in (‘findstr /n .*’) do (
cscript vr_launcher.js %%J
)

vr_launcher.js

// #VRCHBP luncher

var objStdIn = WScript.StdIn;
var objStdOut = WScript.StdOut;
var fs = new ActiveXObject(“Scripting.FileSystemObject”);

var objArgs = WScript.Arguments;

var myShell = WScript.CreateObject(“Shell.Application”);
myShell.ShellExecute(“VR_Channel_Player.exe”, objArgs(1));

WScript.Quit(0);

広告
VRソフト

FireFox/Chromeアドオン開発中

#VRCHBP  のプレイヤーを自前のブラウザからではなく、FireFox/Chromeのアドオンとして、動かせないかまずはFireFox向けでアドオン作成中。

manifest.jsonやbackground.jsを作成し、レジストリにパスを書いて、vr_launcher.batから、vr_launcher.jsを起動するところまでは出来たけど、ブラウザからnativeMessagingで、JSON形式でURLを取得したいところ、batファイルが受けてしまい、うまく動かず。それでもbatファイルを直して標準入力を受け取り、引数として渡せる部位は出来たけれども、コマンドプロンプトからなら動くけど、ブラウザからボタンクリックしても起動せず。どうやら権限の問題が発生している様子。batでjscript起動ではなく、C言語で書いたランチャーを書いた方が良さそうだが、解決しないかも知れない。まずは権限を確認してみて、なんらかの実行ファイルの場合との違いを見た方が良さそう。

ちなみにFireFox向けのアドオン作成は、どこのサイトのドキュメントも、どこかに誤りがあり、英文サイトでもレジストリの位置の情報が無いとか、URL取得に、tab.urlではなく、browser.tabs.urlであるとか、いろんなところでハマり続けてしまい、最初はChrome向けに作り始めれば良かった感じがする。

VRソフト

ZFBrowser VR内表示

評価用のUnityプロジェクトを作成し、ZFBrowserのVR内表示デモをbuildして、ブラウザがどのような見え方になるか確認してみました。以下がデスクトップ側アプリ画面のハードコピーです。少しはイメージ掴めると思います。browserDemo

周りは平面空間+SKY BOXな感じで、地平線と空が広がった空間です。でも目の前にブラウザの白い壁がでーんと存在し、Oculus Touchコントローラーによるポインタ表示は出来ています。

でも、これを使うことは無いと感じた次第。街中で大きなパネル(50インチ以上)を使ったディスプレイ広告などが存在することがあると思います。あれの表示に細かな文字などが出ることは無くて、絵か映像が表示され、大きな文字が表示されているようなポスターのようなものがほとんどのはずです。つまり細かなテキスト表示には適さないものです。

VR空間でも同じことが言えて、細かなテキスト文字を表示したり、大量のテキスト入力などはありえない空間です。ポインターで壁に向かって指したりするのも、体操をやっているような気分になります。健康には良さそうですが。というわけで、デスクトップ側のアプリで動画を選んで、HMD被ってという #VRCHBP のUIもイケていないとは感じていますが、VR空間の中で細かな字を見るのも疲れるので、何かを選択させるなら、それとは異なるUIにしたいと考えています。もし使うならば、手元の近くにブラウザを小さく表示させることになるでしょう。

Unity · VRソフト

Xbox Oneゲームコントローラーの絵

以下のXbox Oneコントローラの絵を使った #VRCHBPの操作方法の説明ページを公開しました。
この絵の元ファイルは、Unity Assetで公開されているもので、 http://www.kendosoft.com の作品を使っています(現在サイトは接続できませんが、Assetは有償で入手できます)。絵はXbox Oneのゲームコントローラーですが、Xbox 360のゲームコントローラーでも同じ操作方法で使用可能です。Xbox Oneと360でコントローラーの状態を取得するのに、ソース上切り替えているのではなく、少なくとも Unity 2017.3では区別することなく使えます。Player-ctrl

VRソフト

RiftとFOVE問い合わせ中

Riftの方は、「Oculus HomeのRecentアプリ一覧に登録させない方法」で、FOVEの方は、問い合わせと言うよりは、Unity Pluginの新しいリリース待ち。

FOVEの方は、待っていれば出たのだろうけれども、「coming soon」と回答頂いたので、そのうち出るだろうと思う。出たら#VRCHBPは、Rebuildする予定。

Riftの方は、Oculus Homeという常時起動しているVR内のランチャーアプリに、野良アプリである#VRCHBPが登録されてしまうが、うまく動けないので質問と相成ったもの。これは発想を180度変えて、デスクトップ側ブラウザではなくVR側プレイヤーが起動されても、ブラウザを起動させ、360度動画を選んでもらうか、ブラウザをVR側プレイヤーに統合させ、VRアプリとして一本立ちさせるかなどとは思う。

幸い組み込みで使っているZFBrowserは、最近のバージョンアップでVR側で操作できるようキーボードも準備されたようなので、実現手段が無いわけではない。

もっとも今回#VRCHBPはデスクトップ側のブラウザからVR側プレイヤーを起動するという形態にした理由は、VR空間では細かな文字を読むのが困難であったり、コントローラーでピンポイントでポーズボタンを押したり、URLをキー入力するのも面倒であることも一因ではあった。

ご挨拶 · VRソフト

#VRCHB&P リリース

しばらく開発作業していた#VRCHB&P こと VR Channel Browser & Player。 無事リリースの運びとなりました。ソフトの詳細については、ソフトウェアのページをご覧ください。リリースの際、同時にWebページもリニューアルしたいと考え、まだ全く内容がありませんが、 違うURLで開始することとなりました。以後よろしくお願いいたします。ちなみに古いサイトはこちらです。