【Untyアセットアドカレ】Set Pass Callを劇的に減らす「Mesh Baker」の使い方と、HoloLensでの動作結果

====
2017/8/21 追記
5章の考察に、Set Pass Callsが200程度のモデルをHoloLensで見た場合の結果を追記しました
====


この記事は「Unity アセット真夏のアドベントカレンダー 2017」の13日目の記事です。

昨日はkazumalabさんによる、「【Unity アセット真夏のアドベントカレンダー 2017】世界をローポリにしてやろうか!」でした。

本日は、モデルの処理負荷を下げるアセットを、HoloLensを交えて紹介します。

はじめに


HoloLensは空間認識を交えた機能が秀逸ですが、描画機能だけに絞ると性能は高くありません。

そのため、VR系の開発をした経験から同じ感覚でアプリを作ると、簡単にFPSが低くなります。

FPSが低くなる原因の一つに、表示させたモデルの描画負荷が高いことが挙げられます。

CGモデルの描画負荷を下げる方法を調べていたところ、@waffle_makerさんと@izmさんに「Mesh Baker」を教えていただきました。
(@waffle_makerさんと@izmさん、ありがとうございます)

今回はこれの使い方と、いくつかのCGモデルを用いてHoloLensで試した結果を解説します。



===

目次

1. Unity全般とHoloLensでの描画負荷に関する基本情報

2.Mesh Bakerとは?

3.使い方

4. HoloLensで試した結果

4-1. Simple Trains - Cartoon Assets の場合
4-2. Urban City Scene
4-3. Japanese Classroom Set

5. 考察

6. Tips

6.1. Material生成をしようとするとエラーになる
6.2 スクリプトから制御する方法
6.3 有償版と無償版の違い

7.終わりに


===

続きを読む

Spatial Mappingのメッシュを動かさずに、キーボード操作をする方法

HoloLensのアプリケーション開発手段として、従来のHoloTool Kitに加えて、MR Design Labというプロジェクトがあります。

これは、一部HoloToolKitのSDKを含みつつも、ユーザー操作機能が拡張されています。

Unityで使う基本的な準備方法は下記にまとめたので、よろしければご参照ください。

magicbullet.hatenablog.jp


さて、せっかくなので、MR Design Labを色々見ているところ、とある事情でCGモデルをSpatila Mappingした実空間上で動かすことになりました。

最終的にキーボード操作で動くようになったのですが、途中過程で少し詰まったので、参考までに整理しました。

環境です。

Windows 10 Pro Creator Update
・Unity 5.6.2f1
・MR Design Lab v0.1.2-Unity-5.6

======

目次

1. MR Design Labをそのまま使ってキーボード操作を入れた結果

2 変更方法

3. 動作確認

======

続きを読む

HoloLensのUIサンプル「MR Design Lab Unity」の概要と、gitを使わない環境構築手順

HoloLensのアプリ開発にはHoloTool Kitを使うことが一般的ですが、2017年6月、Microsoftより新しい開発方法が発表されました。

これはMR Design Labと呼ばれるもので、HoloLens(あるいはImmersive Deviceも含む)のUIやデザインのガイドライン的なものです。

しかし、アプリ開発の実装方法に大幅な変更が入っており、純粋に開発用のSDKとしても色々と勉強になります。

日本でも、すでにこれらの方が使い方や中身の解説をされています。

qiita.com

blog.d-yama7.com


ここでは、MR Design LabのSDKを使って実際にHoloLensのアプリを作りたいときを想定して、どこにどんなコードがあるのかを簡単に紹介したいと思います。

また、7/27時点ではgitで一部コードを取得する必要がありますが、今回の私のようにgitを使えなかったときようの初期設定も解説します。

なお、今回は以下の環境で検証しています。

・Unity 5.6.2f1
Windows 10 Pro Creators Update

=======

目次

1. MR Design Lab Unityの概要

2. gitを使わずにMR Design Lab Unityのソースコードを使ってHoloLensアプリを作る準備の手順

=======

続きを読む

世界初のVRカンファレンス「Japan VR Fest in Cluster」で、MRとSpatialUIについて発表しました

2017/7/22、VR開発者カンファレンスでMRについて発表しましたので、発表内容などをまとめました。



========

目次

1. Japan VR FestとClusterとは?

2. 発表したもの

3. Spatial UIとは?

4. 今作っているSpatial UI

5. 今後について

========

続きを読む

Visual Studio CodeでRe:View執筆をするプラグイン

====
Re:Vivewの基本的な使い方は下記を参照ください。

magicbullet.hatenablog.jp


====

@dy_karous さんより、エディタとしてAtom以外にVisual Studio Codeでのプラグインが公開されていることを教えていただきました。


インストール方法はVSCodeを開いて、下記の①②③のようにします。

f:id:Takyu:20170715170831p:plain

Unibook8の執筆向けに試してみましたが、問題なく使うことができました。(Macだとスペック不足か、時々動作が遅くなる時がありました)

詳細は下記作者さまのブログをご参考ください。

atsushieno.hatenablog.com


ここで宣伝を。

2017年の夏コミでUnibook8に共著で執筆させていただきます。

Unibookについては以前こちらで書いたので、よろしければご参考ください。

magicbullet.hatenablog.jp

Visual Studioで "The OutputPath property is not set for project 'Assembly-CSharp.proj' "が出た時の対処方法

HoloLensアプリ開発をUnityで行う場合、Visual Studioが必須です。

しかし、実際に開発されている方はよくご存知と思いますが、Visual Studioはどういうわけか不定期にエラーを出します。

今回はエラー内容の一例と対応策を簡単にまとめました。

現象

UnityでビルドしたVisual Studio向けプロジェクトをVisual Studioで開くと、不定期にこのようなエラーが出ます。

f:id:Takyu:20170706075210p:plain

プロジェクトのエクスプローラに「読み込み失敗」とあります。これが出ると、HoloLens向けにアプリの転送をしようとしても、

"The OutputPath property is not set for project 'Assembly-CSharp.proj' "

というエラーが出てしまいます。

f:id:Takyu:20170706075224p:plain

解決方法

「読み込み失敗」と書いてあるところで右クリックして「プロジェクトの再読み込み」を実行します。

f:id:Takyu:20170706075241p:plain


これで「読み込み失敗」が消えてビルドできるようになります。

注意点

この方法により、「読み込み失敗」は消えるのですが、それでもHoloLens向けにアプリの転送ができないときがありました。

できないときは、結局最初からやり直しになりますが、

Visual Studioを終了

・今回のプロジェクトファイルを全削除

・再度Unityのビルドから始める

によってうまくいきます。

githubで任意のバージョンのファイルを取得する方法

小ネタですが、備忘録として残しておきます。


技術情報を求めて色々な方のブログを見ていると、「githubからverX.XXのunitypackageを取得してUnityにインポートしてください」のような記述を見ることがあると思います。

例えば、Google VRのunity SDKですが、2017/7/1現在はver1.60が最新です。

f:id:Takyu:20170703095040j:plain

過去バージョンであるver1.50が取得したい、となったときの方法を紹介します。


まず、relesesをクリックします。上の画像だと、「26 releases」です。すると、このようにリリースされたバージョン一覧が表示されます。

f:id:Takyu:20170703095307j:plain

ここで、ほしいバージョンの「しおり?」マークをクリックします。画像の赤枠部分です。

すると、このように最初と同じ画面が表示されますが、バージョンがver1.50になっています。

f:id:Takyu:20170703095538j:plain

あとは、上記で「GoogleVRForUnity.unitypackage」をクリックすると画面が変わるので、"Download"をクリックすればunitypackageを取得できます。