FC2ブログ
    08 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.» 10

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【Unity】WebCamTextureでカメラ使ってみた。 

    こんにちは。
    大坂です。

    先日、弊社代表の坂内がニコ生に出演してました!
    ニコ生では何も映されず真っ暗でしたが…YouTubeに編集された動画がアップされてましたので、興味のある方は是非!
    本編
    https://youtu.be/D_KInJIXyDQ
    番外編
    https://youtu.be/3luDAYiZ_lM

    それでは今週のネタに。
    なんとなくUnityで端末のカメラにアクセスできなかなとやってみました。
    WebCamTextureってのを使うとできるっぽいですね。
    uGUIのImage作ってそれに表示させてみました。
    まずはオブジェクトの準備。


    Image作ってるだけですね!
    RotationのZを270にしてるのはカメラを縦にしたいからです。
    コードで端末の向きを見て変えてあげた方がいいかもしれませんが…。

    Materialは適当に作ったのを貼ってるだけです。
    一応こんなの。


    で、Imageに張り付けてるコードはこんな感じ。

    using UnityEngine;
    using UnityEngine.UI;
    using System.Collections;

    public class CameraTest : MonoBehaviour {

    int requestedWidth = 480;
    int requestedHeight = 854;

    WebCamTexture webcamTexture;

    void Start() {
    WebCamDevice[] devices = WebCamTexture.devices;

    if(devices.Length > 0) {
    // コンストラクタでwebcamTextureを作成
    webcamTexture = new WebCamTexture(requestedWidth, requestedHeight);
    // 映し先のTextureにwebcamTextureを渡す
    GetComponent<Image>().material.mainTexture = webcamTexture;
    // 実行する
    webcamTexture.Play();
    } else {
    Debug.Log("カメラないよ");
    return;
    }
    }

    public void StopCamera() {
    // カメラを止める
    webcamTexture.Stop();
    }
    }

    これだけでカメラが起動できますね。
    Androidでしか試してないですけど…
    あとは他のオブジェクトも一緒に写したければ、手前においてあげればそれも一緒に映し出されます。
    画像の保存は、キャプチャーとる感じですかね。
    この辺の記事と合わせれば一応端末から見れるところにも保存は可能かなと。

    では今週もこれにて!
    また来週ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    コメント

    コメントの投稿

    Secret

    トラックバック

    トラックバックURL
    →http://halcyonsystemblog.jp/tb.php/318-12148821
    この記事にトラックバックする(FC2ブログユーザー)