Unityでカメラを使う

Macのカメラを利用したい

カメラが必要なアプリケーションを作る際、
毎回デプロイして試すの面倒じゃない???
と思いやってみたものの、

Unity で Web カメラを使用する

twitter.com

↑の方が凄い丁寧にまとめられてる。。。
めっちゃ分かりやすい!!

最後の写真をローカルに保存する部分だけ、
初心者として一瞬詰まったので書きます

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);
        }