6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

HoloLens上でスクリプトを用いて外部ファイルの読み込みをしたい

Last updated at Posted at 2017-06-09

目的

スクリプトでの外部ファイル(画像)の読み込み
######どうやら常識のようですがHoloLensにビルドする際のファイルの扱い方を知らなかったのでメモ

前提

  • ドラッグ&ドロップで読み込み
  • スクリプトで読み込み

上記の前提のため、シーンに予め画像を埋め込んでおくなどは想定していません。

Windows Storeアプリケーションでは.CLose()メソッド使えないためStreamReader.Dispose()メソッドで閉じる。

画像読み込みの際、BinaryReaderも使えなかった為、Resourse.Load()で代用(こっちのほうがシンプル)

##失敗例

ReadFile.cs
FileInfo file = new FileInfo(Application.dataPath + "PATH");

問題

FileInfoの際のApplication.dataPathの参照位置
Unity内で走らせる分には問題ないが、HoloLens上で走らせるとHoloLens内のストレージを探してしまうため読み取りが正常に行われない。

##解決策
streamingAssetsPathを使う

スクリプトリファレンス Application.streamingAssetsPath
Streaming Assets Path (docs.unity3d)

tree
.
└── Assets
    └── StreamingAssets
        └──Data
           └──example.png

###そして

ReadFile.cs
FileInfo file = new FileInfo(Application.streamingAssetsPath + "PATH");

Assets/StreamingAssetsに欲しいファイルを格納するとビルド時に彼らをHoloLens内まで連れてってくれる模様。
スクリプトリファレンスによるとプラットフォームによっては他の対応をしなければならないみたいだけどとりあえずのところHoloLensでは大丈夫。
同時にJsonOBJECTの動作も確認。

結論

安心

#HoloLens開発記事一覧
こちらから

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?