一旦、今現在の画像を読み取るコードを書きます。
やっとusingが減りました。
今まで色が違うことに全然気づいてませんでしたが、
使っていないusingはVisualStudio上で灰色になっていたので、
どれを消して良いかすぐに分かりました。
using UnityEngine;
using System.Collections;
using System.IO;
public class image1 : MonoBehaviour
{
string imagePath = "C:/オリジナル視線アプリ/画像はここ/1";
IEnumerator Start()
{
//Stringの配列 Pathmei string mp3Path = "C:/image/1" 拡張子* を入れる
string Pathmei = System.IO.Directory.GetFiles(imagePath, "*", System.IO.SearchOption.AllDirectories);
string file = Pathmei[0]; //配列の一個目(0番)をfileに入れる。
//拡張子の出力
Debug.Log(Path.GetExtension(file)); //配列の一個目(0番)、つまりfile の拡張子をLogに書き出す。
WWW www = new WWW(Pathmei[0]);
yield return www; //関数から抜けずに、一旦停止して値を返す。
Renderer rend = GetComponent<Renderer>();
rend.material.mainTexture = www.texture;
}
}
動作中に、UnityのWindowの中のAnalysysの中のProfilerを立ち上げると
動作の負荷が分かると何かで見聞きしたので立ち上げました。
その後、コードをこんな風に書き換えました。
using UnityEngine;
using System.Collections;
using System.IO;
public class image1 : MonoBehaviour
{
string imagePath = "C:/オリジナル視線アプリ/画像はここ/1";
private void Start()
{
StartCoroutine(gazouyomu());
}
IEnumerator gazouyomu()
//コルーチンは好きな場所で処理を止めたり再開したりできる機能
{
string Pathmei = System.IO.Directory.GetFiles(imagePath, "*", System.IO.SearchOption.AllDirectories);
string file = Pathmei[0]; //配列の一個目(0番)をfileに入れる。
//拡張子の出力
Debug.Log(Path.GetExtension(file)); //配列の一個目(0番)、つまりfile の拡張子をLogに書き出す。
WWW www = new WWW(Pathmei[0]);
yield return www; //関数から抜けずに、一旦停止して値を返す。
Renderer rend = GetComponent<Renderer>();
rend.material.mainTexture = www.texture;
}
}
体感的には
速くなった気がします。
Profilerはこうなりました。
分かるような分からないような・・・
きっとちゃんとした見方があるんだと思いますが、
その見比べの為に、再度、体感速くなる前のコードに戻すのもなあ・・・と
思ったので、また次の機会があればちゃんと
見方を調べようと思います。
変えたのは、
コルーチンが1度しか呼ばれない (teratail.com)
こちら↑を参考に、
IEnumerator Start()
{ }
の{ }中に、画像の読み取りについてプログラムを書いていたのを、
IEnumerator gazouyomu()
{ }
の中に書いて、
private void Start()
{
StartCoroutine(gazouyomu2());
}
で実行するようにしました。
速くなったというのも負荷をちゃんと数字で
読み取れてないので、体感です。
だから変わってないかも知れないのですが、
とりあえず速くなった気がするので一旦、よしとします。
この先、画像の枚数を増やそうと思っているので、
その時にまたどうなるかな・・・。
⑨に全コードを書きます。