Unityでカメラを使う
Macのカメラを利用したい
カメラが必要なアプリケーションを作る際、
毎回デプロイして試すの面倒じゃない???
と思いやってみたものの、
↑の方が凄い丁寧にまとめられてる。。。
めっちゃ分かりやすい!!
最後の写真をローカルに保存する部分だけ、
初心者として一瞬詰まったので書きます
File.WriteAllBytes
リファレンスを見てみると
File.WriteAllBytes メソッド (String, Byte[]) (System.IO)
System.IO
の名前空間の中に書かれています。
なので、using System.IO;
を記述して、参照する。
また、
File.WriteAllBytes(Application.dataPath + "/test.png");
私は記事を見逃し、
↑のコードを書いてしまいました。
No overload for method `WriteAllBytes' takes `1' arguments
コンパイルエラー
引数一つ取るWriteAllBytesメソッドが継承されていません。 との事。
一瞬、ん?となってしまいましたが、
public static void WriteAllBytes( // 保存先のpath string path, // 保存したいバイトデータ byte[] bytes )
リファレンス見たら一瞬でした。。恥ずかしい。 引数が足ならないだけ。。
var bytes = .... // 保存したいbyteデータ File.WriteAllBytes(Application.dataPath + "/test.png", bytes);
これで完了です。
Application.dataPath
は、Unityのプロジェクトが置かれているPath/Assets
を指しているって事くらいを学べました。
また、何枚も写真を取れるようにっていう軽い改変してみました。
// カウント用 private int count = 0; void Start () { } void Update () { //カウントアップ count = count + 1; //textureの貼り付けをやめる //GameObject.Find("Plane").GetComponent<Renderer>().material.mainTexture = texture; //ファイル名を変えていく File.WriteAllBytes(Application.dataPath + "/camera" + count + ".png", bytes); }