« 2022年6月 | トップページ | 2022年8月 »

2022.07.31

Nreal Light と Nreal Air の RGBCameraRecord の動作の違い

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

▼2022/08/12追記 ここから

この記事を含め、動画キャプチャ関連記事まとめた記事はコチラ!
NRSDK 1.9.3 で実行中プログラムの見た目を録画ができた! ユニティちゃんが動いてます!(まとめ)

▲2022/08/12追記 ここまで

NRSDK 1.9.3 で実行中プログラムの見た目を録画ができた! ユニティちゃんが動いてます!」にもチラッと書きましたが、NRSDK での動画キャプチャは、RGBCameraRecord というサンプルを参考にしています。

20220617_235820

上の写真の2つは、上が Nreal Light、下が Nreal Air です。

サンプル名の RGBCamera (RGBカメラ)というのは、上の Nreal Light の上半分の中央の左側(向かって右側)の丸い部分です。

この RGB カメラは、Nreal Air にはありません。

では、Nreal Air で同じプログラムを動かすとどうなるのでしょう?

Nreal Light での RGB カメラの動き

比較するため、Nreal Light の RGB カメラを使った動きを見てみます。

RGB カメラに写った部分が写っています。(今日は暑くてカーテンを締め切っていたため、背景がかなり暗めです)

動画サイズを拡大してみた方が背景が映っているのが分かるかも?

Nreal Air での RGB カメラの動き

RGB カメラが無いため、背景が黒です。

このように同じプログラムを使っていても Nreal Air では、Nreal Light にしかないカメラの部分の動きが異なります。

NRSDK 内部は、極力、互換性を保つ動きをするようになっているみたいですね、

ここまではOKだ



最大201インチのシアター級巨大スクリーン(ARグラス越しに4mで130インチ、6mで201インチに相当)で映像をお楽しみいただくことができます。
TUVが認めた目に優しいARグラス:国際的な独立第三者検査・認証機関であるテュフラインランド(TUV Rheinland)からハードウェアレベルの「低ブルーライト・フリッカーフリー」認証を取得しました。


Nreal Streaming Box(エンリアル ストリーミングボックス) NR-7101AGL - ARグラス/スマートグラス Nreal Air 専用/Android・iOS 両対応/Nreal Airにケーブルで接続するボックス
 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.07.30

NRSDK 1.9.3 で実行中プログラムの見た目を録画ができた! ユニティちゃんが動いてます!

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

▼2022/08/12追記 ここから

この記事を含め、動画キャプチャ関連記事まとめた記事はコチラ!
NRSDK 1.9.3 で実行中プログラムの見た目を録画ができた! ユニティちゃんが動いてます!(まとめ)

▲2022/08/12追記 ここまで

中々うまく動かなかった Nreal Light で実行中のプログラムの録画ができました。

結論から言うと、NRSDK 1.9.3 にしたらできたので NRSDK 側の問題であったっぽい。

ようやく録画できた

なお、録画ができるようにはなったものの動きは不安定である。

不安定なのは録画機能だけじゃなく、通常の動きも何か怪しげ…

表示位置がちょっとずつズレていくのよね…

もしかしたら長い時間の録画が失敗するのかもしれないが、なーんか動きが不安定なのだ。

まぁ、何にせよ、録画が動くようになったから、今後はこんなのを作っているよ、という記事を書きやすくなると思う。

NRSDK の RGBCameraRecord というサンプルを少し変更して録画しています。

実装方法は、また後日書きます。

ここまではOKだ



最大201インチのシアター級巨大スクリーン(ARグラス越しに4mで130インチ、6mで201インチに相当)で映像をお楽しみいただくことができます。
TUVが認めた目に優しいARグラス:国際的な独立第三者検査・認証機関であるテュフラインランド(TUV Rheinland)からハードウェアレベルの「低ブルーライト・フリッカーフリー」認証を取得しました。


Nreal Streaming Box(エンリアル ストリーミングボックス) NR-7101AGL - ARグラス/スマートグラス Nreal Air 専用/Android・iOS 両対応/Nreal Airにケーブルで接続するボックス
 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.07.29

NRSDK 1.9.1 と 1.9.3 の比較

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

NReal Light の動画キャプチャがうまくいかないので調べていて見つけた NRSDK 1.9.3 のリリース情報

Nrsdk-193

とりあえず何が違うのか比較のため、NRSDK 1.9.1 と 1.9.3 を Unity プロジェクトにインポートして「WinMergeフォルダ比較してみました。

変更が入ったファイルは下記のとおりです。

  • NRSDK\Plugins\Android\nr_api.aar
  • NRSDK\Scripts\Capture\NRVideoCapture.cs
  • NRSDK\Scripts\Capture\Encoder\AudioEncoder.cs
  • NRSDK\Scripts\Capture\Encoder\VideoEncoder.cs

むむ! なんか、動画キャプチャ関連が怪しいんじゃない?

AAR プラグインと Android ライブラリ」によると、拡張子 .aar は、Android Archive (AAR) プラグインと呼ばれる、コンパイル済みの Java 及びネイティブコード( C/C++ )、リソース、Android マニフェストを含んだバンドルである。aar 自体は .zip アーカイブで、これにすべてのアセットが含まれている。zipを展開すれば比較できなくもないがバイナリファイルなのでおいといて、.cs ファイル(C#のファイル)の変更点を中心に見ていくとしよう。

変更点は、比較画像として用意しました。右側が 1.9.3、左側が 1.9.1 でオレンジ色のところが変更点です。

画像をクリックすると拡大表示されます。

NRVideoCapture.cs の変更点

新旧ソースで改行コードに違いがあるので、CRCFに統一して比較すると下記の変更点があった。

1_9_31_9_1_0000_nrvideocapturecs

AudioEncoder.cs

新旧ソースで改行コードに違いがあるので、CRCFに統一して比較すると下記の変更点があった。

1_9_31_9_1_0001_audioencodercs1

1_9_31_9_1_0002_audioencodercs2

1_9_31_9_1_0003_audioencodercs3

VideoEncoder.cs

このソースは改行コードに違いがなかったので、単純比較すると下記の変更点があった。

1_9_31_9_1_0004_videoencodercs1

1_9_31_9_1_0005_videoencodercs2

NRSDK メニュー

Unity Editor の NRSDK メニューに「InitVideoPlayerDemoEnv」が追加されている

1_9_31_9_1_0006_nrsdk_menu

まとめ

うん、どうやら 1.9.1 で怪しいと思っていた関数に変更が入っているようだ。
明日は、1.9.3 でビルドして動かしてみよう。
実は、まだビルドしていないのだ(笑)

ここまではOKだ



最大201インチのシアター級巨大スクリーン(ARグラス越しに4mで130インチ、6mで201インチに相当)で映像をお楽しみいただくことができます。
TUVが認めた目に優しいARグラス:国際的な独立第三者検査・認証機関であるテュフラインランド(TUV Rheinland)からハードウェアレベルの「低ブルーライト・フリッカーフリー」認証を取得しました。


Nreal Streaming Box(エンリアル ストリーミングボックス) NR-7101AGL - ARグラス/スマートグラス Nreal Air 専用/Android・iOS 両対応/Nreal Airにケーブルで接続するボックス
 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.07.28

NRSDK 1.9.1 と 1.9.3 の違いを確認しようと思っていたんですが…

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

Android OS の Target API Level とは?」の記事を書いている途中、2022/07/27 に NRSDK 1.9.3 がリリースされている事に気づきました。

Nrsdk-193

 

当初予定では、今日、1.9.1 と 1.9.3 の違いを確認しようと思っていたんですが、晩御飯の後、痛み止めを飲み忘れたせいで腰痛がヒドイので明日から比較していこうかなと思います。

とりあえず1つ気づいた違いとしては、Unity Editor に 追加される NRSDK メニューのところに「InitVideoPlayerDemoEnv」が増えていること。

日本語に直訳だと「ビデオプレイヤーでも環境を初期化する」って何かビデオに関係してそうな??

ということで、ちょっと期待しつつ、腰をいたわります…(-_-;)

▼2022/07/30 追記

NRSDK 1.9.1 と 1.9.3 の比較」記事を書きました。

▲2022/07/30 追記

ここまではOKだ



最大201インチのシアター級巨大スクリーン(ARグラス越しに4mで130インチ、6mで201インチに相当)で映像をお楽しみいただくことができます。
TUVが認めた目に優しいARグラス:国際的な独立第三者検査・認証機関であるテュフラインランド(TUV Rheinland)からハードウェアレベルの「低ブルーライト・フリッカーフリー」認証を取得しました。


Nreal Streaming Box(エンリアル ストリーミングボックス) NR-7101AGL - ARグラス/スマートグラス Nreal Air 専用/Android・iOS 両対応/Nreal Airにケーブルで接続するボックス
 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.07.27

Android OS の Target API Level とは?

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

Nreal Light で動画キャプチャするプログラムにチャレンジしているんだが、うまくいかねぇ…(-_-;)

という記事を書いたように未だに Nreal Light の録画キャプチャがうまく動きません…(´;ω;`)

▼2022/08/12追記 ここから

動画キャプチャできました!
詳細は「NRSDK 1.9.3 で実行中プログラムの見た目を録画ができた! ユニティちゃんが動いてます!(まとめ)」を参照。

▲2022/08/12追記 ここまで

使っているスマホが Android 12 だから、Android 12 に対応した SDK をインストールしてビルドしてみたら、そもそも起動しなかった…

原因は Target API Level だったというのは「録画機能が思うように動かない」という記事にも書きました。

じゃあ、Target API Level とは、なんぞや? というのを書いてみようと思います。

Target API Level とは

Target API Level は「指定した API Level よりも新しいバージョンの Android OS の端末にアプリをインストールした場合、新しい Android OS は、指定した API Level と互換性を保つように動作するように設定するもの」です。

Target API Level を引き上げることは、新しい Android OS を使っているユーザに対してなるべく最新の API で動作するようにするということになります。

逆に Target API Level が低いままだと、せっかく新しい Android OS を使っていても古い API しか使えないことになり、新しい機能は使えないってことになります。

Google Play では、定期的に「 Target API Level が○○以上じゃないと登録できません」という感じで Target API Level を引き上げる動きをしているようです。

なんで API Level 31(Android 12)の SDK だと動かなかったの?

ここは正直、です。

というのは、NRSDK の「 Compatibility (互換性) 」のページを日本語にするとこんなふうになっているからです。

Nrsdk190_compatibility

かげさんは「NRSDK 1.9.1 が出ていたようだ」を書いた後、NRSDK は 1.9.1 を使っています。

ドキュメントは 1.9.0 までしかありませんが、最初に導入した 1.8.0 の段階から Android 12 以下(Target API = 31 )まで対応しています。

1.9.0 からは、Target API = 32 となっているんですががが…(-_-;)

となると Unity Editor のバージョンが 2020.3.30f なのが悪さしてるんだろうか…

ちなみに先日最新バージョンの Unity Editor のインストールを試みたが、肝心の Android 関連のインストールがことごとく失敗しているという…(´・ω・`)

NRSDK のページにアクセスしてみたら…

その上、この記事を書いている時に NRSDK のページにアクセスしたら、こんなことに。

Nrsdk-193

1.9.3 が出とるやん!!

なお、リリースノートを翻訳したら、1.9.1 と変わっていない模様…

何が変わったんだ…(´・ω・`)

ということで、「NRSDK 1.9.1 と 1.9.3 の比較」に続く

ここまではOKだ



最大201インチのシアター級巨大スクリーン(ARグラス越しに4mで130インチ、6mで201インチに相当)で映像をお楽しみいただくことができます。
TUVが認めた目に優しいARグラス:国際的な独立第三者検査・認証機関であるテュフラインランド(TUV Rheinland)からハードウェアレベルの「低ブルーライト・フリッカーフリー」認証を取得しました。


Nreal Streaming Box(エンリアル ストリーミングボックス) NR-7101AGL - ARグラス/スマートグラス Nreal Air 専用/Android・iOS 両対応/Nreal Airにケーブルで接続するボックス
 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.07.26

Unity Editor に後から特定バージョンの Android SDK をインストールする方法

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

Unity Editor 2020.3.30f でインストールできる Android OS の API Level は 29 と 30 。

API Level 29(Android 10)
API Level 30(Android 11)

かげさんの持っている XPERIA 5 Ⅲ は Android 12 です。

なので、この記事では、 Unity Editor 2020.3.30f 環境に、API Level 31:Android 12 の SDK を追加インストールする手順を書きます。

API Level については「Android SDK の API Level の一覧(Android 8 以降)」の記事も参考にしてください。

Unity Editor にどの API Level がインストールされているか確認する方法

インストール済みの API Level の確認や追加インストールに使うのは「sdkmanager」です。

sdkmanager は、通常、「C:\Program Files\Unity Hub\Editor\2020.3.30f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\bin」のように Unity Editor のバージョンごとに格納されています。

今回は、2020.3.30f1 のを確認するため上のフォルダになっていますが、他の Unity Editor のバージョンの場合は、「2020.3.30f1」の部分を調べたい Unity Editor のバージョンにします。

かげさんの場合、CドライブではなくFドライブにインストールしているので、以下の説明では、Fドライブの部分を Unity Hub のインストールドライブに読み替えてください。

以下の手順で確認します。

  1. コマンドプロンプトまたはPowerShellを起動します。
    かげさんは、PowerShell を起動しました。
  2. cd "F:\Program Files\Unity Hub\Editor\2020.3.30f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\bin"
    ドライブ文字や Unity Editor のバージョンは、インストールした環境に合わせて変更して入力してください。
  3. .\sdkmanager --list

下記のような感じで表示されます。


cd "F:\Program Files\Unity Hub\Editor\2020.3.30f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\bin"
PS F:\Program Files\Unity Hub\Editor\2020.3.30f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\bin> .\sdkmanager --list
Warning: File C:\Users\kage3\.android\repositories.cfg could not be loaded.
Installed packages:=====================] 100% Computing updates...
Path | Version | Description | Location
------- | ------- | ------- | -------
build-tools;30.0.2 | 30.0.2 | Android SDK Build-Tools 30.0.2 | build-tools\30.0.2\
platform-tools | 28.0.1 | Android SDK Platform-Tools 28.0.1 | platform-tools\
platforms;android-29 | 5 | Android SDK Platform 29, rev 5 | platforms\android-29\
platforms;android-30 | 3 | Android SDK Platform 30, rev 3 | platforms\android-30\
tools | 26.1.1 | Android SDK Tools 26.1.1 | tools\


Available Packages:
Path | Version | Description
------- | ------- | -------
add-ons;addon-google_apis-google-15 | 3 | Google APIs
add-ons;addon-google_apis-google-16 | 4 | Google APIs

<中略>
platforms;android-31 | 1 | Android SDK Platform 31
<中略>

system-images;android-Tiramisu;google-tv;x86 | 3 | Google TV Intel x86 Atom System Image
system-images;android-TiramisuPrivacySandbox;google_apis_playstore;x86_64 | 6 | Google Play Intel x86 Atom_64 System Image

Available Updates:
ID | Installed | Available
------- | ------- | -------
platform-tools | 28.0.1 | 33.0.2


Installed packages の部分が既にインストールされているもの。

platforms;android-29 や platforms;android-30 があるのが確認できます。

Available Packages の部分がインストール可能なもの。

中略の部分に platforms;android-31 があります。

指定バージョンの Android SDK の API Level をインストールする

  1. .\sdkmanager "platforms;android-31"
  2. インストール確認の Accept? (y/N): で「y」を入力
  3. インストールされたことを確認するために、もう一度下記のコマンドを入力。
    .\sdkmanager --list

上記の1のように sdkmanager でインストールしたい Android SDK の API Level を指定します。

指定できるのは、前述の Available Packages に存在する内容になります。


.\sdkmanager "platforms;android-31"
Warning: File C:\Users\kage3\.android\repositories.cfg could not be loaded.
License android-sdk-license: ] 10% Computing updates...
---------------------------------------
Terms and Conditions

This is the Android Software Development Kit License Agreement

1. Introduction

<中略>

---------------------------------------
Accept? (y/N):
[=======================================] 100% Unzipping... android-12/framework
PS F:\Program Files\Unity Hub\Editor\2020.3.30f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\bin>

インストールされたことを確認するために、もう一度下記のコマンドを入力。

.\sdkmanager --list

Installed packages の部分に「platforms;android-31 」が表示されればインストール完了です。

ここまではOKだ

 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.07.25

Android SDK の API Level の一覧(Android 8 以降)

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

MR(Mixed Reality:複合現実)グラス「 Nreal Light 」、「 Nreal Air 」で動くアプリを作ってみよう!」で書きましたが、かげさんは、Unity Editor 2022.3.30f をインストールしました。

このエディタのバージョンでは、ProjectSetting の Player の Other Setting の初期値で Minimum API Level が「 Android 8.0 'Oreo' (API Level 26) 」と設定されています。

Minimum API Level は、低限この API Level が動作する Android OS じゃないとイケないという意味です。

Andoroid OS のバージョン 1.5 以降では、代々「開発コードネーム」として1文字目がアルファベット順になっていて、そのアルファベットを使うお菓子の名前が付けられています。

Android 8.0 が Oreo と付いているのは、そのためです。

この他に、Andoroid OS の各バージョンには、対応する API Level というものが設定されています。

それをまとめてみました。

Android SDK の API Level の一覧(Android 8.0 以降)

Unity Editor 2022.3.30f の Minimum API Level が「 Android 8.0 'Oreo' (API Level 26) 」のため、Android 8.0 以降の一覧をまとめました。(2022/07/25時点)

Android の
バージョン
API Level 開発コードネーム リリース時期
13.0 33 T(Tiramisu) 未定
12L 32 S_V2(Snow Cone) 2022/03
12.0 31 S(Snow Cone) 20021/10
11.0 30 R(Red Velvet Cake) 2020/9
10.0 29 Q(Quince Tart) 2019/9
9.0 28 Pie 2018/8
8.1 27 Oreo MR1 2017/12
8.0 26 Oreo 2017/8

なお、Unity Editor 2022.3.30f は Minimum API Level が「 Android 8.0 'Oreo' (API Level 26) 」であるものの、Android SDK は 29 と 30 しかインストールされていないので、Minimum API Level は「 Android 10.0 (API Level 29) 」を設定するのが適切なんだろうと思います。

Android 8.0 より古いバージョンの情報は、「Androidのバージョン履歴」を参照。

▼2022/07/30 追記 ここから

Unity の Target API Level については「Android OS の Target API Level とは?」を参照。

大画面用の「Android 12L」が正式版に」という記事にあるように Android 12L は、大画面用の Android 12 のようです。

▲2022/07/30 追記 ここまで

Unity Editor の該当バージョンでインストールされている Android SDK の確認方法

  1. Unity のプロジェクトを開く。
  2. メニュー「Edit」-「Preferences」を選択。
  3. 「External Tools」を選択。
  4. 「SDK」の欄の右側にある「Copy Path」ボタンを選択
  5. エクスプローラを開いて「パス」入力欄に貼り付けして Enter キー押下。
  6. platformsフォルダを開く

上記の手順で開いたフォルダに「android-nn」というフォルダがある。

nn:API Level となっているので、どの Android OS が対象か確認できる。

ここまではOKだ

 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.07.24

録画機能が思うように動かない

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

あいかわらず Nreal Light のアプリで動画を保存できない(0バイトのファイルしか作られない)理由が分からない。

アプリの権限関連かと思い、AndroidManifest.xml に権限をいろいろ追加してみたが、状況変わらず…

▼2022/08/12追記 ここから

動画キャプチャできました!
詳細は「NRSDK 1.9.3 で実行中プログラムの見た目を録画ができた! ユニティちゃんが動いてます!(まとめ)」を参照。

▲2022/08/12追記 ここまで

Android のバージョンが原因かと思い、Unity に Android 12 の SDK を入れてみることにした。

▼2022/07/27 追記 ここから

その時の手順はコチラを参照
Unity Editor に後から特定バージョンの Android SDK をインストールする方法

▲2022/07/27 追記 ここから

結論から書くと、Android 12 の SDK を入れてビルドしてみたところ、症状は悪化した。

Nebula からアプリを起動することすらできなかったのだ。

一応、起動できない原因が「Target API Level」を「API Level 31」や「Automatic(Higest Installed)」にしたからであることは分かったので「Android 11(API Level 30)」にしたら起動できるようにはなったんだが、中々思うように進展しない。

▼2022/07/27 追記 ここから

Target API Level については「Android OS の Target API Level とは?」を参照

▲2022/07/27 追記 ここから

むぅ、どうしたものかな…

とりあえず、明日以降は、これまで調べたことを記事にしていくか。

ここまではOKだ



最大201インチのシアター級巨大スクリーン(ARグラス越しに4mで130インチ、6mで201インチに相当)で映像をお楽しみいただくことができます。
TUVが認めた目に優しいARグラス:国際的な独立第三者検査・認証機関であるテュフラインランド(TUV Rheinland)からハードウェアレベルの「低ブルーライト・フリッカーフリー」認証を取得しました。


Nreal Streaming Box(エンリアル ストリーミングボックス) NR-7101AGL - ARグラス/スマートグラス Nreal Air 専用/Android・iOS 両対応/Nreal Airにケーブルで接続するボックス
 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.07.23

Nreal Light や Nreal Air でユニティちゃんを表示してランダムアニメーション

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

相変わらず Nreal Light のプログラムで録画ができないかげさんです…

なんか、今年は、IoT 方面でも BLE ( Bluetooth Low Energy ) の時もそうなんだけど、躓いたところから全然進展しなくてツライ…

録画ができたら、今、こんなところまで作れてるよ! という記事も書きやすいと思って頑張っているんだけどなぁ…

ということで、録画できるまで記事を書かないとなると、いつまで経っても記事がかけなさそうなので、とりあえず今できている Nreal でユニティちゃんを表示するところまで、書いてみようと思う。

ユニティちゃんを表示しようと思ったのは、キューブだと味気ないのと、せっかくの Unity の公式キャラなんで使ってみたいからです。

ユニティちゃんの3Dモデルのダウンロード

まずはコチラの「ユニティちゃんのオフィシャルWebサイト」にアクセスします。

Sdunitychan01

このページは、ユニティちゃんを使う上でのライセンス条項となっています。

ユニティちゃんキャラクターライセンス略してUCLってやつですね。

しっかり読んでライセンスを守りましょう。

Sdunitychan02

最後まで読んだら「ユニティちゃんライセンスに同意しました」にチェックを入れて「データをダウンロードする」ボタンをクリックします。

Sdunitychan03

ダウンロードページに飛んだら、ユニティちゃんの3Dモデルをダウンロードします。

Sdunitychan04

今回は、「SDユニティちゃん 3Dモデルデータ」をダウンロードするので下の方にスクロールしていって「DOWNLOAD」ボタンをクリックします。(SDキャラのほうがカワイイと思うので)

Sdunitychan05


プログラムを公開するときに備えて「ユニティちゃんライセンスロゴ」も「DOWNLOAD」しておきましょう。

Unity プロジェクトにSDユニティちゃんを取り込む

Unity で新規プロジェクト(3D Core)を作成している前提。

かげさんは Nreal Light でユニティちゃんを表示したいので「MR(Mixed Reality:複合現実)グラス「 Nreal Light 」、「 Nreal Air 」で動くアプリを作ってみよう!」のオブジェクトの配置の前まで行った状態で始めてます。( Nreal Air 向けに作るときも同じ操作です)

01_20220723223501

メニュー「Assets」-「Import Package」-「CustomPackage」を選択する。

02_20220723223601

「SD_UnityChan-1.unitypackage」を選択して「開く」ボタンでインポートする。

 

03_20220723223701

「Import」ボタンをクリック。

04_20220723223801

プロジェクトビューの Assets に UnityChan が追加されている。

05_20220723223901

プロジェクトビューの「Assets」-「UnityChan」-「Prefab」にある「SD_UnityChan_humanoid」をヒエラルキービューにドラッグ&ドロップする。

06_20220723224101

インスペクタービューの「Position」の Y = -0.6, Z = 3、「Rotation」の Y = 150 を設定、「Idle Changer」の Random にチェックを付ける。(ゲームビューに全身が表示され、少し斜めを向いた感じにして、何もしないで待っているとランダムでアニメーションする)

これでビルドして .apk をインストールし、Nebula からアプリを起動すると、ユニティちゃんがランダムでアニメーションする。

ここまではOKだ



最大201インチのシアター級巨大スクリーン(ARグラス越しに4mで130インチ、6mで201インチに相当)で映像をお楽しみいただくことができます。
TUVが認めた目に優しいARグラス:国際的な独立第三者検査・認証機関であるテュフラインランド(TUV Rheinland)からハードウェアレベルの「低ブルーライト・フリッカーフリー」認証を取得しました。


Nreal Streaming Box(エンリアル ストリーミングボックス) NR-7101AGL - ARグラス/スマートグラス Nreal Air 専用/Android・iOS 両対応/Nreal Airにケーブルで接続するボックス
 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.07.18

NRSDKのNRDebuggerクラスの中身を見てみた

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

あいかわらず Nreal Light のプログラムで録画機能を使うと 0 バイトファイルができるだけで止まっているかげさんです…(´・ω・`)

何か進展するための情報があれば良いのですが、調べ方が悪いのか、よく分からず…

とりあえずログなりメッセージを表示する方法がないかなと思って、NRSDK の NRDebuggerクラスを調べてみた。

NRDebugger のソース

録画に使うソースの中にこんな記述があった。

NRDebugger.Info("Created VideoCapture Instance!");

NRDebugger.Error("Failed to create VideoCapture Instance!");

NRDebugger.Warning("Can not start video capture!");

どうやら NRDebuggerクラス というのを使うとコンソールログを出すっぽい。

NRDebugger のソースは、Assets\Scripts\NRDebugger.cs である。

ざっくり読んでみたところ、LogLevel 列挙型と、クラスをインスタンス化しなくても使えるスタティックメソッドがあるのが分かった。

LogLevel 列挙型

LogLevel 列挙型の値 LogLevel 列挙型の意味
All すべて
Debug デバッグ情報
Info 情報
Warning 警告
Error エラー
Fatal 致命的なエラー
Off オフ

ログレベルは、上記のLogLevel 列挙型の場合、下の方がレベルが高い。

NRDebugger.LogLevel = LogLevel.Info;

とすることで、情報以上のレベルのログだけが出力される。

通常、デバッグで使うログは数が多く、情報収集には便利なんだが、数が多い分、重要な情報が埋もれてしまう。

上記のように情報以上とすることで、デバッグ情報レベルのログは出力されなくなり、重要な情報の見落とし率がグッと下がる。

ログレベルの考え方は、割と一般的なもので業務アプリケーションの開発でも使われる。

余談だが、かげさんが作っていたWindowsゲーム「初音ミク冒険記」のデバッグでもログレベルを使っており、初音ミク冒険記では、かなり細かいログレベル管理をしていた。

<参考:初音ミク冒険記のデバッグ設定画面でのログレベル設定>

Boukenkiloglevel

ログ出力メソッド

メソッド名 メソッドの内容
Debug デバッグ情報を出力
Info 情報
Warning 警告
Error エラー
Fatal 致命的なエラー

どのメソッドも引数としてオブジェクト、文字列、書式付き文字列とそのパラメータを受け取れるようになっている。

単純な文字列を出力する記述は、こんな感じだ。

NRDebugger.Warning("Can not start video capture!");

オブジェクトだとこんな感じ。

NRDebugger.Warning(Cube);

書式付き文字列だとこんな感じ。

NRDebugger.Warning("{0}{1:0}", "数値パラメータ=", intParameter);

まとめ

NRDebugger クラスを使うと、ログレベルで管理されたコンソールログを出力するのが分かった。

ここまではOKだ



最大201インチのシアター級巨大スクリーン(ARグラス越しに4mで130インチ、6mで201インチに相当)で映像をお楽しみいただくことができます。
TUVが認めた目に優しいARグラス:国際的な独立第三者検査・認証機関であるテュフラインランド(TUV Rheinland)からハードウェアレベルの「低ブルーライト・フリッカーフリー」認証を取得しました。
Nreal Streaming Box(エンリアル ストリーミングボックス) NR-7101AGL - ARグラス/スマートグラス Nreal Air 専用/Android・iOS 両対応/Nreal Airにケーブルで接続するボックス
 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.07.12

Nreal Light で動画キャプチャするプログラムにチャレンジしているんだが、うまくいかねぇ…(-_-;)

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

とりあえず Nreal Light で SD ユニティちゃんを表示するところまではできた。

SD ユニティちゃん表示方法は「Nreal Light や Nreal Air でユニティちゃんを表示してランダムアニメーション」を参照。

放置しているとアイドル状態と判定されて、いろんなアニメーションを自動再生できているので、どんなふうに見えるかをブログで見せたいと思い、動画キャプチャにチャレンジしているんだが、うまくいかねぇ…(-_-;)

SD カードへの書き込み権限や RECORD_AUDIO の権限とかは、突破したんだが、意図した場所である SD カードに mp4 ファイルが保存されない…

本体に保存しようとしているっぽいんだが、0バイトでファイルはできているけど書き込まれていない…(´・ω・`)

ちゃんとネット情報にある RGBCamera の Recording 機能を使っているんだがなぁ…

▼2022/08/12追記 ここから

動画キャプチャできました!
詳細は「NRSDK 1.9.3 で実行中プログラムの見た目を録画ができた! ユニティちゃんが動いてます!(まとめ)」を参照。

▲2022/08/12追記 ここまで

ここまではOKだ



最大201インチのシアター級巨大スクリーン(ARグラス越しに4mで130インチ、6mで201インチに相当)で映像をお楽しみいただくことができます。
TUVが認めた目に優しいARグラス:国際的な独立第三者検査・認証機関であるテュフラインランド(TUV Rheinland)からハードウェアレベルの「低ブルーライト・フリッカーフリー」認証を取得しました。


Nreal Streaming Box(エンリアル ストリーミングボックス) NR-7101AGL - ARグラス/スマートグラス Nreal Air 専用/Android・iOS 両対応/Nreal Airにケーブルで接続するボックス
 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.07.09

Nebula で Air Casting のフルスクリーンとサイドスクリーンを切り替える方法

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)



最大201インチのシアター級巨大スクリーン(ARグラス越しに4mで130インチ、6mで201インチに相当)で映像をお楽しみいただくことができます。
TUVが認めた目に優しいARグラス:国際的な独立第三者検査・認証機関であるテュフラインランド(TUV Rheinland)からハードウェアレベルの「低ブルーライト・フリッカーフリー」認証を取得しました。

インストールしていれば、Nreal Light や Nreal Air を Android 端末につなぐと自動的に起動するアプリ Nebula 。

Nebula を起動し、トップ画面でスワイプしていくと以下の3つのモードがあることが確認できます。

Aircastingchange01 Aircastingchange02 Aircastingchange03

  1. MRモード
  2. Air Casting フルスクリーン
  3. Air Casting サイドスクリーン

画面には、「MR モード」と「 Air Casting 」の2つのボタンしかありません。

アプリ内にも説明がないし、どうやって Air Casting のフルスクリーンサイドスクリーンを切り替えるんだろ?

Air Casting のフルスクリーンとサイドスクリーンを切り替え方法

答えはAir Casting ボタンを押した後に「通知領域から切り替える」です。

Nebula を起動した Android 端末で上から下にスワイプすると下記のような画面が出てきます。

Aircastingchange04 Aircastingchange05

左側画像:フルスクリーン選択中(Air Casting モードで起動した時の初期状態)

右側画像:サイドスクリーン選択中

このように通知領域が出るので、それぞれのボタンをタップすると「フルスクリーン」と「サイドスクリーン」を切り替えれます。

もちろん、「MRモード」への切り替えもここからできます。

ここまではOKだ



最大201インチのシアター級巨大スクリーン(ARグラス越しに4mで130インチ、6mで201インチに相当)で映像をお楽しみいただくことができます。
TUVが認めた目に優しいARグラス:国際的な独立第三者検査・認証機関であるテュフラインランド(TUV Rheinland)からハードウェアレベルの「低ブルーライト・フリッカーフリー」認証を取得しました。


Nreal Streaming Box(エンリアル ストリーミングボックス) NR-7101AGL - ARグラス/スマートグラス Nreal Air 専用/Android・iOS 両対応/Nreal Airにケーブルで接続するボックス
 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.07.07

Nreal Light 向けのプログラムでやってみたいことをリストアップ

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

MRグラスである Nreal Light 向けのプログラムで「やってみたいこと」をリストアップしてみる。

記事を書くスピードと体の疲れの都合で、まだ、キューブ表示で止まっているんだが、そろそろ少しずつやっていきたい。

視界スクショや視界動画が無いと、Nreal Light や Nreal Air で動くプログラムを作っても完成形を紹介しづらいので、そこは早めに対応したいかな。

▼2022/08/12追記 ここから

視界動画キャプチャはできました。
詳細は「NRSDK 1.9.3 で実行中プログラムの見た目を録画ができた! ユニティちゃんが動いてます!(まとめ)」を参照。

▲2022/08/12追記 ここまで

せっかくの Unity なので、SD ユニティちゃんを表示して 0DoF、3DoF、6DoF で、どう見えるのかを動画にしたい。

▼2022/09/17追記 ここから

0DoF、3DoF、6DoFの切り替えはできました。

Nreal Light で動画キャプチャできるようになったので 0DoF、3DoF、6DoFの違いを動画で見てみよう!

▲2022/09/17追記 ここまで

初音ミク冒険記作成で使っているエフェクトツール Effekseer は Unity に対応しているのでエフェクトを再生したい。

せっかく Nreal Light を持っているからハンドトラッキングができるとカッコイイと思うので、それを利用してコレまで記事にした IoT 関連の一環で SwitchBot カーテンとの連動をしてみたい。

なーんてことを思っているかげさんでした(・∀・)

ここまではOKだ



最大201インチのシアター級巨大スクリーン(ARグラス越しに4mで130インチ、6mで201インチに相当)で映像をお楽しみいただくことができます。
TUVが認めた目に優しいARグラス:国際的な独立第三者検査・認証機関であるテュフラインランド(TUV Rheinland)からハードウェアレベルの「低ブルーライト・フリッカーフリー」認証を取得しました。


Nreal Air 専用/有線でデータ転送・変換 動画サービスやゲームの視聴をサポート/HDMI接続/iOS対応-Lightning端子はApple社純正Adapter別売 必要


Lightning - Digital AVアダプタは、iPad Retinaディスプレイモデル、iPad mini、iPhone 5、iPod touch(第5世代)のビデオ出力にも対応しています


Snowkids HDMI 延長 ケーブル 4k 60Hz 1m (HDMI オス-メス) Fire TV Stick、HDTV、PC、PS4/PS3などに対応 HDMI延長コード
 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.07.06

Nreal Light の活用事例の記事が勉強になった

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

Nreal Light の活用事例の記事「ARグラスで商店街を水族館に / Tips」を読んだらとても勉強になった。

  • Nebulaの裏技
  • 発熱対策
  • unnerasaによる位置合わせの盲点
  • ハンドトラッキングの落とし穴

のように Tips が紹介されていて、Nreal Light のプログラムを作る時に参考になる情報が載っていました。

また、この記事を書いた Y.Araki@MiRu placeさんの Nreal Light ①~③の記事も勉強になりました。

  1. Nreal Light① ハンドトラッキング準備
  2. Nreal Light② 指先からパーティクルを出す
  3. Nreal Light③ ピンチポーズでライトをオンにする

少しずつ取り入れていきたいなと思いました。

ここまではOKだ



最大201インチのシアター級巨大スクリーン(ARグラス越しに4mで130インチ、6mで201インチに相当)で映像をお楽しみいただくことができます。
TUVが認めた目に優しいARグラス:国際的な独立第三者検査・認証機関であるテュフラインランド(TUV Rheinland)からハードウェアレベルの「低ブルーライト・フリッカーフリー」認証を取得しました。


Nreal Streaming Box(エンリアル ストリーミングボックス) NR-7101AGL - ARグラス/スマートグラス Nreal Air 専用/Android・iOS 両対応/Nreal Airにケーブルで接続するボックス
 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.07.05

scrcpy を導入して .apk ファイルをインストールする手順を省力化しよう

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

これまでのかげさんのやり方」だと Nreal Light や Nreal Air で動くアプリを作っている時に、以下の操作が出てきます。

  1. Unity で Nreal Light や Nreal Air で動くアプリをビルドし .apk ファイルを作成
  2. PC にスマホを USB 接続
  3. エクスプローラで .apk ファイルをスマホにコピー
  4. スマホで Files アプリから .apk をインストール
  5. スマホから USB ケーブルを外して Nreal Light や Nreal Air を接続
  6. Nebula からインストールした.apk を起動し動作確認

6手順もあります。(´・ω・`)

この操作を簡略化したいのでオープンソースの「scrcpy」を導入します。

「scrcpy」を導入すると Wi-Fi 環境を使って無線でエクスプローラから .apk ファイルをドラッグ&ドロップすることで Android 端末に .apk ファイルをインストールできるようになります。

つまり、2~5の .apk を入れ替えるたびに PC 接続の USB ケーブルと Nreal Light や Nreal Air とつなぐ USB Type-C の接続を切り替える必要がなくなるのです!\(^o^)/

scrcpy 導入により、PC につなぐのは最初だけなので PC 接続中の給電はできなくなるため、事前にスマホは充電しておく必要があります。

まぁ、そこは「処理はスマホ、電力はモバイルバッテリーで Nreal Light 、 Nreal Air を動かす」で紹介したケーブルを使ってモバイルバッテリーからの給電もできるから、Nreal グラス分の給電は、なんとかなるんですけどね。(*^^*)

scrcpy ってどんなソフトなの?

scrcpy は、USB や Wi-Fi 接続された Android 端末の画面を PC で表示・操作できるソフトです。

以下の様なことができます。

Android の画面を PC にミラーリング表示(PCにの大きい画面で表示できる)
Android 端末の画面を PC から操作
Android 端末の画面を録画
・Android 端末に「sndcpy」というアプリをインストールし、パソコンに「VLC media player」をインストールすると音声のミラーリングも可能
・Android 端末と PC の間で、クリップボードのテキストを同期
PC のファイルを Android 端末に転送
.apk ファイルを Android 端末にインストール
・Android 端末側のタッチ操作を可視化する機能
・豊富なコマンドラインオプション

なかなか便利そうです(・∀・)

Android 端末での事前準備

まず、Android 端末で「開発者向けオプション」を有効化する必要があります。

このオプションは標準では「無効化」されていて非表示になっています。

以下、説明にあたって、Sony Xperia 5 Ⅲ SOG05 のスクリーンショットを使っています。
他の機種の場合、設定メニューからの操作が少し違うかもしれません。

Android 端末の「設定」メニューから「デバイス情報」の順にタップして、「デバイス情報」画面の下部にある「ビルド番号」を何回か連続でタップします。

Android 端末によっては「設定」メニューから「システム」-「端末情報」の順にタップして、「端末情報」画面の下部にある「ビルド番号」を何回か連続でタップという操作かもしれません。

USB ケーブル接続時に「USBデバッグを許可しますか?」と表示されたら「許可する」や「OK」などのボタンを選択して USB デバッグを許可して TCP/IP 接続モードにしましょう。これを許可しないと adb コマンドが使えないので注意しましょう。

adb と scrcpy を使ってスマホにアクセス

scrcpy をダウンロードするため、「https://github.com/Genymobile/scrcpy/releases」にアクセスします。

2022/07/03 時点の最新版は、v1.24 です。

下の方にスクロールしていき、Assets のところにある「scrcpy-win64-v1.24.zip」をクリックしてダウンロードします。

scrcpy は、特に堅苦しいインストール作業はなく、.zip ファイルを展開すればすぐに使えます。

「scrcpy-win64-v1.24.zip」をエクスプローラなどで展開します。

この .zip ファイルに Android Debug Bridge(略して adb )が含まれています。

adb は Android SDK の platform-tools に含まれるツールです。( Unity Editor のインストール時にもインストールされています)

このツールを用いると、現在利用可能なデバイス・エミュレータの列挙、シェルコマンドの発行、ファイルの転送などが行えます。

次にPowerShellを起動します。

Windows キー + R でファイル名を指定して実行を開いたら、「PowerShell」と入力します。

scrcpy を展開したフォルダに移動します。

かげさんの場合、F:\Download\Android\scrcpy-win64-v1.24フォルダに展開したので

f:
cd F:\Download\Android\scrcpy-win64-v1.24

PC と Android 端末を USB 接続した状態で下記のコマンドを実行し、Android 端末側の ADB デーモンを TCP/IP 接続モードにする。

.\adb tcpip 5555

5555は、ポート番号です。5555~5585の間の番号を使うので、分かりやすい 5555 を使っています。

この時、必ず最初に「.\」を付けること。
Windows PowerShell は規定では現在の場所からのコマンドを読み込まないので「.\」を付けてやる必要があります。

* daemon started successfully
restarting in TCP mode port:5555

が表示されたら、IP アドレスが確認済みなら Android 端末から USB ケーブルを外して OK です。

error: no devices/emulators found

が表示された場合、事前準備のところに書いた「開発者オプション」の設定を確認してください。

PC と スマホを USB 接続していない場合、接続してください。

その上で PC との USB ケーブル接続時に「USBデバッグを許可しますか?」と表示されたら「許可する」や「OK」などのボタンを選択して USB デバッグを許可して TCP/IP 接続モードにするのを試みてください。

それでもつながらない場合、「パソコンからadbコマンドでスマホに接続するとerror: no devices foundとなる問題解決法 2020」という記事にあるようにスマホの USB ドライバが原因かもしれません。スマホによってドライバのインストール方法が違うため、「スマホの名前」と「USBドライバ」をキーワードに Google や Yahoo! などで検索してみてください。

TCP/IP 接続モードになったら次のコマンドを入力します。

.\adb connect 192.168.….…:5555

192.168.….… は、Android 端末の IP アドレスです。

connected to 192.168.….…:5555

が表示されれば OK です。

.\scrcpy

と入力してscrcpy を起動します。

なお、.\scrcpy と入力するのは、PowerShell の画面で「sc」と入力して「Tab キー」でも OK です。(Tabキーが入力補完のキーなので勝手に補完してくれます)

スマホ画面をミラーリングしたウィンドウが表示されます。

PC 側にミラーリング表示されたウィンドウでクリックすると Android 端末でタップしたことになります。

.apk ファイルの Android 端末へのインストール

.apk ファイルをビルドしたら、できあがった .apk ファイルをエクスプローラから、scrcpy の画面にドラッグ&ドロップします。

scrcpy で表示されている画面の方は変化がありませんが、PowerShell の画面を見ると .apk ファイルがインストールされていることがわかります。

一応、Nebulaが起動していてもインストールはできるようです。

これでかなり作業手順が簡略化されました。

PowerShellを起動して毎回 scrcpy のフォルダに移動するのも面倒だから省力化

エクスプローラの右クリックメニュー「新規作成」-「ショートカット」を選択します。

項目の場所として「%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe」を指定して「次へ」ボタンをクリック。

ショートカットの名前は「ps」を入力して「完了」ボタンをクリック。

出来上がったショートカット「ps」を右クリックメニュー「プロパティ」で開く。

作業フォルダに scrcpy の .zip を展開したフォルダを指定して「OK」ボタンをクリック。

環境変数:Path が通っているところに格納するか、下記の設定を行う

「スタートメニュー」-「設定」-「システム」-左下「詳細設定」-右側「システムの詳細設定」で「環境変数」ボタンをクリック

ユーザの環境変数のPathを選択して「編集」ボタンをクリック

「新規」ボタンをクリック。

一覧に入力可能になるので、先程ショートカットを作成したフォルダを指定する。

「OK」ボタンをクリック。

「OK」ボタンをクリック。

これで Windows キー + R キーでファイル名を指定して実行を開いた時に「ps」と入力して Enter キーを押すと PowerShell が scrcpy を展開したフォルダが現在フォルダになって起動する。

TCP/IP 接続から USB 接続に戻す場合

PowerShell の画面で下記のコマンドを入力します。

.\adb usb

まとめ

scrcpy は堅苦しいインストールは不要で .zip ファイルを展開すると使えます。

展開すると Android Debug Bridge(略して adb )も含まれていて、現在利用可能なデバイス・エミュレータの列挙、シェルコマンドの発行、ファイルの転送などが行えます。

PowerShellを起動して下記のコマンドを使うとAndroid 端末側の ADB デーモンを TCP/IP 接続モードにできます。

.\adb tcpip 5555

次のコマンドで Android 端末と TCP/IP 接続します。

.\adb connect 192.168.….…:5555

192.168.….…は Android 端末のIPアドレス

.\scrcpy

で scrcpy を起動します。

.apk ファイルをビルドしたら、できあがった .apk ファイルをエクスプローラから、scrcpy の画面にドラッグ&ドロップします。

これで .apk ファイルを Android 端末にインストールできます。

カテゴリ追加

<ルール7>適用でカテゴリを追加します。

  • カテゴリ「PowerShell」
    PowerShellに関わる記事につけます。

ここまではOKだ

 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.07.04

NRSDK 1.9.1 が出ていたようだ

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

Nreal Light や Nreal Air の開発キット NRSDK。2022/6/27 に NRSDK 1.9.1 が出ていたようです。

ちょうど、一週間遅れの情報ですね…(;^_^A



最大201インチのシアター級巨大スクリーン(ARグラス越しに4mで130インチ、6mで201インチに相当)で映像をお楽しみいただくことができます。
TUVが認めた目に優しいARグラス:国際的な独立第三者検査・認証機関であるテュフラインランド(TUV Rheinland)からハードウェアレベルの「低ブルーライト・フリッカーフリー」認証を取得しました。

リリースノートを見ると下記のような内容です。

翻訳精度は Google 翻訳頼り(笑)

新着情報

  • ハンドトラッキングのパフォーマンス向上
  • 0DoF安定モードのサポート
  • 環境音とアプリ内オーディオの同時録音サポート
  • 明るさ関連のネイティブAPI追加

改善点

  • Nreal Air での 3DoF コントローラトラッキングと 3DoF ヘッドトラッキングの改善
  • 異なるトラッキングモード間の速度切替の改善

不具合修正

  • 時折発生するSDKの起動エラーの修正
  • 録音のオーディオ/ビデオの同期不良改善(オーディオ速度が加速)
  • マイク録音音量が小さすぎる問題の修正
  • RGBカメラのキャプチャ/記録オフセットの修正
  • 0DoF / 3DoF / 6DoF トラッキングモードスイッチによるコントローラのドリフトを修正

まとめ

上記のような修正や改善がされているようです。

かげさんは、まだここに記載されていることに困るところまで確認が進んでいない…

でも、ちょっとずつ、ちょっとずつ進んでいってます。(*^^*)

ここまではOKだ



最大201インチのシアター級巨大スクリーン(ARグラス越しに4mで130インチ、6mで201インチに相当)で映像をお楽しみいただくことができます。
TUVが認めた目に優しいARグラス:国際的な独立第三者検査・認証機関であるテュフラインランド(TUV Rheinland)からハードウェアレベルの「低ブルーライト・フリッカーフリー」認証を取得しました。


Nreal Streaming Box(エンリアル ストリーミングボックス) NR-7101AGL - ARグラス/スマートグラス Nreal Air 専用/Android・iOS 両対応/Nreal Airにケーブルで接続するボックス
 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.07.03

Unity の基本的な画面構成を知ろう

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

MR(Mixed Reality:複合現実)グラス「 Nreal Light 」、「 Nreal Air 」で動くアプリを作ってみよう!」の記事で Unity を使って Nreal Light や Nreal Air のプログラムを作れる環境はできました。

しかし、かげさんは何冊か Unity 本は持っているものの、 Unity で真剣にゲームを作ったことがありません。

じゃあ、何のために Unity の本を買ったの?

購入動機は主に3つありました。

  1. Visual C++ で作っていた「初音ミク冒険記」という 2D ゲームを作るにあたって Unity の 2D ゲーム作りの説明を参考にしたかったから。
    あくまで参考資料なので、実際に Unity を使ってゲームは作らなかったんです。
  2. 「Oculus Riftでオレの嫁と会える本 UnityとMMDモデルで作る初めてのバーチャルリアリティ」で VR って面白そうと思ったから。
    まぁ、Oculus Rift は、上記の本が出た当時、まだ製品版が出ていない状態でグラボは要件を満たすものを購入したものの、製品版の必要スペックが出てみたら、かげさんのマシンの CPU が必要スペックに満たなかったという悲しいオチだった…(´・ω・`) 当然、Unity は触らなかった…
  3. 「初音ミク冒険記」でエフェクトを作るに当たり、エフェクトの作り方の参考資料として購入。
    これも参考資料なので、以下略…

こんな感じで Unity 本はあれども、 Unity をまともに使ったことがない(;^_^A

ということで Unity の使い方とか言葉とかを覚える必要があるんで、ちょっと書いてみます。

Unity のインストールは、「MR(Mixed Reality:複合現実)グラス「 Nreal Light 」、「 Nreal Air 」で動くアプリを作ってみよう!」に書いたので Unity をインストールしていない場合は、参考にしてください。



Unity上でゲームエフェクトを制作していく過程を解説した書籍です。Shader Graphを使用してシェーダーを作成し,Shurikenでエフェクト制作する過程を解説していきます。またHoudiniなどのDCC(Digital Content Creation)ツールを使ったリソース制作の方法についても解説しています。


Oculus Riftでオレの嫁と会える本 UnityとMMDモデルで作る初めてのバーチャルリアリティ


Unity上でゲームエフェクトを制作していく過程を解説した書籍です。Shader Graphを使用してシェーダーを作成し,Shurikenでエフェクト制作する過程を解説していきます。またHoudiniなどのDCC(Digital Content Creation)ツールを使ったリソース制作の方法についても解説しています。

■Unity の画面構成

まずは、Unity の画面構成から見ていきます。

Photo_20220703081901

構成要素は下記のとおりです。

  1. ツールバー(Toolbar)
  2. 「Scene」ウィンドウ(シーンビュー)
  3. 「Game」ウィンドウ(ゲームビュー)
  4. 「Hierarchy」ウィンドウ(ヒエラルキービュー)
  5. 「Project」ウィンドウ(プロジェクトビュー)
  6. 「Inspector」ウィンドウ(インスペクタービュー)
  7. ステータスバー(Statusbar)

なお、「Game」ウィンドウは、標準の画面構成ではタブ切り替えで表示するので表示されていないかもしれません。

かげさんはタブを切り替えせずに見たいので下記の操作で「Game」ウィンドウのタブをドラッグ&ドロップで別枠で表示しています。

Nrsdk45new

「Game」ウィンドウを「Scene」ウィンドウの左中程までドラッグ&ドロップ。

Nrsdk46new

ツールバー(Toolbar)

移動系のツール、ギズモ系ツール、デバッグ系ツール、レイヤー系ツール等があります。

ギズモとかは、追々覚えていくとします。

「Scene」ウィンドウ(シーンウィンドウ)

シーンの具体例は、ゲームのタイトル画面、ゲームプレイ、リザルトなどのゲーム内の個々の場面(シーン)です。
3Dゲームでのゲームプレイで考えると3D空間にゲーム要素(ゲームオブジェクト)を詰め込んでいくところになります。

初音ミク冒険記」を作り始めた頃は、シーンという用語を知らなかったので、かげさんはゲーム内の表示モードと言う意味で「ゲームモード」と呼んでいました。

シーンが増えてくるとシーンの遷移をまとめておいた方が良いでしょう。
参考までに初音ミク冒険記でのゲームモード遷移図(シーン遷移図)を例示します。

Photo_20220703083601

「Game」ウィンドウ(ゲームウィンドウ)

作成中の「ゲームの見え方」を確認するところです。実際にゲームをプレイできます。

「Hierarchy」ウィンドウ(ヒエラルキーウィンドウ)

現在編集中のシーンにある静的なゲームオブジェクトを表示します。

Hierarchy は「階層」という意味で、Unity ではゲームオブジェクトに階層構造を持たせることができます。

ここではゲームオブジェクトの作成/複製/削除、親子関係を持たせたり、親子関係を解除したりできます。

静的なゲームオブジェクトに対して、動的なゲームオブジェクトというのもあります。Unity では Hierarchy ウィンドウに表示されていないゲームオブジェクトをプログラム(スクリプト)から動的に配置したりもできます。

0から動的なゲームオブジェクトを作り込んでいくのは大変なので、雛形となるゲームオブジェクトのを「Hierarchy」ウィンドウに配置し、「Inspector」ウィンドウで属性を設定してから動的なオブジェクトに変更するといった方法を取ることもあります。

「Project」ウィンドウ(プロジェクトウィンドウ)

ゲーム中に含まれるモデル、テクスチャ、サウンド、シーンデータなどを表示します。

中身は、プロジェクトの保存先フォルダにある「Assets」フォルダと同じ内容が表示されますが、ファイルの変更、削除などの操作は Unity 上で行う必要があります。

エクスプローラからファイルを操作しても Unity 側がプロジェクトの構成要素としての変更であると分からないためです。

「Inspector」ウィンドウ(インスペクターウィンドウ)

「Scene」ウィンドウや「Hierarchy」ウィンドウのオブジェクトや「Project」ウィンドウのファイルの内容を表示したり、位置や角度といった属性値の表示/変更ができます。

ステータスバー(Statusbar)

必要に応じて情報や警告、エラーが表示される領域です。

ここに黄色や赤の文字が出てきたときは何かしらの問題があるので対処するようにしましょう。

ここまではOKだ



Unity上でゲームエフェクトを制作していく過程を解説した書籍です。Shader Graphを使用してシェーダーを作成し,Shurikenでエフェクト制作する過程を解説していきます。またHoudiniなどのDCC(Digital Content Creation)ツールを使ったリソース制作の方法についても解説しています。


Oculus Riftでオレの嫁と会える本 UnityとMMDモデルで作る初めてのバーチャルリアリティ


Unity上でゲームエフェクトを制作していく過程を解説した書籍です。Shader Graphを使用してシェーダーを作成し,Shurikenでエフェクト制作する過程を解説していきます。またHoudiniなどのDCC(Digital Content Creation)ツールを使ったリソース制作の方法についても解説しています。
 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.07.02

Unity プロジェクトを複製する

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

MR(Mixed Reality:複合現実)グラス「 Nreal Light 」、「 Nreal Air 」で動くアプリを作ってみよう!」で最初の Nreal Light や Nreal Air で動くアプリを作りました。

前回作ったアプリをコピーして次のアプリを作れば、いくつかの手間を省けるんじゃない?

と思ったので、既存の Unity Project を複製して新しい Unity Project を作る手順を説明します。

単純にエクスプローラでコピーするだけじゃダメなのです

さて、Unity Project を作る時にプロジェクトの格納場所を指定しました。

なのでプロジェクトの格納場所をエクスプローラで開いてコピーすれば良いじゃない!

と思うのですが、実はコレだけでは足りません。

Unity Hub のプロジェクトに紐づけてやる必要があります。

紐づけしないと、Unity Hub では Unity Project として認識してくれないからです。

さらに「Product Name」や「ビルド時の保存先」、「ビルドして出来上がる.apk名」も変更したほうが良いでしょう。

作業手順

01

  1. Unity Hub で「プロジェクト」を選択する
  2. 表示されたプロジェクト一覧からコピー対象プロジェクトの行の「…」ボタンをクリック
  3. 「エクスプローラーで表示」を選択

02

  1. エクスプローラで対象フォルダを「コピー」

03

  1. エクスプローラで対象フォルダを「貼り付け」

04

  1. 「~ - コピー」フォルダの「名前を変更」(半角英数字と一部の記号だけ使います。日本語は禁止!

05

  1. Unity Hub の「プロジェクト」の上にある「開く」のリストをクリック
  2. 「ディスクのプロジェクトを加える」を選択

06

07

  1. 6で名前を変更したフォルダに入り、「プロジェクトを加える」ボタンをクリック

08

  1. プロジェクト一覧に複製したプロジェクトが表示される
  2. 複製したプロジェクトを開く

09

  1. メニュー「File」-「Build Settings」を選択

10

  1. 「Player Setting」ボタンをクリック

11

  1. 「Product Name」を変更して「✗」ボタンで閉じる

12

  1. Project Setting 画面で「Build」ボタンをクリック

13

  1. コピー元プロジェクトのフォルダが開くので、複製したプロジェクトのフォルダに変更してapkファイルの名前も変更する

これでプロジェクトを複製できます。

なお、プロジェクトフォルダをコピーしているので、もともとのapkファイルが残っています。これも不要なのでエクスプローラで削除したほうが良いでしょう。

Unity プロジェクトを複製の効果

かげさんは、「MR(Mixed Reality:複合現実)グラス「 Nreal Light 」、「 Nreal Air 」で動くアプリを作ってみよう!」で最初の Nreal Light や Nreal Air で動くアプリを複製しました。

前回作った最小構成の Nreal アプリを「ひな形」として次のプロジェクトを作ったことになります。

これで、前回作った最小構成の Nreal アプリを作る際の下記の手順を省略できました。

  • プロジェクト作成時に3Dを選ぶ
  • Android への Switch Platform
  • NRSDKのインポート
  • 基本となるシーンの登録
  • Unity 標準カメラ Main Camera を Nreal 用のカメラ NRCameraRig への変更
  • NRInput の Hierarchy ビューへの追加
  • Cube の Hierarchy ビューへの追加
  • メニュー「NRSDK」-「Project Tips」を選択して問題を取り除く作業

Cube はテスト用のオブジェクトのため、そこは余分かもしれませんが、それ以外は Nreal 用のプロジェクト作成時に必要な操作のため、複製の意味はあるんじゃないかと思います。

かげさんの場合、Cube は簡単なテストをする時のオブジェクトとして使えそうなのでそのままにしましたが、元のプロジェクトから Cube を削除しておき、よりシンプルな Nreal 用構成を「ひな形」にすることもできます。

カテゴリ追加

<ルール7>適用でカテゴリを追加します。

  • カテゴリ「Unity」
    Unityに関わる記事につけます。

ここまではOKだ

Unityではじめる ROS・人工知能 ロボットプログラミング実践入門
Unity上でゲームエフェクトを制作していく過程を解説した書籍です。Shader Graphを使用してシェーダーを作成し,Shurikenでエフェクト制作する過程を解説していきます。またHoudiniなどのDCC(Digital Content Creation)ツールを使ったリソース制作の方法についても解説しています。
Unity上でゲームエフェクトを制作していく過程を解説した書籍です。Shader Graphを使用してシェーダーを作成し,Shurikenでエフェクト制作する過程を解説していきます。またHoudiniなどのDCC(Digital Content Creation)ツールを使ったリソース制作の方法についても解説しています。
 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.07.01

Amazon でも Nreal Air の販売開始!!

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

【Nreal Air】Amazonでの販売を開始、さらなる販路の拡充へ

Nreal Air が Amazon でも販売されることになりました!



最大201インチのシアター級巨大スクリーン(ARグラス越しに4mで130インチ、6mで201インチに相当)で映像をお楽しみいただくことができます。
TUVが認めた目に優しいARグラス:国際的な独立第三者検査・認証機関であるテュフラインランド(TUV Rheinland)からハードウェアレベルの「低ブルーライト・フリッカーフリー」認証を取得しました。


なお、在庫不足もあるんだろうけど、発送は1~2ヶ月かかるらしく、しかも au オンラインショップや docomo オンラインショップ、ヨドバシカメラよりも価格がかなり高い…(´・ω・`)

2022/07/01 時点の Amazon 価格は 46,444 円だから au と比較して6,645円高い。

docomoやヨドバシはauより1円高いだけなんで差はないんだけどねぇ…

たしか、かなり前のニュースだと元は49,800円が想定販売価格だったので、それよりは安いけど…

Amazon だから価格変動はあるんだろうけど、今のところは Amazon は割高かなぁ。

どのショップも在庫は無いようで品薄状態なところを考えると、かげさんは、Nreal Air を良いタイミングで購入したんだと思う。(・∀・)

参考情報

Nreal は KDDI と 2019 年 5 月に戦略パートナーシップを締結している関係か、au オンラインショップでは、ドコモではまだ発売されていない無線小型ドングル「Nreal Streaming Box」も既に発売されています。

このようにドコモより au オンラインショップの方が Nreal 関連商品の扱われている数が多いです。

ただし、au オンラインショップで購入の場合、au や 2021/09/02移行に契約された UQ Mobile に紐付けられた au ID でのログインが必要です。(PCからは購入できません)

Nreal Light や Nreal Air は、自前でバッテリーや処理能力を持っていません。これらはスマホの力を借ります。

なお、対応スマホが、かなり限定されています。まず、iPhone に対応しておらず、Android スマホでしか使えません。

ただし、ネットの情報によると iPhone でも「Nreal Streaming Box」を使うなどしてサブディスプレイとして使うことは可能なようです。

歯切れが悪いのは、かげさんは Android ユーザなので詳しくないためです…(´・ω・`)

▼2022/07/31追記 ここから

Nrealの公式アナウンス「一部製品の価格改定に関するお知らせ」によると円安の関係で Nreal Air、Nreal Streaming Box が値上がりしています。

▲2022/07/31追記 ここまで

auスマートグラスのリンク

docomo スマートグラスのXR(AR・VR・MR)対応製品のリンク

ヨドバシカメラの「Nreal Air 購入URL」39,800円⇒45,980円(税込)

ここまではOKだ



最大201インチのシアター級巨大スクリーン(ARグラス越しに4mで130インチ、6mで201インチに相当)で映像をお楽しみいただくことができます。
TUVが認めた目に優しいARグラス:国際的な独立第三者検査・認証機関であるテュフラインランド(TUV Rheinland)からハードウェアレベルの「低ブルーライト・フリッカーフリー」認証を取得しました。


Nreal Streaming Box(エンリアル ストリーミングボックス) NR-7101AGL - ARグラス/スマートグラス Nreal Air 専用/Android・iOS 両対応/Nreal Airにケーブルで接続するボックス
 このエントリーをはてなブックマークに追加

| |コメント (0)

« 2022年6月 | トップページ | 2022年8月 »