東海エリアを中心に活躍するVRクリエイター集団のページ

メディアとアセット

本コンテンツはOculusVR社のOculus Mobile Development Documentationを日本語訳したものです。
※Unity開発に必要なもののみ翻訳しているため、一部省略されている箇所があります
翻訳内容に関する問題・指摘などあれば、訳者:@kaniponまでご一報ください。

メディアとアセット(機械翻訳)

モバイルVRメディアとアセットガイドへようこそ

このガイドでは、モバイルVRアプリケーションで使用するために静止画像、ビデオ、および他のメディアと連携する方法について説明します。

モバイルVRメディア概要

このセクションの詳細モバイルVR付き静止画、動画、および他のメディアアセットを扱う。

はじめに

最高の可能な解像度と品質で、そのようなパノラマや映画などのすべてのメディアを、著者ので、彼らはことができます将来的には異なる解像度にリサンプリング。

注:このトピックでは、多くの注意点とトレードオフを伴う。

パノラマ写真

ゲームと360度写真のために4096×2048の等長方形の映写パノラマを使ってください。
1024×1024キューブマップはゲーム用であり、1536×1536キューブマップはオーバーレイコードで360度写真で表示するためのものです。

JPEG画像は、ベースラインエンコーディングを使用しなければならないことに注意してください。JPEGプログレッシブエンコーディングはサポートされていません。

パノラマビデオ

クアルコムH.264ビデオデコーダは仕様30 FPSで4kの映像をデコードする能力によって駆動され、それは、上記いくつかの余裕を有するように思われる。ピクセルレートを柔軟に解像度とフレームレートとの間で分割することができますので、あなたは、30 FPSまたは60 FPS@2048×2048ビデオ@3840×1920のビデオを再生することができます。

Androidソフトウェア層は、ビデオデコードに関する2048行の任意の限界があるように見えるので、あなたが15 FPS@、たとえば、4096×4096のビデオをエンコードすることを選択しない場合があります。圧縮されたビットレートは、コーディングレートに影響を与えるとは思われない。問題なく60 MB / sのデコードでパノラマ動画が、ほとんどのシーンは20 Mb /秒程度とすることが許容されるべきである。

2880×1440@60 FPS または ステレオ2048×2048@60FPS。カメラが静止している場合には、30fpsビデオ@3840×1920または4096×2048を考慮できます。

Adrenoシステムは3200×1600@60FPSを扱うことができますが、我々はそれが他の場所でサポートされない非標準解像度である可能性を警告していました。

Oculus360ビデオは、パノラマビデオをレンダリングするために球状のマッピングを使用して実装されています。上下、下上、左右、右左立体映像のサポートは次の命名規則を使用して実装されている:

“_TB.mp4 “ トップ/ボトムの立体パノラマビデオ
“_BT.mp4 “ トップ/ボトムの立体パノラマビデオ
“_LR.mp4 “ 右/左の立体パノラマビデオ
“_RL.mp4 “ 左/右の立体パノラマビデオ
デフォルト 非立体映像の幅・高さと一致しない場合、トップ/ボトム立体映像としてロード
画面上の作品

画面用の見やすいサイズは、フルスクリーンが大幅にあなたの頭を切らずに見ることができるようになり水平視野、の通常は70度未満である。推奨される1024×1024目のバッファを使用して仮想世界で表面上で再生するビデオの場合は、720×480のDVD解像度上のものが無駄になり、あなたが明示的にそれのためのミップマップを構築していない場合、それは別名を意志と低解像度ビデオより悪く見える。

1440デバイス上でオクルスシネマで実行している新しいタイムワープオーバーレイプレーンコードを使用すると、1280×720のHD解像度はまともな選択肢です。正確な最適値は着座位置に依存し、少し低いかもしれないが、誰もが720Pを理解したのでそれはそれと固執するのが良いでしょう。ピクセルはそんなに拡大されるように、その解像度で典型的なウェブストリームよりも多くのビットレートを使用してください。最適なビットレートは、依存内容であり、多くのビデオが少ないとによって得ることができますが、5メガビット/ Sが良い品質を与える必要があります。

1080Pムービーが再生されますが、追加の解像度が無駄になり、消費電力が不必要に増加される。

1ピクセルアスペクト比:3D映画は1で”並んでフル側」をエンコードする必要があります。コンテンツは3Dが1920×540解像度フルサイドバイサイド解像度にリサンプリングされるべきであるサイド·バイ·サイドで圧縮1920×1080でマスターし。

映画メタデータ

SDカードからムービーをロードする場合、オクルスシネマはメタデータをサイドカーファイルを検索します。サイドカーファイルは、拡張子は.txtで、単にムービーと同じファイル名でUTF8のテキストファイルです。それはタイトル、フォーマット(2D/3D)、およびカテゴリが含まれています。

{
“title”: “The Hobbit: The Battle of the Five Armies”,
“format”: “3DLRF”,
“category”: “trailers”
}

タイトルは、映画の名前です。オクルスシネマは、映画のタイトルを表示するために、ファイル名の代わりにこの値を使用します

フォーマットフィルムのフォーマット方法について説明します。空白のままにした場合、それは2Dがデフォルトになります(それは、パス名の中で映画は「3D」を持っていない限り)。フォーマットは次の値のいずれかです。

2D フルスクリーン2D映画
3D
3DLR
サイドバイサイドフォーマットされた左右の画像の3D映画
3DLRF 副作用をフォーマットし、左右の画像を3D映画小さすぎるレンダリングムービーのバイ·サイドフルスクリーン(3DLR)
3DTB トップ·アンド·フォーマットされた左右の画像を3D映画ボトム
3DTBF トップ·アンド·フォーマットされた左右の画像を3D映画小さすぎるレンダリング映画のための底のフルスクリーン(3DTB)

カテゴリは次の値のいずれかになります。

ブランク オクルスで「マイビデオ」タブからアクセス映画シネマ
トレーラー オクルスシネマで「トレーラー」タブからアクセス映画
マルチスクリーン オクルスの「マルチスクリーン」タブからアクセス映画シネマ
Oculus 360フォトとビデオのメタデータ

360フォトストアの製品バージョンは、すべてのメディア属性情報をapkにパッケージ化されたmetaファイルに格納します。これはカテゴリが動的にメディアを変更することなく、直接作成および/または変更することが可能です。SDK 360 Photosのためにmetaファイルは、Oculus/360Photosで見つかる内容を使って、自動的に生成します

メタデータは、assetsフォルダから読み込まれるmeta.jsonファイルで、以下の構造を有する:

{
“Categories”:[
{
“name” : “Category1”
},
{
“name” : “Category2”
}
],
“Data”:[
{
“title”: “Media title”,
“author”: “Media author”,
“url”: “relative/path/to/media”
“tags” : [
{ “category” : “Category2″ }
]
}
{
“title”: “Media title 2″,
“author”: “Media author 2″,
“url”: “relative/path/to/media2″
“tags” : [
{ “category” : “Category” },
{ “category” : “Category2″ }
]
}
}

360ビデオの小売とSDKバージョンの両方のために、メタデータ構造が使用されず、代わりにカテゴリはオクルス/360Videosで見つかったメディアから読み込んだ内容に基づいて生成されます。

メディアの場所

SDKには、静止画や動画を表示するための3つのアプリケーションが付属しています。オクルスシネマ·アプリケーションは、通常の2Dの映画や3D映画の両方を再生することができます。オクルス360枚の写真アプリケーションは、360度のパノラマ静止画や360度のパノラマ映像を表示することができオクルス360ビデオアプリケーションを表示することができます。これらのアプリケーションは、自動的にデバイス上の特定のフォルダ内のメディアを検索する機能を持っている。オクルス360枚の写真は、データを動的にタグ付けし、その永続キャッシュに出て保存することができることに加えてロードした写真の組織が含まれているメタデータを使用しています。これが「お気に入り」機能は、ユーザーがメディアストレージ自体を変更せずにお気に入りとして写真をマークすることができ、どのように動作するかです。これらのアプリケーションのために追加のメディアを配置する場所を次の表には示しています。

メディア フォルダ アプリケーション
2D Movies Movies\
DCIM\
Oculus\Movies\My Videos
Oculus Cinema
3D Movies Movies\
DCIM\
Oculus\Movies\My Videos\3D
Oculus Cinema
360度のパノラマ静止画 Oculus\360Photos
(アプリ内 – Assets\meta.json)
Oculus 360 Photos
360度のパノラマ動画 Oculus\360Photos Oculus 360 Videos
ムービーシアターFBX sdCard\Oculus\Cinema \Theaters Oculus Cinema

Oculusメディアアプリケーション

このセクションでは、オクルスVRネイティブ視聴アプリケーションについて説明します。

ネイティブのVRメディアアプリケーション
OculusCinema

オクルスシネマビデオを再生するためのAndroidのMediaPlayerのクラス、従来の(/sdcard/Movies/ と /sdcard/DCIM/参照)サイドバイサイド3D(/sdcard/Movies/3D and /sdcard/DCIM/3D参照)によって、使用しています仮想映画館のシーン(sdCard/Oculus/Cinema/Theaters参照)。サポートされている画像やムービーのフォーマットの詳細については、メディアクリエイションガイドラインを参照してください。

劇場に入る前に、Oculusシネマは、ユーザーが別の映画や映画館を選択することができます。

新シアターは、オートデスク3dsMas、Maya、またはLuxology社 MODOで作成することができ、1つ以上のAutodesk FBXファイルとして保存し、このSDKに含まれているFBXコンバータを使用して変換。作成し、新しい劇場を変換する方法の詳細については、FBXコンバータガイドを参照してください。

FBXコンバータは、モデルにこれらの劇場をコンパイルするコマンドラインオプションの様々な起動される

すなわちOculus·シネマ·アプリケーションにロードすることができる。すべてのコマンドラインオプションを再入力しなくても済むように、それを

すべてのコマンドラインオプションを使用してFBXコンバータを起動するバッチファイルを使用するのが一般的である。この

パッケージには、このような2つのバッチファイル、各例の劇場のための1つを含む。

  • SourceAssets/Scene/cinema.bat
  • SourceAssets/Scene/home_theater.bat

各バッチファイルをロードできるモデルに関連したテクスチャをFBXファイルのいずれかに変換します
オクルスシネマアプリケーション。各バッチファイルには、デバイスに自動的に変換されたFBXモデルをプッシュします

そして劇場でオクルスシネマアプリケーションを起動します。

劇場用のFBXファイルは、いくつかの特別な名前のメッシュを含める必要があります。
メッシュの一つであるべき名前の画面。このメッシュは、映画が投影される上に表面である。FBXコンバータを読む
タグの詳細については、マニュアルを参照してください。最大8席の名前は8タグまで作成することによって設定することができます

Xが範囲内にあるcameraPosX [1,8]。

劇場は通常、2つのテクスチャで一つの大きなメッシュである。演劇のための焼いた静的な照明の1つのテクスチャ

ライトは1であり、劇場のライトがオフになっている映画に基づいて変調されている別の質感。
ザ·ライトは徐々にこれら二つのテクスチャをブレンドすることによってオンまたはオフされる。バッテリーを節約するために、劇場はあるライトが完全にオンまたは完全にオフになっている場合にのみ1つのテクスチャを用いてレンダリング。焼いた静的なテクスチャ

照明は拡散カラーテクスチャとしてFBXに指定されている。映画に基づいて変調されたテクスチャがある

発光色のテクスチャとして指定されています。

2テクスチャはETC2形式の4ビット/テクセルで、通常4096 X 4096です。大きなテクスチャを使用すると、動作しない場合があります

すべてのデバイス上で。もっと引き分けに複数の小さなテクスチャ結果を使用すると、呼び出し、すべてのジオメトリがあることを許可しないこと

静的オーバードローのコストを削減するソート。劇場ジオメトリは静的にフロント保証するためにソートされている

ツーバック著しくオーバードローのコストを削減することができ、三角形ごとにレンダリングする。読み FBXを

コンバータガイド 最高のレンダリングパフォーマンスのジオメトリの最適化について学ぶ。

メッシュやテクスチャに加えて、オクルスシネマは、現在、劇場の選択のための350×280のアイコンが必要です

メニュー。それは、任意の形状によって参照されていないので、これは、コマンドラインパラメータを使用してシーンに含まれています

またはそれはovrs ceneファイルと同じファイル名での.pngファイルとしてロードすることができます。

オクルス360枚の写真

オクルス360枚の写真パノラマ静止画のためのビューアです。アプリケーションのSDKのバージョンは、シングルを提示

からロードされたパノラマサムネイル パネルのカテゴリ オクルス/ 360Photos SDKのSDカードに。見つめ

パネルに向かって、その後ギアのVRタッチパッド上で前後にスワイプすると、コンテンツをスクロールします。

まだパノラマを表示すると、パノラマメニューのバックアップ持って再びギアVRタッチパッドに触れている

適切に設定されている場合の属性情報を表示します。さらに、一番上のボタンまたは上の戻るボタンをタップする

ギアのVRタッチパッドはサムネイルビューを取り戻すでしょう。下のボタンは、現在のパノラマをタグ付けします

あなたがタグ付けされたパノラマと、サムネイルビューの上部に新しいカテゴリを追加しますお気に入り。 押す

好きなボタンを再度写真タグを解除してから削除しますお気に入り。ゲームパッドのナビゲーションと選択

メニュー、単一のドットボタンを選択して2ドットをナビゲートするために使用左スティックとDパッドを介して実装されている

ボタンを押してメニューをバックアップします。参照してください メディア創造ガイドラインカスタム属性情報の作成 の詳細については、

パノラマのため。

オクルス360ビデオ

彼らは同じメニュー機能を共有としてオクルス360動画が360枚の写真と同じように動作します。アプリケーション

また、選択眺めることができますオクルス/ 360Videosから読 み込ま映画のサムネイルパネルを提示

再生します。映画を一時停止し、メニューを表示するためにギアのVRタッチパッドに触れてください。一番上のボタンが停止します

映画と映画の選択メニューを起動します。下のボタンは、映画を再起動します。ゲームパッドのナビゲーションと選択は、単一のドットボタンセレクトは、メニューをナビゲートするために使用左スティックとD-パッドを介して実装されており、

2ドットボタンを押してメニューをバックアップします。参照してください メディア創造ガイドラインサポートされている画像やムービーの詳細については、

フォーマット。

VrScene

デフォルトではVrSceneはゲームパッドを使用してナビゲートすることができオクルスのデモ、からトスカーナのシーンをロードします。

しかし、VrSceneは異なる.ovrsceneファイルを表示するにはAndroidのインテントを受け付けますので、それはまた、一般的なとして使用することができます

開発中のシーンビューア。新しいシーンは、Autodesk 3ds Maxの、マヤ、またはLuxology社で作成することができます

MODOは、1つ以上のAutodesk FBXファイルとして保存され、含まれているFBXコンバータを使用して変換

このSDKで。新しいFBXシーンを作成し、変換の詳細については、FBXコンバータドキュメントを参照してください

 

Oculusシネマシアターの作成

このセクションでは、Oculusシネマで使用するためのムービーシアターFBXを作成してコンパイルする方法を説明します。

 

映画館FBXを作成し、コン パイルする方法

図29:MODOとその項目名にシネマシーン

劇場を作成する手順:

  1. 劇場メッシュを作成します。
  2. スクリーンメッシュを作成します。
  3. 2劇場のテクスチャ(上のライトとライトをオフにして1と1)を作成します。
  4. カメラ/ビュー位置を定義するメッシュを作成します。
  5. (薄暗い照明用のオプション、)添加材料を使用したメッシュを作成します。
  6. FBXコンバータツールを実行します。

詳しい使い方

1。劇場メッシュを作成します。

  • ここでは特別な何も。ちょうど劇場メッシュを作成するが、ここではメッシュを最適化する方法のためのいくつかのヒントがあります。

原則として、物理的に可能な限り低いポリカウントしてください。レンダリングは、課税操作であり、貯蓄

この領域で、プロジェクト全体の利益になる。基準点として、「シネマ」劇場メッシュがあります

42000トリスのポリカウント。ごとのシーンについての詳細な情報については、レビューのパフォーマンスのガイドライン

ポリカウントのターゲット。

  • ポリカウントの最適化は、様々な方法で実行することができる。良い例は、で示され

「シネマ」メッシュがオクルスシネマ用のSDKのソースファイルに含まれています。あなたがソースメッシュをロードすると、

あなたは遠くに椅子が低いポリながらプレイヤーの位置の近くにある全ての椅子が高いポリであることに気づくでしょう。

それは時にカメラを配置することで、この最適化によって引き起こされるあらゆる視覚的なファセットを特定して修正することが重要です

あなたのモデリングツールで定義された座席位置。シーンの特定の側面が「低ポリ」を見れば、その後に追加

これらのシルエットの対象地域における新たな頂点は、シーン内のそのすべてのものに印象を与えるために

実際よりも高いポリ。このプロセスは、労力の少しかかりますが、それは間違いの面で大きな勝利です

ビジュアル品質と性能。また、ユーザーに直面したことがないすべてのポリゴンを削除して

固定されたカメラ位置が利用される。あなたのモデリングパッケージでスクリプトを開発することは、迅速に役立つ必要があります

このプロセスの作品。私たちの「シネマ」場合の例については、このプロセスは、40%ポリカウントを減少させた。

図30:この画像は「シネマ」のメッシュに椅子のポリ最適化を示しています。[MODO]

  • あなたのメッシュを最適化し、まだ推奨範囲より上に着陸している場合は、あなたがより多くのプッシュすることができるかもしれ

3×3の格子状に配置さ9個々のメッシュにメッシュを切断することによりポリゴン。あなただけの映画を見ることができる場合

彼らは外になら中央のグリッドセルから、うまくいけば他のグリッドセルのためのメッシュの一部が描画されません

あなたの現在のビュー。あなたがのバウンディングボックスを見ることができればメッシュの可視性は、バウンディングボックスによって決定され、

メッシュは、あなたは、その三角形のすべての単一の1を描画している。以下の図は、どこにカットポイントを示している

劇場メッシュがこの最適化を必要とする場合に配置することができる。尚、劇場の後ろのカット

右の最後のカメラ位置の背後にある。これは、描画がこのカットポイントの背後にある三角形を保持しながら、

ユーザーは楽しみにしています:

図31:[MODO]

  • レンダリング性能を助けるもう一つの最適化は、ポリゴン描画順序です。あなたを取得するための最良の方法

ポリゴンは、すべてのソートされたすべてのカメラ位置の平均であることをあなたの劇場の形状はこのように移動させることである

0,0,0近く。コンパイルする際に次にFBXコンバータの-sort起源コマンドラインオプションを利用

このメッシュ(詳細は、手順7を参照)。

  • 材質:あなたがあなたのメッシュに適用する複数の材料は、より多くのあなたがレンダラを遅く。このしてください

数値が低い。私たちは、シーンごとに1つの材料を適用し、それは基本的に1 4Kテクスチャ(まあ、それは実際には二つのだ、だ

もしランプが点灯している時用とライトが消灯しているときのための1つを持っている必要があるため – これは

ステップ3下記)に覆われた。

  • テクスチャ:あなたは上のライトで演劇を表示材料にあなたの2テクスチャを追加する必要がありますし、

消灯。あなたがそれを行う方法は、あなたが上のライトでテクスチャを追加し、するために、そのモードに設定された色を拡散に(

MODO)とのオフライトでテクスチャのモードを設定 発光色

2。スクリーンメッシュを作成します。

  • メッシュ:クワッドを作成し、そのUVがフル0-1スペースを使用している、またはそれが映画全体を描画されることはありません

画面。

  • メッシュ名:メッシュ「画面」という名前を付けます。
  • 材質:「スクリーン」と呼ばれることに材料を適用します。あなたはに「screen.png」と呼ばれる小さな2×2の画像を追加することがあり

材料は、それが絶対に必要というわけではない。

3。 2劇場のテクスチャ(オフライトが付いている上のライトが付いている1つ)を作成します

ライトがオンになったかのように点灯しているMODOにおけるCGのシーンを作成します。このシーンは、テクスチャを焼成する。

次に、MODOのシーン内のすべての部屋のライトをオフにして、画面からの1エリアライトを追加します。このシーン

第二のテクスチャーのようにして焼成する。SDKに含まれている映画館では、材料の名前は

「シネマ」ライトオンの画像を「cinema_a.png」という名前で、ライトオフ画像を「cinema_b.png “という名前

図32:画面と添加剤像と映画メッシュのための2つの画像、。[MODO]

4。カメラ/ビュー位置を定義するメッシュを作成します。

  • カメラ/劇場での可能な座席の1のビュー位置がそのメッシュを作成することによって定義されている

90度のコーナーを持つ単一の三角形で構成されています。90度のコーナーでヴェールをするために使用される

カメラ位置。メッシュ “cameraPos1を」という名前を付けます。あなたはFBX Converterを使用してシーンを処理するとき、

カメラ位置を作成するために使用されるメッシュ指定する-tagコマンドラインパラメータを使用し、

そして、彼らが描かれていないように、シーンからそれらを削除する-removeパラメータを使用します。例えば、

cinema.fbxを変換する際に、我々はcameraPos1 cameraPos2 cameraPos3 -tag画面を使用 –

カメラの位置を変換するために、コマンドラインでcameraPos1 cameraPos2 cameraPos3を削除

タグに噛み合って、それらを削除します。

  • 座席位置の最大数:現在のシネマ·アプリケーションは、8カメラの位置をサポートします。

図33:三カメラ位置メッシュ。[MODO]

5。添加材料を使用したメッシュを作成します(オプション、のためのライトが消灯しているとき)

  • さまざまな実世界の映画館は映画を再生している間に別のライトを残す。彼らは、光をぼんやりこと

階段の照明、歩道ライト、または壁灯。彼らはいくつかに焼く、仮想劇場でこれらのライトを再作成するには

付加的に描かれているポリゴン。

単に素材を作成し、材料名に「_additive “を追加:•添加材料を作成するには

画像を追加し、それを割り当てる 発光色

6。 FBXコンバータツールを実行します

注: FBX Converterツールの詳細については、を参照してくださいFBX Converterを

  • すべてのFBXコンバータのコマンドラインオプションを入力しなくて済むように、それはバッチファイルを作成するのが一般的である

それは、FBXコンバータを起動します。例えば、映画館では、バッチは、上記のフォルダに配置されている

FBXファイルは次の場所にあります。

\ OculusSDK \モバイル\メイン\ SourceAssets \シーン\シネマ\ cinema.fbx

\ OculusSDK \モバイル\メイン\ SourceAssetsシーン\ \ cinema.bat

  • cinema.batバッチファイルの内容は次のとおりです。

FbxConvertx64.exe -oシネマ-pack -cinema -stripModoNumbers -rotate 90 –

-sort起源-tagスクリーンcameraPos1 UV0 0.01 -flipv -attrib位置をスケール

cameraPos2 cameraPos3 -remove cameraPos1 cameraPos2 cameraPos3シネマ-render

\ cinema.fbx -raytrace画面-includeシネマの\にicon.png

注:これは、私たちは明確化のために包まれてきたバッチファイル内の単一の行です。

ここでは映画のコンパイルに使用される異なるコマンドラインオプションの説明です。

FbxConvertx64.exe

FBXコンバータ実行可能。

-oシネマ

-oオプションは.ovrsceneファイルの名前を指定します。

-pack

FBXコンバータは自動的にcinema_pack.batを実行できます

.ovrsceneファイルにすべてをパッケージ化するバッチファイル。

FbxConvertx64.exe

FBXコンバータ実行可能。

-cinema

.ovrsceneファイルが自動的に代わりのシネマにロードされる

VrSceneデバイスが接続されている場合。

-stripMODONumbers

そうでないので、MODOは、多くの場合、項目名に「{2}」が追加さ

重複名を許可。このオプションでは、これらの数字を除去します。

-rotate 90

ので、全体の演劇のY約90度回転させます

映画館はシネマが+ Xを見下ろすながら、+ Zを見下ろすように建てられました。

-scale 0.01

MODOはFBXを保存する際に(100倍に劇場を拡大縮小

ファイル、それは)センチメートルに変換します。

-flipv

彼らが反転しているので、垂直方向にテクスチャを反転したときに

圧縮されている。

-attrib位置UV0

FBX Converterは除くすべての頂点の属性を削除できます

「位置」と最初のテクスチャ座標。

-sort起源

ソートすべての三角形前面から背面へのレンダリングを改善するための0,0,0から

パフォーマンス。

-tag画面

cameraPos1

cameraPos2

cameraPos3

劇場での画面とビューポジションのタグを作成します。

これらのタグは、映画館で使用されている。

-remove cameraPos1

cameraPos2

cameraPos3

位置がレンダリングされてから噛み合うビューを保持します。

シネマ-render

\ cinema.fbx

コンパイルするFBXファイルを指定します。

-raytrace画面

映画館のスクリーン上の注視選択を可能にします。

-includeシネマ

\にicon.png

.ovrsceneファイル内の劇場のアイコンが含まれています。

  • これらはあなたがFbxConvert.exeのために必要がありますオプションのほとんどである。追加オプションは存在しますが、そうではありません

一般的に演劇を作成するために必要な。オプションの作成と方法の詳細の完全なリストについて

を参照してください、FBXファイルを変換 FBX Converterを

  • 別のコマンドラインオプションの例は、<mesh1> [<mesh2> …] -discreteです。ときにこれを使用

これらのメッシュのいずれかである場合に引き込まれるポリゴンの数を減らすためにチャンクにメッシュをカット

オフスクリーン。デフォルトでは、FBXコンバータは、ジオメトリをマージしてレンダリングのためのジオメトリを最適化します

それはできる限り少ないメッシュに。あなたは9メッシュにシーンをカットした場合は、FBX Converterは、それらをマージします

一緒に戻って再びあなたは-discreteコマンドラインオプションを使用しない限り。

7。 SDCARD /オクルス/シネマ/映画館にあなたの.ovrsceneファイルをコピーします

FBXコンバータ

FBXファイルは、バーチャルリアリティで、衝突検出と注視選択をレンダリングするための形状に変換するツール

経験。

概要

FBXファイルは、バーチャルリアリティで、衝突検出と注視選択をレンダリングするための形状に変換するツール

経験。

FBXコンバータは、一つ以上のAutodesk FBXファイルを読み込み、JSONに保存されたモデルを使用してファイルを作成し

フォーマットは、生データとバイナリファイルを伴う。FBXコンバータによって作成されたJSONファイルが含まれています

以下:

  • Aモデルをレンダリングします。このモデルは、テクスチャのリスト、関節のリスト、タグのリスト、および表面のリストがあります。各

表面は、使用テクスチャのタイプと参照を有する材料を有する。材料テクスチャが含まれる

びまん性、鏡面、ノーマル、発光および反射質感。各表面は、インデックス付きの頂点の集合を有している。

頂点は以下の属性を含んでいてもよい:関節位置、ノーマル、タンジェント、従法線、色、UV1、UV0を、

重み、関節の指標。UVの二組は、びまん性/ノーマル/鏡面の質感とのために1セットをサポートされています。

オプションの発光テクスチャのための別個のセット。

壁衝突モデルを•。このモデルは、壁を通って歩いてからアバターを防止するために使用される。これはのリストです

各多面体は平面の集合によって記述されているポリトープ。ポリトープは必ずしも制限されていませんか

凸。

地上衝突モデルを•。このモデルは、アバターの床高さを決定する。また、このモデルは、もはやありません

ポリトープのリストより。

光線追跡モデルを•。これは、高速線のための表面積ヒューリスティック(SAH)最適化されたKD-ツリーと三角形のスープです

トレース。メッシュまたは三角形は、インタラクティブなフォーカストラッキングまたは注視選択を可能にするために注釈を付ける必要があります。

レンダリングモデルのテクスチャがFBXファイルに埋め込むことができ、FBXコンバータによって抽出される。

組み込みテクスチャはどこのフォルダのサブフォルダである<ファイル名> .fbm /、名前のフォルダに抽出され

FBXファイル<ファイル名>の.fbxが配置されて。代わりに、テクスチャを埋め込む、それらは単にに格納することができ

FBXファイルと同じフォルダ。次のソーステクスチャフォーマットがサポートされています:BMP、TGA、PNG、JPGを。のために

最高の品質、JPGなどの非可逆圧縮のフォーマットは避けるべきである。

モデルとJSONファイルとバイナリファイルの名前は一時フォルダに保存されます。<ファイル名> _tmp /、その

<ファイル名>は出力ファイル名ですFBXコンバータが起動されているフォルダのサブフォルダである

-oコマンドラインオプションで指定した。FBXコンバータは、<ファイル名> _pack.batバッチファイルを作成します

FBXコンバータが起動されたフォルダ内に。

このバッチ·ファイルは、プラットフォーム固有の圧縮フォーマットにレンダリングモデルのテクスチャを圧縮するために使用される。A

テクスチャーは、(OpenGL ESのモバイルプラットフォーム用とS3TCにETC2(またはアルファなし)に圧縮されます

PC用のDXT1 / BC1またはDXT5 / BC3)。バッチ·ファイルのみのためにテクスチャを圧縮するために、ファイルのタイムスタンプを使用して

ソーステクスチャよりも新しい圧縮されたバージョンが既に存在しない。-cleanコマンドラインオプション

すべてのテクスチャの再圧縮を強制するために使用することができる。

バッチファイルには、JSONモデルファイル、生データとバイナリファイルと、特定のプラットフォームをコピーします

前述ののサブフォルダである<ファイル名> _tmp /パック/、という名前のフォルダに圧縮テクスチャ

<ファイル名> _tmp /フォルダ。7-Zipは、その後でロードできる単一のパッケージに「パック」フォルダを圧縮するために使用されている

アプリケーション。-packコマンドラインオプションは、自動的に<ファイル名> _pack.batを実行するために使用することができます

座標系

デフォルトでは、3DスタジオMaxで座標系としてアキュラスSDKは、同じ座標系を使用するか、または

Luxology社MODO。これはと右手座標系である。

+ X

-X

+ Y

アップ

-Y

ダウン

+ Z

後方

-Z

フォワード

オクルスSDKは、1単位は1メートルに等しい測定のための測定基準システムを使用しています。3Dスタジオ

マックスとLuxology社MODOは、いずれかにアプリケーションマップ内の任意の特定の測定単位が、1ユニットを使用しないでください

オクルスSDKの1単位。しかし、Luxology社MODOからのデータはFBXファイルに保存され、すべてのユニット

自動的に100を加え乗算される。言い換えると、FBXファイル内の測定単位は、人間を終了する

センチ。したがって時FBXコンバータコマンドラインで指定1/100のスケールが常にある

Luxology社MODOからFBXファイルを変換:0.01 -scale

FBX Converterは、FBXジオメトリ(翻訳し、回転さを変換するために、いくつかのコマンドラインオプションをサポートし、

規模、エトセトラ)。変換は、それらが上に示されている順序でジオメトリに適用される

コマンドライン。

マテリアル

JSONモデルファイルに格納された各レンダリングモデル表面に材料を有する。

このような材料を使用し、テクスチャにタイプと参照を持っています。材料テクスチャは、拡散を含むことができ、

鏡面、ノーマル、発光および反射質感。これらのテクスチャは次のようにFBXファイルから取得されています。

「DiffuseColor」

「法線マップ」

「SpecularColor」

「EmissiveColor」

「ReflectionColor」

ほとんどのモデリングツールは、FBXファイル内の上記のテクスチャに似た名前のテクスチャをマッピングします。例えば、使用して

Luxology社MODOは、「エミッシブカラー」テクスチャがFBXファイルの「EmissiveColor」テクスチャにマッピングされている。

次のように拡散テクスチャをレンダリング中に放射性テクスチャーと乗算される。

色= DiffuseColor(UV0)* EmissiveColor(UV1)* 1.5

表面反射は、キューブマップ(または環境マップ)を検討。6キューブマップの側面のためのテクスチャがあるべき

名前:

<名前> _right。<拡張子>

<名前> _左。<拡張子>

<名前> _up。<拡張子>

<名前> _down。<拡張子>

<名前> _backward。<拡張子>

<名前> _forward。<拡張子>

反射テクスチャ」ReflectionColorは「キューブマップを作成するために使用されるこれらの6のテクスチャのいずれかに設定する必要があります。

FBXコンバータは、自動的に他の5のテクスチャをピックアップし、キューブマップにすべての6テクスチャを兼ね備えています。

表面反射を計算するために使用される通常のマップは、ローカル(タンジェント)の空間であると予想される。 間に

以下のように計算された反射マッピングさ物質の色をレンダリングする。

surfaceNormal =ノーマライズ(法線マップ(UV0).X *接線+

法線マップ(UV0).Y *従法線+

法線マップ(UV0).Z *ノーマル)

反射=ドット(eyeVector、surfaceNormal)* 2.0 * surfaceNormal – eyeVector

色= DiffuseColor(UV0)* EmissiveColor(UV1)* 1.5 +

SpecularColor(UV0)* ReflectionColor(反射)

材料タイプは、次のいずれかです。

1。不透明

2。あき

3。透明

4。添加剤

最初の3物質の種類、拡散テクスチャのアルファチャンネルに基づいています。 – アルファコマンドライン

オプションは、「あき」と「透明」材料の種類を有効にするために使用されなければならない。-alphaコマンド+なし

ライン·オプションは、拡散テクスチャのアルファチャンネルが削除されます。

「添加剤」材料タイプは、テクスチャから誘導することができない。添加剤テクスチャは追加することによって指定される

FBXファイル内の物質名に_additive。

アニメーション

あり本格的なアニメーションシステムは、現在ではありませんが、関節に加重た頂点はまだ非常に便利です

できるだけ少ない表面をレンダリング中にプログラムで、ジオメトリを移動します。のようなものを考えてみて

VrArcadeでアーケードマシン上のボタンとジョイスティック。アーティストはセットアップスキニングのための頂点の重み付けをすることができ、

しかしFBXコンバータは、厳格に、単一の関節にFBXのソースメッシュの頂点を結合するためのオプションを持っています。で

この場合には、共同の名前はFBXのソースメッシュの名前になります。厳密にスキニングする必要がメッシュ

ジョイントは-skinコマンドラインオプションを使用して指定します。FBXファイルあたり16関節の限界は現在あり。

FBXコンバータは、関節にいくつかの非常に基本的なパラメトリックなアニメーションを適用することができます。

これらの単純なアニメーションは-animコマンドラインオプションを使用して指定します。アニメーションの種類があります

回転、揺れとボブ。これらのタイプのいずれかを直接-animコマンドラインオプションを次のよう指定されている。

アニメーションを定義するいくつかのパラメータは、型の後に指定されている。ローテート用およびこれらを左右

パラメータは毎秒度のピッチ、ヨー、ロールです。ボブのためのパラメータでのx、yおよびzで

メートル毎秒。これらのパラメータは、次の、時間オフセットおよびスケールを指定することができる。オフセット時間は、

一般的に同期しなくアニメーションの複数の関節に使用し、時間スケールは、スピードアップやスローダウンするために使用することができ

アニメーション。少なくとも最後のではなく、一つ以上のジョイントは、そのアニメーションが適用されるべきであるように指定されている。

メッシュは厳密に-skinコマンドラインオプションを使用して、関節にスキニングされた場合、FBX Converterは、格納

ノードが関節に変換メッシュ。このメッシュノードの変換は、基準(ピボット軸)のフレームとして使用される

アニメーションのために。

タグ

タグは、世界の位置と基準のフレームを定義するために使用される。

タグは、例えば、スクリーンまたは映画館におけるビュー位置を定義するために使用することができる。タグは、するために使用することができる

場所は、世界内のオブジェクト。

-tagコマンドラインオプションは、一つ以上のFBXがタグにレンダリングモデルからメッシュをオンにするために使用されます。

タグの名前は、メッシュの名前になります。位置及び基準のフレームは、から誘導される

第1のメッシュの三角形とは、4×4行列に格納される。位置が最もある三角形のコーナーです

直交。このコーナーから出てくるエッジは、基準のフレームの最初の2つの基底ベクトルを定義する。

これらの基底ベクトルは、フレームの寸法を維持するように正規化されていない。第三の基底ベクトルである

三角形の法線ベクトル。

複数のタグは-tagコマンドラインオプションの後に複数のFBXメッシュ名を指定して作成することができます。 –

タグコマンドラインオプションは、レンダリングモデルからリストされたメッシュを削除しません。-removeコマンド –

ラインオプションは、レンダリングモデルのメッシュを除去するために用いることができる。

コマンドラインインターフェイス

FBX Converterはコマンドラインツールです。

FBX Converterを実行するには、Windowsの[スタート]メニューで見つけることができますWindowsのコマンドプロンプトを開く

下の [すべてのプログラム ] – > [ アクセサリ。コマンドプロンプトは、Windowsにcmdとを入力して開くことができます

スタートメニューのプロンプトを実行します。コマンドプロンプトが開かれた後、私たちはFBXを起動することをお勧めします

ソースFBXファイルが置かれているフォルダからのコンバーター。

FBXコンバータは、以下のツールが付属しています:

FbxConvertx64.exe(オクルスVRから)

TimeStampx64.exe(オクルスVRから)

PVRTexTool / *(のPowerVR SDKのバージョン3.3からバージョン3.4、)

7zipを/ *(www.7-zip.orgからバージョン9.20、)

FbxConvert64.exeは、ユーザーによって起動される実行可能である。他の実行可能ファイルがあり、直接又は

間接的にFbxConvertx64.exeの実行可能ファイルによって使用される。

オプション

FBXコンバータは、次のコマンドラインオプションをサポートしています。

コマンド

説明

-o <出力>

.ovrsceneファイルの名前を指定します。せずに、この名前を指定します

拡張機能。

<model.fbx> -render

レンダリングに使用されるモデルを指定します。

-collision <model.fbx |メッシュ>

壁衝突のモデルまたはメッシュを指定します。

-ground <model.fbx |メッシュ>

床の衝突のためのモデルまたはメッシュを指定してください。

-raytrace <model.fbx |メッシュ>

フォーカストラッキングのためのモデルまたはメッシュを指定します。

-translate <X> <Y> <Z>

モデルはX、Y、Zによって翻訳。

-rotate <度>

Y軸周りのモデルを回転させます。

-scale <要因>

与えられた係数でモデルをスケール。

-swapXZ

XとZ軸を入れ替えます。

-flipU

Uテクスチャ座標を反転します。

-flipV

Vテクスチャ座標を反転します。

-stripModoNumbers

茅で追加されたストリップ重複する名前番号。

-sort <+ | – > <X | Y | Z |起源>

ソート軸に沿って、または原点からジオメトリ。

-expand <DIST>

この距離によって衝突壁を展開します。0.5デフォルト

-remove <mesh1> [<mesh2> …]

レンダリングのためにこれらのソース·メッシュを削除します。

-atlas <mesh1> [<mesh2> …]

これらのメッシュのためのテクスチャアトラスを作成します。

-discrete <mesh1> [<mesh2> …]

これらのメッシュをレンダリングするために分離してください

コマンド

説明

-skin <mesh1> [<mesh2> …]

これらのソースは関節に堅く噛み合うスキン。

-tag <mesh1> [<mesh2> …]

タグにこれらのメッシュの第一の三角形をオンにします。

-attrib <ATTR1> [<のattR2> …]

のみこれらの属性を保つ:[位置を、通常の、接線、従法線、

色、UV0、UV1、オート]。

-anim <ローテート> <ピッチ> <ヨー> <ロール>

<TIMEOFFSET> <タイムスケール> <joint1>

[<joint2> …] -anim <揺れ> <ピッチ> <ヨー>

<ロール> <TIMEOFFSET> <タイムスケール> <joint1>

[<joint2> …] -anim <ボブ> <X> <Y>

<Z> <TIMEOFFSET> <タイムスケール> <joint1>

[<joint2> …]

関節にパラメトリックアニメーションを適用します。

-ktx

KTXファイル(デフォルト)にテクスチャを圧縮します。

-pvr

PVRファイルにテクスチャを圧縮します。

-dds

DDSファイルにテクスチャを圧縮します。

-alpha

存在する場合、テクスチャのアルファチャンネルを保管してください。

-clean

以前に圧縮テクスチャを削除します。

-include <ファイル1> [<ファイル2> …]

パッケージ内のこれらのファイルを含めます。

-pack

自動的に<出力> _pack.batファイルを実行します。

-zip <X>

7-ZIP圧縮レベル(0 =なし、9 =ウルトラ)。

-fullText

JSONファイル内のテキストとしてバイナリデータを保管してください。

-noPush

バッチファイル内のデバイスにプッシュしないでください。

-noTest

バッチファイルからテストシーンを実行しないでください。

-cinema

VrCinemaの代わりにVrSceneを起動します。

-expo

VrSceneのVrExpoのinsreadを起動します。

-collision、-groundと-raytraceコマンドラインオプションは個別のFBXファイルを指定することもどちらか、

-renderコマンドラインオプションで指定したFBXファイルからメッシュのリスト。衝突と光線追跡の場合

メッシュを描画するようにメッシュが同じFBXファイルにあるが衝突し、光線追跡面はすべきでない

次に、これらのメッシュは-removeコマンドラインオプションを使用してレンダリングするために削除することができ、レンダリングされる。

尚、-collision、-ground、-raytrace、-remove、-atlas、-discrete、-skinと-tag

コマンドラインオプションは*のようにワイルドカードを受け入れ、?。たとえば、すべての表面を離散に活用するために: –

離散*

バッチ実行

代わりに、コマンドプロンプトで、すべてのコマンドラインオプションを入力するのではなく、バッチを使用するのが一般的である

オプションの数とFBXコンバータを起動するためのファイル。これは資産しばらくのクイック反復可能

一貫して同じ設定を使用して。以下は、変換したバッチファイルの内容である

ホームシアター用のFBX:

FbxConvertx64.exe -o home_theater -pack -stripModoNumbers -rotate 180 -scale 0.01

-translate 0.45 0 -3 -swapxz -flipv -sort起源-tagスクリーン-render

home_theater \ home_theater.fbx -raytrace画面

トラブルシューティング

FBXコンバータは、そのような設定オプションや警告やエラーなどの画面上にいくつかのことを出力します。

(例えば、テクスチャが欠落して)黄色で印刷されて警告、およびエラー(例えば、不足している実行ファイル)は赤色で印刷されます。

最適化

FBXコンバータのジオメトリを最適化するために使用できるさまざまなコマンドラインオプションを実装

レンダリング。

描画呼び出しを減らす

FBX Converterは自動的に彼らがされる ように、同じ材料を使用するFBXメッシュをマージ

単一の表面としてレンダリング。いくつかの時点で、自動的にのために表面を壊すことが必要になる可能性が

粒度をカリング。しかし、現在に起因有意に描画呼び出しの数を減らすことが重要である

モバイルプラットフォーム上のドライバのオーバーヘッド。いくつかの理由で別々に滞在する必要があるソースメッシュはフラグを付けることができます

FBXコンバータの-discreteコマンドラインオプションを使用して。

さらに描画呼び出しの回数を減らすために、または静的にソートすべて、単一の表面にFBXをジオメトリに

コンバータは、-atlasオプションを使用して、よりテクスチャアトラスの1つを作成することができます。このオプションは、FBXのリストを取り

必要ソースメッシュは、彼らのテクスチャアトラスにまとめています。複数のアトラスにより作成することができます

別のメッシュの名前で-atlasコマンドラインオプションを複数回指定する。置かれているテクスチャ

アトラスは、タイル張りすることができないメッシュに(繰り返し)とソース·メッシュのテクスチャ座標は、すべてであることを必要とする

[0、1]の範囲。

頂点を削減

変換中、FBX Converterは、三角形の総数との頂点の総数が表示されます

ジオメトリをレンダリングします。頂点の数は、三角形の数と同じ球場であると予想される。

三角形の2倍以上の頂点の上に持つことは、パフォーマンスに影響がある場合があります。ユニークな数

頂点はレンダリングに必要ではない頂点属性を除去することによって低減することができる。未使用の頂点

属性は、一般的に無駄であり、それらを除去することだけでGPUを改善することにより、レンダリングのパフォーマンスを向上させることが

頂点キャッシュの使用状況。

FBXファイルをレンダリングするために使用されていない頂点の属性を格納することができる。例えば、頂点法線とすることができる

FBXファイルに格納されているが、それらは、鏡面照明のいくつかのフォームがない限り、レンダリングに使用されることはありません。

FBXファイルもない放射が存在しないときに使用されていないテクスチャ座標の第2のセットを格納することができる

テクスチャ。FBXコンバータの-attribコマンドラインオプションは、属性のみを維持するために使用することができます

それが正しくモデルをレンダリングするために必要である。例えば、モデルだけで拡散テクスチャをレンダリングした場合

焼いた照明は、すべての不要な頂点属性は-attrib位置UV0を用いて除去することができる。

-attribコマンドラインオプションもautoキーワードを受け入れます。FBX autoキーワードを使用することにより

Converterは自動的に属性が指定されたテクスチャに基づいて保持する必要がある頂点を決定します

表面材料あたり。autoキーワードは、他の頂点属性と組み合わせて指定することができます。 のために

インスタンス:-attrib自動色が色属性は常に保持されることを確認し、他の頂点になる

彼らが正しく指定されたテクスチャに基づいてレンダリングするために必要な場合にのみ保存されます属性。 以下

表には、FBX Converterはautoキーワードが指定された場合に保つためにどの属性を決定する方法を示しています。

ポジション

常に自動的に保つ

通常の

法線マップまたはSpecularColor質感場合

指定されている

タンジェント

法線マップテクスチャが指定されている場合

従法線

法線マップテクスチャが指定されている場合

テストおよびトラブルシューティング

テストとトラブルシューティングガイドへようこそ。

Androidのデバッグ

モバイルVR開発のためのAndroidのデバッグするためのガイド。

ADB

このドキュメントは、Android上で任意のアプリケーションのデバッグを改善するためのユーティリティ、ヒントとベストプラクティスについて説明

プラットフォーム。 これらのヒントのほとんどは、ネイティブとユニティ両方のアプリケーションに適用されます。

アンドロイドデバッグブリッジ(ADB)は、AndroidのSDKに含まとの通信に使用される主なツールです

デバッグのためのAndroidデバイス。私たちは、公式ドキュメントを読むことによって、それに習熟することをお奨め

ここにある: http://developer.android.com/tools/help/adb.html

ADBの使い方

OSシェルからのadbを使用して、それが直接的に接続し、Androidデバイスと通信することが可能である

USB経由、またはWiFi接続を介してTCP / IP経由。Androidのソフトウェア開発キットおよび適切な

デバイスドライバは、ADBを使用しようとする前にインストールする必要があります( デバイスと環境のセットアップガイドをもっと用

情報)。

USB経由でデバイスを接続するには、互換性のあるUSBケーブルでPCにデバイスを接続。接続した後、オープン

OSシェルとタイプアップ:

ADBデバイス

デバイスが正しく接続されている場合は、ADBは、次のようなデバイスIDリストが表示されます:

接続されたデバイスのリスト

ce0551e7デバイス

ないデバイスが検出されない場合は、adbを使用しなくてもよい。お使いのデバイスがリストにない場合は、最も可能性の高い問題は、あなたが行うことです

正しいサムスンUSBドライバを持っていない-を参照して 、デバイスと環境設定ガイドを参照してください。あなた

また、別のUSBケーブル、および/またはポートを試してみてください。

– デバイスを待っている –

特定のデバイスに応じて、検出が時々気難しいあることに注意してください。特に、いくつかの上

VRアプリが実行されている間、またはADBは、デバイスを待っているとき、からデバイスを防ぐことができる接続するデバイス、

確実に検出されている。そのような場合は、アプリを終了しようとすると再接続する前にCtrl-Cを使用して、ADBを停止

デバイス。 あるいは、adbのサービスは、ADBサービスした後、次のコマンドを使用して停止することができます

次のコマンドを実行するときに自動的に再起動されます。

ADBキル·サーバー

複数のデバイスを一度に取り付けることができ、これは、多くの場合、クライアント/サーバアプリケーションをデバッグするために有益である。

WIFI経由で接続してもUSB経由で接続されたときにも、ADBは、2つのデバイスとして、単一のデバイスが表示されます。で

複数のデバイスケースADBは、-sスイッチを使用して動作するように、どのデバイスと言われなければならない。例えば、2つと

接続されたデバイスは、ADBデバイスコマンドが表示されることがあります:

接続されたデバイスのリスト

ce0551e7デバイス

10.0.32.101:5555デバイス

リストされたデバイスは、2つの別々のデバイス、またはその両方WIFIを介して接続されたと差し込まれている一つのデバイスであってもよい

USB(おそらくバッテリを充電する)。この場合、すべてのadbコマンドが形を取る必要があります。

ADB -s <デバイスID> <コマンド>

ここで、<デバイスID>はADBデバイスによって報告されたIDです。したがって、たとえば、にlogcatコマンドを発行する

TCP / IPを介して接続されたデバイス:

ADB -s 10.0.32.101:55555 logcat -c

とUSB接続した機器に同じコマンドを発行する:

ADB -s ce0551e7

WiFi経由でADBの接続

USBを介してデバイスに接続する高速なTCP / IP接続を使用して、より一般的であるが、TCP / IP接続である

電話がに置かれたときのみに発生する動作をデバッグする場合は特に、時々不可欠

USB接続はギアVRジャックによって占有される場合にはギアVR、。

TCP / IP経由で接続するには、最初のデバイスのIPアドレスを決定し、デバイスが既にあることを確認してください

USB経由で接続。[設定]の下でデバイスのIPアドレスを見つけることができます – >デバイスについて – >ステータス。その後

次のコマンドを発行します。

ADB TCPIP <ポート>

ADB接続<IPアドレス>:<ポート>

例えば:

> ADB TCPIP 5555

TCPモードポートで再起動:5555

> ADB接続10.0.32.101:5555

10.0.32.101:5555に接続

デバイスがUSBポートから切断されてもよい。限りADBのデバイスはすべて、単一のデバイスを示しているように

adbのコマンドは、WiFi経由でデバイスに対して発行されます。

WiFi接続の使用を停止するには、OSのシェルから次のadbコマンドを発行します。

ADB切断

Logcat

AndroidのSDKには、どのようなアプリケーションを決定するために不可欠である、logcatのログユーティリティを提供し、

AndroidのOSがやっている。

logcatを使用するには、USBまたはWiFi経由でAndroidデバイスを接続し、OSシェル、およびタイプを起動します。

ADB logcat

デバイスが接続され、検出された場合、ログは直ちにシェルに出力を開始します。ほとんどの場合、この

生の出力が便利であるには余りにも冗長です。Logcatは、タグによるフィルタリングをサポートすることにより、これを解決します。唯一の特定を表示するには

タグ、使用します。

ADB logcat -s <タグ>

この例:

ADB logcat -s VrApp

「VrApp “タグでのみ出力を表示します。

ネイティブVRLibコードでは、メッセージは、一般的にLOG()マクロを使用して印刷することができます。ほとんどのソースファイルでは、この

そのファイルに特定のタグを渡すように定義される。LOG.Hは、いくつかの追加のログのマクロを定義していますが、すべてに解決

__android_log_print()を呼び出す。

Logcatを使用すると、クラッシュの原因を特定するには

アプリケーションがクラッシュしたときLogcatは必ずしも実行されなくなります。幸いなことに、それは最近のバッファを保持します

出力、多くの場合、コマンドログをキャプチャするために、クラッシュの直後logcatに発行することができる

クラッシュのためのバックトレースが含まれています。

ADB logcat> crash.log

単にその後、上記のコマンドを発行するシェルのログファイルにバッファリングされた出力をコピーする瞬間を与え、

エンドADB(Windowsの場合はCtrl + Cは、プロンプトまたはOS XターミナルプロンプトCMD)。へ:次に、「バックトレース」のログを検索する

クラッシュで始まるスタックトレースを見つけます。

あまりにも多くの時間が経過したとして、ログがバックトレースが表示されない場合は、そこにクラッシュの完全なダンプ状態がすべき

まだ存在しています。全体をファイルにdumpstateをリダイレクトするには、次のコマンドを使用します。

adbのシェルdumpstate> dumpstate.log

ログファイルにフルdumpstateをコピーすると、通常は単に現在のキャプチャよりも有意に長い時間がかかる

logcatログをバッファリングされたが、それは、クラッシュに関する追加情報を提供することができる。

より良いスタックトレースの取得

logcatキャプチャまたはdumpstateでバックトレースは、一般的にクラッシュが発生した関数を示しているが、

行番号を提供していません。クラッシュの詳細については、Androidのネイティブ開発キットを取得するには

(NDK)をインストールする必要があります。NDKがインストールされると、スタックのndkユーティリティはlogcatログを解析するために使用することができ、または

スタックの状態の詳細についてはdumpstate。NDK-スタックを使用するには、次を発行します。

NDK-スタック-sym <シンボルファイルへのパス> -dump <ソースログファイル>> stack.log

たとえば、このコマンドを実行します。

NDK-スタック-sym VrNative \ Oculus360Photos \ OBJ \ローカル\ armeabi-v7a -dump crash.log>

stack.log

という名前のファイルに出力するオクルス360枚の写真より詳細なスタックトレースをシンボル情報を使用しています

crash.logで見つかったバックトレースを使用して、stack.log。

アプリケーションパフォーマンス分析

モバイルVRアプリケーション開発時の性能解析へのガイド。

性能解析

このドキュメントでは、アプリケーションのパフォーマンス分析に固有の情報が含まれています。

このドキュメントは、ネイティブアプリケーション開発を 対象としている間、ここで提示ツールのほとんどもある

Unityまたは他のエンジンで開発されたAndroidのアプリケーションのパフォーマンスを改善するのに有用。

アプリケーションパフォーマンス

このセクションでは、アプリケーションのパフォーマンスを評価するためのツール、方法およびベストプラクティスについて説明します。

このセクションでは、FPSレポート、Systraceは、およびNDKプロファイラを確認します。

FPSレポート

logcatのロギングFPS。

毎秒アプリケーションフレーム数、レンダリング最後の眼のシーンをレンダリングするためにGPU時間、および

目のタイムワープをレンダリングするためのGPU時間は、の詳細については、第二(一回logcatすることが報告されている

logcat、参照 アンドロイドデバッグ)。報告されたGPU時間が解決する時間は含まれないことに注意してください

オンチップ·メモリからメインメモリに戻ってレンダリングするので、それは過小評価である。

報告されたGPU時間は約14ミリ秒を超えている場合、実際の描画は、フレームレートを制限している、と

解像度/幾何学/シェーダーの複雑さが戻って60 FPSまで取得するために削減する必要があります。GPU時間がある場合

大丈夫とアプリケーションが60 FPSではまだされていない場合、CPUがボトルネックになっている。ユニティでは、これは、のいずれかである

スクリプトを実行UnityMainスレッド、またはOpenGLドライバ·コールを発行UnityGfxDeviceスレッド。Systraceはある

CPU使用率を調査するための良いツール。UnityGfxDeviceスレッドが時間の長いブロックを取っている場合には、還元

描画呼び出しバッチの数は、改善のための主要なツールです。

Systraceは

Systraceはは、Android開発ツール(ADT)バンドルに付属するプロファイリングツールです。Systraceはを記録することができます

Google Chromeブラウザで表示できるシステム活動の詳細なログ。

Systraceはと、それはむしろ単一のアプリケーションよりも、システム全体が何をしているかの概要を見ることができる。

これはスケジュールの競合を解決するか、アプリのように実行していない正確に理由を見つけるための非常に貴重なことができます

期待した。

Windowsでは:Systraceはを使用するための最も簡単な方法は、一緒にインストールされたmonitor.batファイルを実行することです

ADTバンドル。\アンドロイド\ ADT-バンドルのWindows-:これはADTバンドルのインストールフォルダ(例えば、Cで見つけることができます

x86_64-20131030)SDK / Toolsフォルダの下に。Androidのデバッグモニタを起動するためにmonitor.batダブルクリックします。

図34:Androidのデバッグモニタ

左側の列に、必要なデバイスを選択し、アイコンをクリックしSystraceはを切り替えるには、上記の赤でハイライト

ロギング。ダイアログには、トレースの出力の.htmlファイルの選択を可能に表示されます。トレースがオフに切り替えられると、

トレースファイルは、Google Chromeでそれを開いて表示することができます。

あなたは、HTMLドキュメントをナビゲートしながら、パンとズームするWASDキーを使用することができます。追加のキーボードの場合

:ショートカットは、以下のマニュアルを参照してください http://developer.android.com/tools/help/systrace.html

NDKプロファイラ

gprofの互換プロファイル情報を生成するために、NDKプロファイラを使用してください。

AndroidのNDKプロファイラは、Androidのためにgprofのポートです。

このリリースでテストされています最新のバージョンは、3.2であり、以下からダウンロードすることができます

場所: https://code.google.com/p/android-ndk-profiler/

C:\開発\アンドロイド\アンドロイド-NDK-R9Cダウンロードしたら、あなたのNDKにパッケージの内容を解凍し、パス、例えばをソース

\源。

PATHにNDKの構築済みのツールを追加し、例えばC:\開発\アンドロイド\アンドロイド-NDK-R9C \チェーン\アーム-Linuxの場合

androideabi-4.8 \ビルトインの\ WINDOWS-x86_64の\ binを。

AndroidのMakefileの変更

1.プロファイリング情報をでコンパイルしNDK_PROFILEを定義する

LOCAL_CFLAGS:= -pg -DNDK_PROFILE

NDK-プロファイラライブラリ2.リンク

LOCAL_STATIC_LIBRARIES:=アンドロイド-NDK-プロファイラ

3.インポートアンドロイド-NDK-プロファイラモジュール

$(コール·インポート·モジュール、アンドロイド-NDK-プロファイラー)

ソースコードの変更

monstartupとあなたの初期化およびシャットダウン機能にmoncleanupの呼び出しを追加します。monstartup呼び出さないでくださいまたは

あなたのアプリの有効期間中に複数回moncleanup。

#ifの定義されている(NDK_PROFILE)

のextern “C”ボイドmonstartup(char型のconst *);

のextern “C”の空隙moncleanup();

#endifの

のextern “C” {

空洞Java_oculus_VrActivity2_nativeSetAppInterface(JNIEnvの* JNI、JCLASS

clazzで){

#ifの定義されている(NDK_PROFILE)

のsetenv(「CPUPROFILE_FREQUENCY “、” 500 “、1); //は秒当たりの割り込み、デフォルト

100

monstartup(「libovrapp.so “);

#endifの

APP->初期化();

}

空洞Java_oculus_VrActivity2_nativeShutdown(JNIEnvの* JNI){

APP->シャットダウン();

#ifの定義されている(NDK_PROFILE)

moncleanup();

#endifの

}

} //をextern “C”

マニフェストファイルの変更

あなたのアプリをSDカードへの書き込みをするためにあなたが許可を追加する必要があります。gprofの出力ファイルは、/ SDカード/に保存されます

gmon.outという。

<使用する許可アンドロイド:名= “android.permission.WRITE_EXTERNAL_STORAG E” />

あなたのアプリをプロファイリング

プロファイリングデータを生成するには、あなたのアプリケーションを実行し、[戻る]ボタンを押すことでmoncleanup関数呼び出しをトリガー

お使いの携帯電話に。あなたのアプリの状態に基づいて、これはをOnStop()またはOnDestroy()によってトリガされます。かつて

moncleanupはプロファイリングデータが/sdcard/gmon.outであなたのAndroidデバイスに書き込まれます、トリガーされた。

ADB:あなたのプロジェクトは、次のコマンドを使用してPC上に配置されているフォルダにファイルgmon.outをコピーします

/sdcard/gmon.out引っ張る

プロファイル情報を表示するには、それに非取り除かライブラリ、例えばを渡し、gprofのツールを実行します。

腕のlinux-androideabi-gprofのOBJ /ローカル/ armeabi / libovrapp.so

gprofのプロファイル情報の解釈については、以下を参照してください。 http://sourceware.org/binutils/docs/

gprofを/ Output.html

レンダリング性能:OpenGL ESのためのトレーサー

OpenGL ESのは、アプリケーションのための呼び出しをキャプチャするためのOpenGL ESのためのトレーサーを使用してください。

トレーサーは、ADTバンドルに付属するプロファイリングツールです。

1。 Windowsでは:トレーサーを使用するための最も簡単な方法は、一緒にインストールされmonitor.batファイルを実行することです

ADTバンドル。\アンドロイド\ ADT-バンドルのWindows-:これはADTバンドルのインストールフォルダ(例えば、Cで見つけることができます

x86_64-20131030)SDK / Toolsフォルダの下に。ただAndroidのデバッグモニタを起動するためにmonitor.batをダブルクリックします。

。2 >パースペクティブを開く…とOpenGL ESのためのトレーサーを選択- Windowsに移動します。

3。以下のようにトレースキャプチャ]ボタンをクリックします。

図35:OpenGL ESのためのトレーサー

4。トレース·オプションを入力し、トレースを選択します。

注:パッケージ名およびアクティビティを見つけるための簡単な方法は、logcatのランニングであなたのアプリを起動することです。

パッケージマネージャgetActivityInfoラインは情報が表示され、例えば、com.Oculus.Integration /

com.unity3d.player.UnityPlayerNativeActivity。

図36:OpenGL ESのためのトレーサー

注:すべてのデータの収集オプションを選択すると、トレースが非常に大きいとに遅くなることがあり

キャプチャ。

トレーサーは、あなたのアプリを起動し、フレームをキャプチャを開始します。

図37:OpenGL ESのためのトレーサー

5次のオプションを有効にします。

  • )(eglSwapBuffers上のフレームバッファの内容を収集
  • )(glDraw *上のフレームバッファの内容を収集

6。あなたは十分なフレームを収集したら、トレースの停止]を選択します。

図38:OpenGL ESのためのトレーサー

7。ボタンを選択し、先ほど撮影し.gltraceファイルをインポートするために赤で上記強調した。これは長くなる可能性が

プロセス。トレースがロードされると、あなたはすべてのキャプチャしたフレームのためのGLコマンドを表示することができます。

PAGETOP
Copyright © 近未来ラボ All Rights Reserved.
Powered by WordPress & BizVektor Theme by Vektor,Inc. technology.