「Unity + Oculus Rift – やっと Slide Show っぽくなってきた。-」では、Asset/Resource内にあるSpliteに変換されている画像を順に表示していた。
やっと、指定した任意のフォルダ内にあるJPG画像を逐次Spliteに変換しながら順に表示することができた。
https://forum.unity.com/threads/generating-sprites-dynamically-from-png-or-jpeg-files-in-c.343735/
上のサイトに紹介されているコードを「Unity + Oculus Rift – やっと Slide Show っぽくなってきた。-」のコードに組み込んだ。
フォルダ内の全JPGファイルのリストは以下のサイトを参考にさせていただいた。
http://narudesign.com/devlog/unity-get-file-list/
コードはたったこれだけ。
1 2 3 4 |
FileInfo[] info; DirectoryInfo dir = new DirectoryInfo(SourcePath); info = dir.GetFiles("*.jpg"); |
SourcePathはまだコード内で決め打ちだ。
フォルダ区切りは¥¥と2つ重ねる。
ファイル名を含むフルパスを上の参考サイトのLoadNewSpriteに渡せばSpliteになって帰ってきて、Imageに貼れる。
1 2 3 4 5 6 |
public GameObject sObject; private Sprite sprite; sObject = GameObject.Find("Canvas/Image"); sprite = LoadNewSprite(SourcePath + "\\" + info[PhotoNum].Name); sObject.GetComponent<Image>().sprite = sprite; |
残るは、いまはコード内に書き込んであるフォルダの指定をどうするかだ。
起動時にコマンドラインから渡すとか、VR内で指定するとか。
「Oculus Rift Touch UI Gaze Test」でノウハウを身につけた上で「Unity + Oculus Rift – 5つのフォルダから選んでJPG画像を表示。-」へ続く。
Tweet