うさがにっき

読書感想文とプログラムのこと書いてきます

Quaternionまとめ

Unityの角度を表現するためのQuaternion, Transformについてまとめる

Quaternion

Quaternion.LookRotation

public static Quaternion LookRotation(Vector3 forward, Vector3 upwards = Vector3.up)

方向ベクトル(forward)と、そのワールドでの上方向ベクトル(upwards)から、方向ベクトルを向くQuaternionを取得する関数

Quaternion.Angle

public static float Angle(Quaternion a, Quaternion b);

二つのQuaternion a, bから、その二つの回転の間の角度をfloatで返す関数

Quaternion.Slerp

public static Quaternion Slerp(Quaternion a, Quaternion b, float t);

二つのQuaternion(from, to)の球状線形補間を行う

Quaternion.FromToRotation

public static Quaternion FromToRotation(Vector3 fromDirection, Vector3 toDirection);

fromDirectionからtoDirectionへ回転するQuaternionを返す

Quaternion.identity

public static Quaternion identity;

回転していない単位Quaternionを返す、ワールド座標か親オブジェクトに追従

Transform

Transform.LookAt

public void LookAt(Transform target, Vector3 worldUp = Vector3.up);
public void LookAt(Vector3 worldPosition, Vector3 worldUp = Vector3.up);

targetの方向を向くようにオブジェクトを回転

Transform.Rotate

public void Rotate(Vector3 eulerAngles, Space relativeTo = Space.Self);
public void Rotate(float xAngle, float yAngle, float zAngle, Space relativeTo = Space.Self);
public void Rotate(Vector3 axis, float angle, Space relativeTo = Space.Self);

回転角をオイラー角で指定、ローカル座標に基づいて回転

Transform.RotateAround

public void RotateAround(Vector3 point, Vector3 axis, float angle);

pointを中心として、軸axisでangleだけ回転させる

実際に物体の回転

左方向に向かって30度回転

    void Start () {
        vec = new Vector3 (0, -30, 0);

        transform.rotation *= Quaternion.Euler (vec);
        // Tansformでの指定
        // transform.Rotate (vec);
    }

Targetの方向を見る

    void Update () {
        diffPos = targetTransform.position - transform.position;
        transform.rotation = Quaternion.LookRotation (diffPos);

        // Transform ver
        // transform.LookAt(targetTransform.position);
    }

Targetの方向をゆっくりみる

    void Update () {
        diffPos = targetTransform.position - transform.position;

        transform.rotation = Quaternion.Slerp(
            transform.rotation,
            Quaternion.LookRotation(diffPos),
            Time.time * rspeed;
    }

unity-bu.booth.pm docs.unity3d.com docs.unity3d.com

広告を非表示にする

OS X上にbitcoin環境を作って見る

概要

githubにだいたい書いてある、ので試してみる

開発環境

事前準備

環境構築

  • Homebrewで必要な物ずばっといれる
    $ brew install automake berkeley-db4 libtool boost --c++11 miniupnpc openssl pkg-config protobuf qt libevent
    • ディスクイメージ作る場合は以下も追加(option)
      $ brew install librsvg
  • ソース落としてくる
    $ git clone https://github.com/bitcoin/bitcoin $ cd bitcoin
  • Build
    ここはマシンによるけど2時間くらいかかるかも
$ ./autogen.sh # 10min
$ ./configure # 10min
$ make # about 2 hour?
$ make check

動かす

blockの生成

  • blockの生成
$ bitcoin-cli -regtest generate 101
 [ 
  "207ec46d7c326feb0d403cd4426c257cbb18bf55e1bfd4aad9d59547ddbb08e9", 
  "5c05079822234bc424eb482105e293e771e58866a64586e57f6cd99f339a83fb", 
  ...
]

それぞれのラインがブロックを表している、ブロックを識別するために32バイトで表現される

  • block数の確認
$ bitcoin-cli -regtest getblockcount
101

アカウントの作成

  • アカウントの生成
$ bitcoin-cli -regtest getnewaddress testuser1
mypR5rfJ3t3q7Yuch5M8eF4cMZzYUrHZ4U

bitcoinにおけるアカウントは25 ~ 35文字の英数字で表現される

残高の確認

  • 残高の確認
    blockを作成した報酬として50BTCが口座にある
$ bitcoin-cli -regtest getbalance
50.00000000
  • 特定アカウントの残高確認
bitcoin-cli -regtest getbalance testuser1
0.00000000

当然0

送金

作成したアカウントに送金

$ bitcoin-cli -regtest sendtoaddress mypR5rfJ3t3q7Yuch5M8eF4cMZzYUrHZ4U 10
7f7ca45aab4af6811b5ec17eb30f4de1e7e393b5158a44243478500b30d2f701

トランザクションの識別番号が表示される - トランザクションの確認

$ bitcoin-cli -regtest listunspent
[
]

listunspentは確定したトランザクションを確認するコマンド、引数に0をいれると未確定のトランザクションも表示できる

$ bitcoin-cli -regtest listunspent 0
[
  {
    "txid": "7f7ca45aab4af6811b5ec17eb30f4de1e7e393b5158a44243478500b30d2f701",
    "vout": 0,
    "address": "mqv5TcqaAzYCUJmdycjnAisiuFVSXLh9BM",
    "scriptPubKey": "76a9147210ce50fb8e27cb068fa22440eb03960c24009b88ac",
    "amount": 39.99996160,
    "confirmations": 0,
    "spendable": true,
    "solvable": true,
    "safe": true
  }, 
  {
    "txid": "7f7ca45aab4af6811b5ec17eb30f4de1e7e393b5158a44243478500b30d2f701",
    "vout": 1,
    "address": "mypR5rfJ3t3q7Yuch5M8eF4cMZzYUrHZ4U",
    "account": "testuser1",
    "scriptPubKey": "76a914c8bfb2c9020ed03d745041b0fb55299b320230ee88ac",
    "amount": 10.00000000,
    "confirmations": 0,
    "spendable": true,
    "solvable": true,
    "safe": true
  }
]

手数料引かれてるけど、10BTCひかれて10BTCわたしている

  • 残高の確認
$ bitcoin-cli -regtest getbalance
49.99996160

手数料だけ取られた、この後のマイニングによって取引が発生する

マイニング

$ bitcoin-cli -regtest generate 1
[
  "12ea7deebb26e0d2b8ea23717bc04589f8bb11dfa5d76acc1715e688ebfa9d0e"
]

マイニングによってトランザクションがブロックに書き込まれる

再度トランザクションの確認

$ bitcoin-cli -regtest listunspent
[
  {
    "txid": "7f7ca45aab4af6811b5ec17eb30f4de1e7e393b5158a44243478500b30d2f701",
    "vout": 0,
    "address": "mqv5TcqaAzYCUJmdycjnAisiuFVSXLh9BM",
    "scriptPubKey": "76a9147210ce50fb8e27cb068fa22440eb03960c24009b88ac",
    "amount": 39.99996160,
    "confirmations": 1,
    "spendable": true,
    "solvable": true,
    "safe": true
  }, 
  {
    "txid": "7f7ca45aab4af6811b5ec17eb30f4de1e7e393b5158a44243478500b30d2f701",
    "vout": 1,
    "address": "mypR5rfJ3t3q7Yuch5M8eF4cMZzYUrHZ4U",
    "account": "testuser1",
    "scriptPubKey": "76a914c8bfb2c9020ed03d745041b0fb55299b320230ee88ac",
    "amount": 10.00000000,
    "confirmations": 1,
    "spendable": true,
    "solvable": true,
    "safe": true
  }, 
  {
    "txid": "ec4d8efc0d80a715b914a269a6b48dbab5fe109903c9e679fec9634378ec7337",
    "vout": 0,
    "address": "n3GCbPoXovJhJwWVhgwv9vmLSre3iGVbZc",
    "scriptPubKey": "21033d5876d9531d767e872136bf49fc37dff226c8f92096c05a04b534225db75762ac",
    "amount": 50.00000000,
    "confirmations": 101,
    "spendable": true,
    "solvable": true,
    "safe": true
  }
]
$ bitcoin-cli -regtest getbalance testuser1
10.00000000

無事振り込まれた

ブロックチェーン 仕組みと理論  サンプルで学ぶFinTechのコア技術

ブロックチェーン 仕組みと理論 サンプルで学ぶFinTechのコア技術

GoogleVR SDK for Unity + Google TangoでTango VR

概要

GoogleVRも新しくリリースされたことだし、Tango + GoogleVRができないかやってみた
tiro105.hateblo.jp
ちなみに公式ドキュメントはcardboard SDKを使えっていってるので役に立たない
Tango with Cardboard  |  Tango Unity SDK  |  Google Developers

詳細

結論

Tango Delta CameraによるMotionTrackingを使ったVR空間はなんかできそうな雰囲気ある
Tango AR CameraによるARでのMotionTrackingはTango AR Cameraが非対応なのかそもそも表示されない

環境

やりかた

Unity 5.6beta7 download and make Project
unity3d.com

Google VR SDK, Google Tango SDKをUnityにimport
f:id:tiro105:20170212085932p:plain

GvrMainViewをSceneに追加
Tango Delta Cameraを追加
f:id:tiro105:20170212085944p:plain

PlayerSettings...で色々変更

  • Virtual Reality Supportedをチェック
  • Virutal Reality SDKsにcardboard追加
  • packagenameを良い感じに
  • Minimum API Levelを23に
  • Target API Levelを24に(AndroidManifestの属性enableVrModeが24からじゃないと対応してくれ無いので)

f:id:tiro105:20170212090039p:plain

これでビルド
再現性が不明だがAndroidManifestでエラーが発生することがあるので、発生したら修正
5.6beta7なら発生し無いはず

  • AndroidManifestのTargetSDKが23だとcardboard側のAndroidManifest-cardboardがtargetSDKが24なのでエラーを起こす、AndroidManifestのTargetSDKを24に修正

preview
見事に歪んでいる
f:id:tiro105:20170212090101p:plain
これは多分ビルド時には発生し無いので無視

ビルドand実行
youtu.be

cubeもおいてみたのだが、cubeに対してはMotionTrackingが効いて無いような気がする
cameraの前に常にいる感じ・・・

ちなみにTango AR Cameraでも試して見たが、真っ暗な画面が表示された
GoogleVR側となんか競合してるのかも

まとめ

Tango Delta Cameraでは動くことが確認できた
まだ正式にリリースされているものではないので注意はいるが今後も期待していきたい
そしてDaydreamとの同時使用を心待ちにしている

GoogleVR SDK for Unity1.20状況

概要

GoogleVR SDK for Unity1.20がようやくリリースされたので状況確認
Release Notes  |  Google VR  |  Google Developers

詳細

UnityVR本の人がゴリゴリ調べてくれている





なのでここではUnity 5.6 beta7 + Google VR SDK for Unity 1.20の話をする

importできるか?

とりあえずGoogleVR SDK1.10の時発生していたエラーは消えた
普通に入る

previewできるか?

ビルドせず実行
f:id:tiro105:20170208134816p:plain
まぢか、歪んでる

ビルドするとどうなる

  • GvrMainViewとcube追加してAndroidTarget5.1にしてビルド!!!

成功!!!

  • AndroidTarget7.1にしてビルド!!!

成功!!!

  • Android7.0にしてビルド!!!

成功!!!

実機で動かすとどうなる

  • cardboard

f:id:tiro105:20170208135004p:plain
動く

  • daydream

実機には入るが、対象端末じゃ無いダイアログでて死亡
が、AnndroidStudioプロジェクトexportしちゃえばダイアログで無いようにできるんじゃね?
docs.unity3d.com
これできたら別記事にしてあげる

まとめ

以前より状況は全然良くなっている
preview画面だけなんとかなると嬉しい

UX Design for VR : The Basics — Part 1 翻訳

概要

VRの技術的記事は多いけど設計とかUX観点の記事って少ないよねってことで書かれた記事
medium.com
が面白かったので、個人的に翻訳したものを掲載する
よかったら雑英語でもいいから、元記事にお礼コメントしよう

Apeksha Darbari Thank you for allowing me to translate, publish articles, thank you for doing it!
medium.com


そんなに英語に自信がないので、正確な情報は元記事呼んだほうがいいと思う
あと翻訳が言ってるかわからないところは読み飛ばしたほうがいい、僕はそうしている、英語マンは元記事読んで

ちなみに技術的観点はここら辺が好き
developer3.oculus.com

Japanese but pdf
http://static.oculus.com/documentation/pdfs/ja-jp/intro-vr/latest/bp.pdf

詳細

Introduction

インターネットで "UX Design for VR"を検索すると、おそらく十数件以上の関連記事を見つけることができます。
それらのうちのいくつかはお互いに矛盾するかもしれませんが、ほとんどの人は共通の設計ガイドラインを持っています。
1年前、最初のVRプロジェクトに取り掛かっていたとき、Googleの検索結果はかなり異なっていました。
この完全に新しい魅力的なフィールドに対するテクニカルサポートは大量に見つかりましたが、設計に関する記事はほとんどありませんでした。
あなたがどれだけ遠くにいるかを知ることに興味があるなら、これらの抜本的な変換を比較してみてください。
デザインの多くの必要な新しいパラダイムを作り出すために、我々は最終的には何を重視するかの細かい微妙な部分に入るようになってきていることに気づくでしょう。
まだまだ面白いです。

人間が2Dインタフェースの理解、使用、さらには作成を開始するには、実世界のオブジェクトを画面に適用するのに何年もかかりました。
実際のコンピュータを表すフォルダ、カレンダー、時計、さらには「マイコンピュータ」のアイコンも、ユーザーがこれらのシンボルの機能を実生活での意味に関連付ける方法のいくつかの例であり、「Skeuomorphism」とも呼ばれます。
何十年にもわたって2Dインターフェイスを完成させた後、2D UIを作成するためのスタンダードを‏手に入れました。
残念なことに、デザイナーにとっては、2Dインターフェースを設計していないときでさえ、これらの問題を解消するのは難しいです。

The Challenge

この新技術で直面している多くの技術的、人間工学的、および浸漬の課題に加えて、何年も前に2Dインターフェイスのように、VRのためのまったく新しい設計手法を作り出すことは依然として課題です。
2DのUI要素を3D環境に適合させることだけが解決策ではありません。
車輪は人類の最大の輸送の発明の一つかもしれないが、ライトの兄弟が自転車や自動車のフライを作ろうとしていたなら、飛行機を作ったことがないかもしれない。
VRを設計するには、3D空間で新鮮な視点から考え、テキスト、ボタン、ポップアップなどの2Dでユーザーに情報を伝えるために使用してきたツールを手放す必要があります。
現実の世界と私たちの仮想世界が両方とも3D空間であるため、2Dスクリーンの限界を持ち、今、これまで以上に骨格形状を考える必要があります。
これは、VRに対し良く適合しなければならないということだけを意味する。

これは決して簡単な作業ではありません。
近い将来、VRの設計において潜在的に標準になる可能性のあるものを見つけるために、一貫性のある実験、定数のプロトタイピング、繰り返しのユーザーテストが必要です。

What I’ve learnt

昨年、私はかなりのVRプロジェクトに取り組み、海外のワークショップを共同で教え、VRプロジェクトを構築するのを手伝ってきました。
そして私は、VRデザインの権威であると主張する前に、私は長い道のりがあるという事実を知っています。
私たちはすべて実験的で失敗して学習し、毎日優れたデザイナーと開発者に近づいています。

しかし、私は良いVR体験をすると信じているので、いくつかのベストプラクティス/推奨事項/考慮事項を共有したいと思います。
これは私のプロジェクト、他のVR体験の研究と批判的分析、そして学生との共同作業から学んだことをまとめたものです。
これは基本的に、VRの設計と開発を始めたい人に向けて指導することを目的としています。
決して絶対的なリストではなく、私が働くと信じていることの単なる教訓や観察です。
あなたが何かを追加したい、または私が言ったことに同意しない場合、私はコメントをもらえるとうれしいです。
私たちは長い道のりを歩み、お互いに学び合い、おそらく解決策を見つける最善の方法を持っています。さあ、がんばっていきましょう!

これは、VRの設計を始めるためのさまざまな重要な考慮事項を扱う一連の記事の最初のものです。

Designing Interaction

ユーザーが体験とどのように交流するかは、VR設計の重要な側面であり、他の設計と同様です。
ここで考慮すべき重要な要素は次のとおりです。

Input Schemes

異なる経験は、相互作用のために異なる入力方式(異なるVRデバイスによって異なることが多い)をユーザに提供する。
これらの例は次のとおりです。

Gaze

いくつかの経験(特にデバイスにコントローラがない場合)は、入力メカニズムとして凝視(Gaze)を使用します。ほとんどのGearVRといくつかのOculus Riftエクスペリエンスは、相互作用のためにGazeを使用します。注視のメカニズムは、プレイヤーがオブジェクトを見て、数秒間それを見つめたりボタンをタップしたりすることでオブジェクトをトリガーしてトリガーすることができるようなものです。

BestPractice:入力メカニズムとして注視を使用しているが、いくつかの慣行を採用すべきである。

Reticle:Reticleは、ユーザーに何を見ているかを伝えるのに役立ちます。これらは、通常、不透明な円/リングを使用して作成され、ユーザーの視覚の直接の線にあります。良好なReticleは、ユーザーの視界を妨げず、深度に応答するように、すなわち、より近くにあるオブジェクトが大きく、遠くにあるオブジェクトが小さくなるように、良好な視認性のために背景と対照的な色である。
(英文サイトにわかりやすいがぞがあるのでそちら参照)

Timer:タップを使用していない場合(または両方をサポートしている場合)、オブジェクトをトリガーして注視を登録するのにかかる時間を最適化する必要があります。長すぎると、ユーザーがオブジェクトを見つめて疲れて緊張し、短すぎると、意図せずにオブジェクトがトリガーされることがあります。私が見つけた最適な値は約2秒ですが、それでもユーザーエクスペリエンスはさまざまな経験に基づいているはずです。それを引き起こすために何かを「凝視」しなければならないかについての明確なフィードバックがユーザーにはあるはずです。これは、通常、レチクルの周りにバッファリングを施し、タイマーが動作しているときに満たされます。

Field of View
:最も一般的にトリガされるアイテムは、ユーザの視野内にあり、それらを便利にトリガすることが保証されるべきである。経験の中でのトリガのポジションは、ユーザーにとって快適なポジションでなければならないので、長期間それを見ようとしても首を痛めません。

Controllers

さまざまなVRデバイス用のさまざまなコントローラがあり、さまざまな種類の入力をサポートしています。作成している経験によって必要とされる異なる種類の操作を実行するようにプログラムすることができます。

これらのコントローラーを使用する方法はたくさんありますが、VR体験を増やすほど、より多くのことを学ぶことができます。 HTC Viveコントローラを使用している2つの最も一般的な方法は、コントローラでインタラクティブオブジェクトに触れたり、コントローラからインタラクティブオブジェクトにレーザーを向けること、ボタンを押す(トリガー/グリップ)のいずれかです。

一部のエクスペリエンスでは、コントローラをさまざまなオブジェクトとして使用してさまざまな処理を実行できます。たとえば、「The Lab」には、コントローラーが弓と矢のように動作する1つのレベルがあり、ユーザーは矢印を撃つことができます。 「Found」には、スライスショットと同様のコントローラの実装があり、経験を通してコンテキストに応じてコントローラが変化します。しかし、この場合、現実感を維持するためのコントロールの最適化が不可欠です。たとえば、弓と矢を持っている場合は、弾力性のためにスナップバックする前に引っ張ることができます。また、ユーザーにこれらのコントローラーの使い方を理解させるための触覚フィードバックも良い方法です。

ハードウェアは私たちが日進月歩で進化しており、相互作用は時間の経過とともにより洗練され洗練されたものになると予想されています。間もなく、コントローラやさまざまな種類のコントローラを使用する方法が、まもなく多くのものになると思います。

Feedback

経験と相互作用している間に、ユーザに何かをしていることを知らせるためには、ユーザへのフィードバックは絶対に不可欠です。ユーザーが自分の行動がVR環境にどのように影響しているかを理解するためには、視覚的および音声によるフィードバックが必要です。上で説明した2つの入力スキームを考慮して、ビジュアルフィードバックについて説明します。

VR空間を見ている間に、どのオブジェクトがトリガされ、どのオブジェクトがトリガできないかが即座に明らかにしたほうがいいです。これは、コントローラを使用して見たり操作したりしたときに、オブジェクトが光る、ポップアップする、または何らかの形でハイライトすることで行うことができます。ユーザーがどのオブジェクトが反応するのか分からない場合は、すごくイライラする可能性があります。

視線操作で、トリガする時間は、どれくらいトリガオブジェクトを見ていれば反応するかを表示する必要があります。これは、レチクル(視野に照準のために設けられた十字線)の周りのリングを使用して実装されることが多く、タイマーに従ってオブジェクトを見るときにいっぱいになります。これは、オブジェクトをトリガするためにオブジェクトをどのくらいの時間観察する必要があるかについての一定のフィードバックをユーザに与える。また意図しない場合に備えてオブジェクトをトリガーしていることを知らせるのにも役立ちます。

コントローラの場合、触覚フィードバックは、特にユーザが視覚フィードバックを逃した場合に、視覚フィードバックに加えて何かと相互作用したことをユーザに知らせるために使用されることが多い。触覚フィードバックは、コントローラにユーザーの注意を引き付ける素晴らしい方法です。
※触感フィードバック 
j-net21.smrj.go.jp

空間オーディオは、ユーザーの誘導とフィードバックの提供に役立つもう1つの方法です。これらは特定の方向から来るオーディオキューであり、ユーザーの誘導に役立ちます

Affordances

経験を直感的に理解するためには、ユーザーが理解できるアフォーダンスを作成することが重要です。たとえば、ユーザーが特定の方法で移動するようにするには、ハンドルが付いたドアを置くと、自然にドアを開こうとすることが考えられます。

ユーザに情報を伝えるために2DのUI要素を使用することはデザイナーには一般的になっていますが、VRの体験に浸ることを妨げる可能性があります。環境に関連するオブジェクトやコンテキストヒントを使用して情報を伝えることは、常により良い方法です。たとえば、環境内のフローティングテキストや矢印を使用すると、没入感が損なわれる可能性があります。一方、電話の鳴り声やランプが点灯したり、鳥が飛んでいる場合は、ユーザーの注意を引きつけるためには良い方法です。

Customizable Options

良い方法は、プレイヤーに経験をカスタマイズするオプションを与えることです。移動速度、フォントサイズ、グラフィックの品質は、いくつかの例です。これは、体の病気や弱い視界などの影響を受けやすいユーザーや、限られた種類の代理店を持つユーザーにとって特に役立ちます。さらに、これらのオプションにアクセスしてそれらの間を切り替える直感的かつ便利な方法を提供することは、優れた設計課題です。

次の記事では、VRでの動きの設計について説明します。
medium.com
翻訳するかは未定・・・

References

  • Jerald, Jason. The VR Book. 1st ed. Print.
  • “How To Design For Virtual Reality”. Backchannel. N.p., 2017. Web. 6 Jan. 2017.
  • “Design Practices In Virtual Reality”. uxdesign.cc — User Experience Design. N.p., 2017. Web. 6 Jan. 2017.

VR design templateの紹介

概要

VRのdesign templateがdribbbleで紹介されてたので紹介する
日本でもVR designer増えてほしいので雑な記事だけど紹介する
sketchの使い方よくわかってないので、もっと詳しい記事書いてくれる人いたら最高だから紹介する

詳細

dribbble.com
ここに従えばOK
素晴らしかったら感謝のコメントをしましょう

で終わるとあんまりなので少々紹介を
GoProVRPlayer download and install
www.kolor.com

製作者様のdropboxからsketchtemplate download
www.dropbox.com

なんか4つの画面があるのでとりあえずすべてpngでexportしてみる
f:id:tiro105:20170113185527p:plain

exportしたものをGoProVRPlayerにドラッグしてぶちこむ、GoProVRPlayer上でドラッグとかしてみる
youtu.be

360画像を貼ると、360画像もGoProVRPlayer上で表示される

わからないのは、4つの画面がskitch上にあるのだがfloor, ground, UI, 360で何が違うのかがわからない
sketchマンがいたら是非ご教授願いたい

広がれVR design

How to create cardboard VR with Unity 5.5

Overview



I heard a nice opinion. If you set the build version of androidmanifest to 24, there is a possibility that it will fail with runtimepermission. This is a problem also occurring in daydreamtechnicalpreview so it is more secure to use GVRSDK for unity 1.0.3.


I do not want to purposely download the DaydreamTechnicalPreview to make cardboardVR.
Summarize how to create CardboardVR with Unity 5.5.

諸事情から英語で書いていますが、動画見ればだいたいわかると思うのでやり方は動画みてください
経緯はこちら
github.com

Details

Environment

  • Unity5.5f3
  • Google VR SDK for Unity v1.10
  • Nexus5x(7.0.1)

Method

  • GoogleVR import
  • put GvrViewMain
  • Go Player Settings... on Android
  • Do not check virtual reality supported

f:id:tiro105:20170106134951p:plain

  • Fix GvrVideoPlayerTexture.cs (I'm not sure how to correct it correctly)
  private IEnumerator CallPluginAtEndOfFrames() {
    if (processingRunning) {
      Debug.LogError("CallPluginAtEndOfFrames invoked while already running.");
      Debug.LogError(StackTraceUtility.ExtractStackTrace());
      yield return new WaitForEndOfFrame();
    }
  • Fix Androidmanifest BuildVersion to 24
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="24" />

youtu.be