fc2ブログ
 

アセット機能 その2 基本的なアマレコVR用アセットの作成

今回はUnity Editorを使ってアマレコVR用の簡単なアセットファイルを作成し 実際に使うところまで説明します。

Unityのインストールについてはこちらを見てください。
使用するUinityのバージョン 2021.1.1f1



1.新規プロジェクトの作成
Unity Hubの左側で「プロジェクト」を選択して 右上の「新しいプロジェクト」をクリックします。

200create_projects.png


プロジェクトの作成画面が表示されますので、最初にUnity Editorのバージョンから「2021.1.1f1」を選択します。

202create_editor.png


左側で「全てのテンプレート」を選択
中央で「3D」を選択
右側のプロジェクト名は任意ですが ここでは「asset_projects」としました
プロジェクトファイルの保存先を設定して「プロジェクトを作成」をクリックしたら完了です。

205create_template.png


数分待つと 照明とカメラだけが配置されたUnity Editorが起動します。

210Unity.png






2.プロジェクトの設定
ツールバーの「Edit」から「Project Settings」を選択して設定画面を表示します。
設定画面の左側で「Player」を選択し 右側のPlayer設定画面でAndroidのタブを選択します。
※ このタブでWindows等を選択していると いくら設定してもアンドロイドの設定ができていないため うまくいきません。確実にアンドロイドを選択してください。

220project_settings.png


■設定箇所
(1) Color Space
「Gamma」から「Linear」へ変更します。
Gammaでも使えますが 明るいとか白っぽい(安っぽい)印象になってしまいます。

222project_settings.png


Color Space以外は初期値でとりあえず機能すると思いますが 一応全体を記載します。また、アマレコVR本体の設定例も記載します。

229project_settings_all.png




3.Asset Bundle Browserのインストール
つづいて、アセットファイルを作成するのに必要なAsset Bundle Browserをプロジェクトへインストールします。
Unityのマニュアルに従ってインストールしますが、私のところでは「5.Add (追加) をクリックします」のところで 「https://github.com/Unity-Technologies/AssetBundles-Browser.git」がエラーとなるため 以下のように手動でインストールしました。

(1) ダウンロードサイトへアクセス
Microsoft Edge等でダウンロードサイトを表示します。


(2) ダウンロード
緑の「Code」から「Download.zip」をクリックしてインストールに必要なファイルをダウンロードします。

230asset_bundles_broeser_download.png


(3) 解凍
ダウンロードした「AssetBundles-Browser-master.zip」を解凍します。


(4) インストール
Unityのツールバーの「Window」から「Package Manager」を選択し Package Managerの左上にある「+」から「Add package form disk」を選択します。

232asset_bundles_broeser_add_package.png


先ほど解凍したフォルダにある「package.json」を選択します。

234asset_bundles_broeser_package_json.png



以上で Asset Bundle Browserがインストールされ Unityのツールバーの「Window」へ「AssetBundle Browser」が追加されます。
Asset Bundle Browserは新しいプロジェクトを作成する度にインストールする必要がありますので、解凍したファイルは分かりやすい場所に残しておくことをお勧めします。

240asset_bundles_broeser.png





4.アセットファイルの作成
【アセットファイル作成の手順】
(1) アセット化したいファイルをダウンロード(Unity用のシーン、プレハブ、FBX等の3Dモデルなど)
(2) Assetsフォルダへコピー(圧縮されている場合は 解凍したものをコピー)
(3) Unityで (2)をヒエラルキーへドロップしてゲームオブジェクトにする
(4) ゲームオブジェクトをAssetsフォルダへドロップしてプレハブ化する
(5) プレハブ化したものを Asset Bundle Browserへ登録
(6) アセットファイルを Build
(7) 拡張子「assetbundle」をつけて QuestのDownload¥assetフォルダへ転送
(8) アマレコVRで確認


(1) アセット化したいファイルをダウンロード
アセットファイルにしたい3Dモデルなどをダウンロードします。
ここでは私が公開したasset_sample_cube20230505.zipを例に説明します。
ダウンロードページ

私が公開するもの以外でもUnity用のシーンファイルやプレハブファイル、一般的な3DモデルファイルのFBXなどをアセットファイルにすることができます。
さらにUnityの機能を拡張すれば 様々な形式の3DモデルをUnityへ読み込んで アセット化することができます。


(2) Assetsフォルダへコピー
「asset_sample_cube20230505.zip」を解凍してできるプレハブファイル 「Sample_Cube.prefab」をasset_projects\Assetsフォルダへコピーします。

250prefab_copy.png


(3) Unityで ゲームオブジェクトにする
Unityを起動して画面下部にあるAssetsから(2)でコピーした 「Sample_Cube.prefab」を選択して ヒエラルキーへドロップします。
既にUnityが起動していてコピーしたプレハブが表示されない場合は Assetsフォルダを指定し右クリックのメニューから「Refresh」することでコピーしたファイルが現れます。

251drop_hierarchy.png


ヒエラルキーへドロップすると自動的にゲームオブジェクトが作成されます。
ゲームオブジェクトの名前がプレハブと同じままだと わかり難いので「Sample_Cube」から 「Test_Cube」に変更します。

252rename.png


作成されたゲームオブジェクトはシーンビューなどで確認できます。
ここで照明を加えたり、全体の向きを調整したりできます。
なにより今回のようにピンクになっている場合は シェーダーに異常があるので修正すべきですが、今回はこのまま次の手順へ進みます。

※ 修正方法はアセット機能 その3 ピンクになるモデルの修正作業を参照してください。

(4) ゲームオブジェクトをAssetsフォルダへドロップしてプレハブ化する
作成したゲームオブジェクトを 画面下部のAssetsフォルダへドロップすると新しいプレハブ「Test_Cube.prefab」が作成されます。

253drop_assets.png


この時 オリジナルのプレハブを作るのか 変更箇所を管理したプレハブを作るか問われます。
今回はオリジナルのプレハブを選択します。

254prefab_original.png


(5) プレハブ化したものを Asset Bundle Browserへ登録
Unityのツールバーの「Window」から「AssetBundle Browser」を表示します。
AssetBundle Browserの「Configure」を選択した状態で Assetsフォルダから「Test_Cube.prefab」をドラッグし AssetBundle Browserのウインドウ上でドロップします。

256dop_browser.png


(6) アセットファイルを Build
AssetBundle Browserの「Build」を選択し、Build Targetを「Android」とします。
最後に下部にあるBuildボタンを押したら アセットファイルが作成されます。

258asset_bundles_broeser_build.png


(7) 拡張子「assetbundle」をつけて QuestのDownload¥assetフォルダへ転送
アセットファイルはプロジェクトのasset_projects\AssetBundles\Androidフォルダに作成されます。
プレハブと同じ名前で拡張子の無いファイル「test_cube」がアセットファイルです。

260asset_file.png


test_cubeへ拡張子をつけて「test_cube.assetbundle」とします。
続いて QuestとPCをUSBケーブルで接続し Quest内のDownloadフォルダへ「asset」フォルダを作成します。

270asset_folder1.png



「test_cube.assetbundle」を「asset」フォルダへ転送します。

272asset_file.png



(8) アマレコVRで確認
QuestでアマレコVRを起動し、アセット画面を表示します。

280console_asset.png


アセット画面からtest_cubeを選択して ピンクの立方体が表示されれば成功です。
表示される位置がHMDの下方1メートルの辺りなので、下の方を向くか、位置Zを調整して下さい。

284load_asset.png 286success.png


【テスト方法】
なんどもアセットの修正、 ビルド、 アマレコVRで確認を繰り返す場合は アマレコVRサーバーからアセットファイルを使う方法 をお勧めします。





5.トラブルシューティング

■「対応していないか 既に読み込んでいる」と表示される
アセットファイルを読み込むとき「対応していないか 既に読み込んでいる」と表示されて読み込めない場合は
アセットファイルを作成しているUnityのバージョンが合っていない可能性が高いです。
2021.1.1f1で作成してください。
また、Android用のアセットでない場合や、同じIDのリソースが既に読み込まれている場合にこのメッセージが表示されます。


■色がおかしい(明るい)
Project Settingsの「Player」のColor Spaceが合っていない。
・「Linear」にする

■照明が反映されない
Project Settingsの「Player」のGraphics APIが合っていない。
・「Auto Graphics API」をOFFにする
・「Graphics APIs」リストを「OpenGLES3」だけにする(Vulkanを削除する)
・「Require ES3.2」をONにする


■normal mapが適用されない(テクスチャの表面がまっ平)
Project Settingsの「Player」のGraphics APIが合っていない。
・「Auto Graphics API」をOFFにする
・「Graphics APIs」リストを「OpenGLES3」だけにする(Vulkanを削除する)
・「Require ES3.2」をONにする


■立体視がおかしい(左右の表示位置がおかしい、片目で見れば正常に見える)
XR Pluginを使う場合は「Stereo Rendering Mode」を「Multi Pass」にしてください。

Oculusの場合を例にすると Project Settingsの「XR Plug-in Management」の「Oculus」にある「Stereo Rendering Mode」が「Multi Pass」になっていないと
アマレコVRのレンダリング位置と アセットのレンダリング位置が合わず 立体視に支障がでます。

■ピンクになる
非対応のシェーダーが使われていると アマレコVR内でピンクになります。
スタンダードシェーダーにすることでとりあえず表示できます。
Sample_Cubeはマテリアルを指定していないためピンクになります。新しいマテリアルを作成しゲームオブジェクトへ割り当てることで改善されます。

■非常に重い(カクカク動く) アマレコVRが落ちる
ポリゴン数が多すぎたり、テクスチャで大量のメモリを消費するとまともに動作しません。
Meta Questはコンピュータ的には非常に低スペックです。
PC向けのアセットをそのままQuestで使おうとするとまともに動かない場合があります。
ポリゴン数を減らしたり テクスチャのサイズを縮小してメモリを節約するなどの調整が必要です。









関連記事


コメントの投稿

 
 
あまラボへようこそ
このブログでは自作ソフトの最新情報やtips、PC動画に関する話題を掲載していきます。各記事へは下にあるカテゴリからアクセスして下さい。

ファイルのダウンロードはホームページの方でお願い致します。

質問・要望・不具合報告はこちら
アマレコTV
アマミキ!
アマレココ
アマレコ・ライト
ファンタジーリモート
AMVコーデック



ホームページ
カテゴリ
最新コメント
カレンダー
04 | 2023/05 | 06
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -
最新記事
最新トラックバック
ブログ内タグ

アマレコTV ビデオキャプチャ アマレコVR AMVコーデック Oculus Quest アマレココ アマミキ! コーデック gQuest SC500 動画配信 Pico GO ファンタジーリモート 4K アマレコライト プラグイン G2 AMV4 oculus Unity SC512 ライブ機能 パススルー機能 デスクトップキャプチャ AVX2 Passthrough FAQ リモートソフト 質問コーナー ニコニコ動画 HDキャプチャ DirectShow 120Hz 背景透過 遅延 可変再生速度 レゴ 解説動画 Meta 組み換え VR LEGO XL2420T GV-USB2 2 アセット機能 液晶モニター 倍速液晶 デインターレース PS4 ベンチマーク アマステ AMV2MT Asset Intensity Pico4 MetaQuest Pro VRonVR MonsterX3A designs VideoKeeper2 AVX Alternate XCAPTURE-1 SD-USB2CAP4 GV-USB インストール RDT233WX-Z 32ZP2 31006 ffmpeg WindowsMR Rift 画像処理 31024 T2 60fps RGBキャプチャ UtVideo Shadow Play RYZEN 電源オプション HDCP Haswell HDMI 音遅延 QSV MonsterXU3.0R LameACM MP3 31021 フィギュア 音ズレ 録画 ゲームスムーズモード HT OBS MPC ハイパースレッディングテクノロジー NVEnc 液晶テレビ DirectShowFilter プレビュー 擬似NTSCキャプチャ SD-USB2CUP4 Livetube AtomでHDキャプチャ キャプチャーツール シンクライアント イベント IntensityPro DC-HD1 額縁遅延 REGZA ZP3 32ZP32 オーバーレイ リプレイ機能 モノステ 倍速駆動 倍速補完処理 キャプチャカード Robust Video Matting API APIパススルー機能 60Hz 検証 passthrough python pytorch ハンドジェスチャー パカラーススルー機能 AssetBundle 2.0 Tracking ファイルマネージャプラス SkyBox Hand AMPlayer 新プレイヤー機能 GPU使用率 LAVFilters Preferred 可逆圧縮 GV-USB3 Kabelake SSE SKnet Filter Tweaker Windows 90Hz 新アマレコVR MR VRコントローラー SteamVR VR動画 フレーム間圧縮 XCapture-1 

ブログ内検索
月別アーカイブ
アマレココに関するリンク
お世話になっているソフトのリンク
RSSリンクの表示
管理画面
  • 管理画面