Microsoft Visual C++ Runtime LibraryからRuntime Error!が出たときの対処方法

f:id:Takyu:20171001084945j:plain

タイトル通りですが、Windowsを使っていると、アプリケーションによってはこのようなエラーが出ることがあります。

私の場合は、Meta2というHead Mount Displayのチュートリアルアプリケーションを起動したときに、このエラーが出ました。

ご参考;Meta2について

magicbullet.hatenablog.jp


今回は、このエラーが出たときの解決方法を調査して整理しました。


=====

目次

1. Visual C++ Runtimeとは何か?

2. Runtime Errorとは?

3. 解決方法

3-1. 該当するruntimeを追加インストールする
3-2. 環境変数の順番を変更する

4. 終わりに

=====

1. Visual C++ Runtimeとは何か?

Visual C++ Runtimeとは、Visual C++という環境で開発されたソフトウェアを動かすためのライブラリです。たとえば、Visual C++ 2015という環境で作られたソフトウェアを動かすには、「Visual C++ 2015 再頒布可能パッケージ」というものが必要になります。

実際、Visual C++ Runtimeを必要とするソフトウェアは多いようで、PCの設定/アプリを開いてみると、Visual C++ 20XXが入っているのが確認できます。

f:id:Takyu:20171016065159p:plain


なお、Visual C++のRuntimeは2015、2017のような表記だけでなく、10.0.30319のような表記があります。インストールされた項目をクリックすると、このように詳細が表示されます。

f:id:Takyu:20171016065333p:plain


通常、何らかのソフトウェアをインストールすると、それに紐づいたランタイムが自動的にインストールされます。そのため、ユーザーの立場ではエラーが出ない限り、基本的に気にする必要はありません。


エラーが出ると自分で直すこともあります。その場合は、Visual C++ Runtimeの性質というか、下記に注意しておく必要があります。

(1) RuntimeはMicrosoft のダウンロードセンターで提供されている。

こちらです。

https://support.microsoft.com/ja-jp/help/2977003/the-latest-supported-visual-c-downloads


(2) バージョンによっては、Microsoft のダウンロードセンターに提供されていないことがある。色々とリンクをたどると見つかることがある

理由はよくわかりませんが、、


(3) マイナーバージョンまで同じなのに、言語によってRuntimeが異なることがある

例えば英語のアプリケーションで問題が発生した場合、英語版のRuntimeが必要の可能性があります。



2. Runtime Errorとは?

Runtime Errorとは、対応するRuntimeが見つからないという意味です。

今回の私の場合は特殊だったためか表示されませんでしたが、通常はこの赤枠の中に、どこでエラーになったかのファイルパスが表示されるようです。

f:id:Takyu:20171016223134j:plain


3. 解決方法

3-1. 該当するruntimeを追加インストールする

エラー内容やパスから自分で調べるか、ソフトウェアの開発元に問い合わせて、該当するRuntimeをインストールします。

3-2. 環境変数の順番を変更する

今回のエラーを開発元に問い合わせた時に提示された解決方法です。確実性は不明のようですが、環境変数のPATHに書かれた順番を上位にすることで、正しく動く場合があるようです。

環境変数画面の出力方法です。

f:id:Takyu:20171016225854p:plain


このような画面がでるので、システム環境変数側のPathをクリックします。(画像の中で選択されているところです)

f:id:Takyu:20171016230246p:plain


このような画面が出ます。1行ずつ順番を変えることができるので、目的のパスを上位に移動させます。

f:id:Takyu:20171016230429p:plain

3-3. OSをクリーンインストールする

これは最後の手段ですが、、

結局、私の環境ではこの方法で解決しました。今回のRuntime Errorが出たPCは、Windows8.1からWindows10にアップグレードしたPCです。

Meta社のエンジニアによると、まれにWindows8.1から10に上げたPCで、Runtime同士がコンフリクトすることがあるらしい、とのことです。

私の場合、入手できるかぎりのあらゆるRuntimeを入れてもだめだったのと、クリーンインストールをするだけで何も問題なくうまくいったので、やはり8.1からのアップグレードが原因のような気がします。


ちなみに、Windows10のクリーンインストールは、こちらを参考にさせていただきました。

pcfan.121ware.com


4. 終わりに


原因は不明のままですが、ひとまずMeta2が動いて良かったです。

本来、ユーザーの立場ではRuntimeエラーは気にすることがないはずなのですが、Visual C++ Runtime Error で調べると、そこそこ検索結果に引っかかります。

今回の情報が誰かの役に立てば幸いです。

Meta2について(開封編)

Meta1のときと同様、申し込みから1年半かかりましたが、ようやくMeta2が届きました。

f:id:Takyu:20171004231153j:plain


Meta2とは、Meta社が販売しているHead Mount Display(HMD)です。現実空間の上にCGを重ねて表示したり、目の前に色々な情報を出すことができます。

以前Meta1という開発者キットを出しており、第二世代という位置付けです。

Meta1との違いは以前の記事をご確認ください。

magicbullet.hatenablog.jp


類似の製品に、Microsoft社が出しているHoloLensがあります。HoloLensとの違いは以前の記事をご確認ください。

magicbullet.hatenablog.jp


動作に関しては別の記事で解説するとして、まずは外観をお伝えします。

私は日本で数少ないMeta1所持者なので、Meta1との比較も入れてみました。
(Metaの人によると、日本には5台しか出荷してないそうです、、)


こんな感じです。

f:id:Takyu:20171004231404j:plain

Meta1は布?で覆われたケースでしたが、今回は紙製です。

f:id:Takyu:20171004231458j:plain

開けたところ

f:id:Takyu:20171004231905j:plain

f:id:Takyu:20171004232206j:plain
スライドさせると、上段が部品ボックス、下段がHMDです。


上段の部品ボックスです。

f:id:Takyu:20171004232829j:plain

開けたところです。HMD用の台座、ACアダプター、それと各国向けのプラグが入っています。

f:id:Takyu:20171004232954j:plain


下段はHMDです。HMD本体を収納する袋も付いています。

f:id:Takyu:20171004232351j:plain


Meta1を開いたところです。箱だけで比べるとMeta1の方が高級感がありますね。

f:id:Takyu:20171004233302j:plain

HMDの外観

随所に革?が貼ってあり高級感が出ています。

f:id:Takyu:20171004233412j:plain

固定はHoloLensと同じく、つまみを回す方式です。

f:id:Takyu:20171004233616j:plain


また、専用の台座が付いています。(本体が割れやすい??)

f:id:Takyu:20171004233517j:plain


Meta1と比べると大型化しています。

f:id:Takyu:20171004233733j:plain

ハードウェア構成

Meta2はHoloLensと異なり、PCが必須です。PCとはHDMIUSB3.0ケーブルで接続します。また、途中で分岐して電源コードをコンセントで接続します。

f:id:Takyu:20171004235648j:plain

Meta1の構成です。Meta1と比較すると、Meta2の構成はだいぶすっきりしました。

f:id:Takyu:20171004235907j:plain


Meta2の電源コードとUSB+HDMIケーブル接続部分です。

f:id:Takyu:20171004235722j:plain

ちなみに、Meta1ではEPSONのBT100をベースとしていたため、HMD側にもAndroidを搭載し、ある程度大きなボックスを接続する必要がありました。


[補足]
Oculus Rift のDK2を持っていた方向けの情報ですが、ハードウェアやソフトウェアの雰囲気がDK2と似ています。
(たとえば、アプリ側の設定で、Direct ModeとExtended Modeがありました)


終わりに

ざっと使った感じでは、トラッキングはHoloLensに及ばないものの、ジェスチャーの多様さやマウス+キーボード連携などHoloLensにない機能が入っており、活用先次第ではかなり使えそうな印象を持ちました。

また、Meta1と比較すると、装着性、性能などあらゆる点が改善されています。

次回の記事では、動作確認結果や環境構築手順をお知らせしたいと思います。

VR Hub Tokyo #3 に行ってきました

f:id:Takyu:20170910203611p:plain1

9/7に、VR Hub Tokyoというmeet upで発表してきました。


このコミュニティイベントには初めて参加したので、発表内容だけでなく、どんなコミュニティかの紹介もしたいと思います。

またVR Hub Tokyoは、「 Impact Hub Tokyo」から生まれたコミュニティのようですので、まずImpact Hub Tokyoの概要を紹介します。


1. Impact Hub Tokyoについて

公式HPと、抜粋です。

hubtokyo.com

(抜粋)
Impact HUB Tokyoは「Questioning+Action=Impact」という価値観で繋がるコミュニティです。社会の中で個人がそれぞれ直面している現状に対して問題意識を投げかけ、それに対して行動を起こしていくことで、新しい時代を創っていくムーブメントを起こしていきたい、というのが、私たちのビジョンです。

上記の通り、Impact HUB TokyoはVRに限らず、いろいろな分野での新しい動きを作ることが目的のコミュニティと考えて良さそうです。

VR Hub Tokyoはその中で、VR/AR系の分野に特化したのだと思います。

こういうのもありました。

www.team360.impacthub.tokyo


2. VR Hub Tokyoについて

明確な定義は見つけられなかったので、私の所感で書きます。

VR/ARに関する様々なトピックを共有する場のようです。参加者の半数以上(この間行ったときは7割くらい?)は外国人の方でした。

開発者というよりは、デザイナーや起業家、投資家などの方が多いようです。

過去のmeet upでは、VRのユースケースとしてどんなものがあるかの紹介、投資の傾向などが発表されていました。

1回目 (2017/3/1 開催)

www.meetup.com

2回目 (2017/7/5 開催)

www.meetup.com

3. 今回の発表について

3回目 (2017/9/7 開催)

www.meetup.com

今回は日本語で紹介文がありました。

(抜粋)
9月7日に開催される VR Hub Tokyo Meetup は、VR Hub Tokyoの第3回目のイベントになり、Impact HUB Tokyoのスポンサーにより開催されます。このミートアップのテーマはUnity。開発や新しいテクノロジーを一人で学ぶことは、そろそろかなり大変になってくると予想されます。今回、私たちはVRテクノロジーの開発者やデザイナーたちの力を強固にするべく、Unityについてのコミュニティでの学びや知識の交換をする場所を設けたいと考えています。

ということで、Unityを使ったVRコンテンツの作り方や、実際のソリューションなど、7つの発表がありました。

以下、簡単に概要を紹介いたします。


"Look how easy it is to do this" intro to start working with Unity VR

f:id:Takyu:20170910210826j:plain
画像はここから引用しました。

VR Hub TokyoのCo-OrganizerであるLeonard Burton さん(@atomworks )の発表です。UnityとHTC VIVEを使ったライブコーディングでした。

How can I learn Unity?

XR女子部の主催者でもある、@aicayamazakiさんの発表です。

ご自身がHMDをたくさん持っている環境にあることや、女子コミュニティを作る話をお話されていました。

ちなみに、XR女子部の第一回ではリクエストをいただき、私(男性)も発表させていただくことになりました。

主に女性向けの集まり(限定ですが男性参加枠もあります)ですが、ご興味あればぜひご参加ください。

mr-girls.connpass.com

How to make your first HoloLens app?(最初のホロレンズアプリの作り方)

HoloMagiciansの @morio36 さんの発表です。

f:id:Takyu:20170910210058j:plain

このツイートの通り、複数のスキルを使われています(すごい、、)。

発表スライドはこちらです。

www.slideshare.net

Building 360-degree Image Viewer in Unity

VR Hub TokyoのCo-Organizerである Artis Birzinsさん(@ArtieBe)の発表です。

Unityで360度画像のVRアプリをiPhone向けに作るライブコーディングです。You Tubeでも公開されていましたので掲載します。

youtu.be

Spacial Sound and Interactive Music in Unity

f:id:Takyu:20170910205844j:plain
画像はここから引用しました。

@sonicviz さんのお話です。
VRには音響効果が重要ですが、この発表では、Unityで音響効果を再現し、「右側の音源に近づくと右側から音が聴こえる」、「音源を通り過ぎると低く聴こえる(ドップラー効果)」などを紹介しつつ、VR Audioの検討も重要であることを解説していました。

Deploy and distribute from Unity to VR headsets with STYLY

f:id:Takyu:20170910211635j:plain
画像はここから引用しました。


株式会社Psychic VR Lab 代表取締役の山口さんによる発表です。

Psychic VR Labでは、クリエイター向けVRコンテンツをブラウザベースで作成できる「STYLY」を公開しています。

今回の発表はSTYLYの概要と、STYLYを使ったライブコーディングの紹介でした。

VRコンテンツを作るには、Unity、Unreal Engine、Lumberyardなどの開発環境インストールや、固有の使い方理解などが必要で、慣れていないと敷居が高いと思います。

STYLYであれば、ブラウザベースでできるので開発がしやすいですし、別のPCを使ってもすぐに環境が再現できるメリットもあるのでよいですね。


"Your Unity is not the same as mine!” How to make beautiful scene in Unity

私の発表です。

Unityを使うとかっこいいシーンが作れますが、そのままUnityを開いて作って見ても思ったようなきれいさが出ないことがあります。

この発表では、そういうときの解決策として、ShaderとLightの調整方法を紹介しました。

ただし、今回の発表時間やmeetupの趣旨を考慮して、詳細や原理ではなく、ShaderやLightを使うとこんな風に見た目を変えられますよ、というbefore & afterの説明にしています。

詳細はこちらをご覧ください。

www.slideshare.net

また、スライドで紹介したShaderとLightについては、過去のこちらのブログに詳細が書かれています。

4. おわりに

VR Hub Tokyoは、今は技術コミュニティというより最新分野の情報共有がメインのように思います。

日本の技術コミュニティとはまた違ったカラーと、Impact Hub Tokyoで掲げている動きに興味があるので、次回の開催があれば参加してみたいと思います。

【Unityアセットアドカレ】Shader Forgeでナイトプールを作ろう!

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

昨日はjojomonさんによる、「【Unity】Embedded BrowserとVrGrabberを使ってVR空間で簡単ブラウザ操作 - VR Mastodon」でした。

最終日は、Shaderをノードベースで作成できる「Shader Forge」を紹介いたします。

ただし、Shader Forgeについては、インターネット上に多数の情報があります。そこで、今回はそれらを参考にさせていただきながら、自分で理解したことと、実際に作ってみたものの作り方をまとめました。

なお、今回の検証はこのような環境で実施しています。

Mac OS X 10.12.6
Unity 5.6.3p1
Shader Forge v1.37

なお、随所にShaderのコードのgithubリンクを貼ってあるので、気になる方はダウンロードして任意のマテリアルにアタッチしてみてください。
(Shader Forgeがなくても使えます)


===

目次

1. Shaderとは何か?

2. Shader Forgeとは?

2-1. 概要
2-2. 基本的な使い方

3. 出現頻度が高かったノードの概要

4. ナイトプールを作ってみる

4-1. ステージを作る
4-2. 水面を作る
4-3. skyboxを作る
4-4. 光の玉を作る
4-5. ポストエフェクトをかける

5. 使い方に関するTips

6. 参考になった記事一覧

7. マイリスト紹介

8. 終わりに

=== 

続きを読む

【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アプリを作る準備の手順

=======

続きを読む