7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

UnityでPCのカメラから画像情報を受け取りたい

Last updated at Posted at 2019-10-27

#概要
Unity初心者です。備忘録を兼ねて書きます。
PC内蔵のカメラや外付けのカメラを使って、Unity上で画像情報を受け取りたいと思います。

#環境

  • Windows 10
  • Unity 2019.2.10f1

#手順

  1. 必要なオブジェクトを置く
  2. スクリプトを書く
  3. アタッチする

##手順1 オブジェクトを置く
ここで置くオブジェクトはRaw ImageEvent Systemと二つです。
###Raw Imageを置く
Raw Imageのドキュメントはこちらから。
私の中でのImageとの違いとしてこちらは任意のテクスチャが使用できるので、今回のようにカメラを使いたいときとかにいいのかなと思います。
オブジェクトを置いたら、カメラに映る位置まで移動させておきます。
スクリーンショット (111).png
ヒエラルキーウインドウを右クリック⇒「UI」⇒「Raw Image」
###Event Systemを置く
Event Systemのドキュメントはこちらから。
これは入力を受け取ってイベント送信の処理しているものだと思います。
スクリーンショット (113).png
ヒエラルキーウインドウを右クリック⇒「UI」⇒「Event System」
##手順2 スクリプトを書く
まずはスクリプトを作成します。
スクリーンショット (115).png
プロジェクトウインドウを右クリック⇒「Create」⇒「C#Script」
ファイル名は「CameraTest.cs」にしました。

CameraTest.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;//これをつけ加え忘れるとエラーが出ます

public class CameraTest : MonoBehaviour
{
    public RawImage rawImage;
    WebCamTexture webCamTexture;

    // Start is called before the first frame update
    void Start () {
        webCamTexture = new WebCamTexture();
        rawImage.texture = webCamTexture;
        webCamTexture.Play();
	}
}

##手順3 アタッチする
手順2でつくったスクリプトを手順1でつくったオブジェクトそれぞれにアタッチしていきます。
###RawImageにアタッチする
RawImageにスクリプトをアタッチします。
###EventSystemにアタッチする
EventSystemにアタッチした際は、スクリプトのコンポーネント内のRaw Imageを手順1で作ったRawImageにします。

#実際の画像
これで完成です。実際動かしてみるとPC内蔵のカメラがあれば画像情報が取れているはずです。
スクリーンショット (120).png
動きもあまりラグなく反映されます。

#謝辞
今回はYOUNASHIPさんのUnityでカメラ(PC/スマホ)を使う方法を参考・引用させていただきました。ありがとうございます。

7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?