NtKinectDLL and NtUnity: Tutorial

Kinect V2 でVideo録画する


2017.10.05: created by
Japanese English

本トピックスの内容は、NtUnity.cs version 1.2 以降に対応します。

目次へ

前提として理解しておくべき知識


Kinect V2 でVideo録画する

  1. UnityでNtKinectDLLを使う (基本設定)」で作成した Unityのプロジェクトを使います。UnityDLL01.zip をダウンロードして展開して下さい。 さらに、展開したフォルダの名前を UnityDLL07/ と変更して下さい。
  2. ダウンロードしたUnityのプロジェクトファイルに含まれている NtKinectDLL.dll および NtUnity.cs は古い可能性があるので、 最新版をダウンロードして置き替えて下さい。
  3.     UnityDLL07/Assets/Plugins/x86_64/NtKinectDLL.dll
        UnityDLL07/Assets/Scripts/NtUnity.cs
    
  4. 新しいシーンを作成して、Assets/Scenes/ に Sample07.unity という名前で保存します。
  5. File -> New Scene
    
    File -> Save Scene as ... -> Sample07.unity
    
  6. ProjectのAssets/Scripts/の下に C# のスクリプトを生成します。
  7. 上部のメニューから「Assets」-> 「Create」 -> 「C# Script」 -> ファイル名は Sample07

    Sample07.cs
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class Sample07 : MonoBehaviour {
      NtUnity.Kinect nt;
      bool onSave;
      void Start () {
        nt = new NtUnity.Kinect();
        onSave = false;
      }
      void Update () {
        nt.setRGB();
        nt.setSkeleton();
        nt.setFace();
        nt.imshowBlack();
        if (Input.GetMouseButtonDown(0)) {
          if (onSave) {
    	nt.closeVideo();
    	onSave = false;
          } else {
    	nt.openVideo("myvideo.avi");
    	onSave = true;
          }
        }
        if (onSave) {
          nt.writeVideo();
        }
      }
      void OnApplicationQuit() {
        nt.stopKinect();
      }
    }
    
    
  8. 空のオプジェクトをHierarchy に配置して、名前を GameController に変更します。
  9. 上のメニューから -> GameObject -> Create Empty
    






  10. ProjectウィンドウのAssets/Scripts/Sample07.cs をHierarchyの GameController のComponentとして付加します。



  11. 実行すると、カメラ画像上に骨格認識および顔認識した結果が別ウィンドウに表示されます。
  12. マウスで Unity の実行画面をクリックするとカメラ画像のビデオ録画が開始されます。 もう一度クリックするとそれまでのカメラ画像が保存されて "myvideo.avi" という ファイルが Unityのプロジェクトのフォルダ直下に生成されます。
  13.   UnityDLL07/myvideo.avi
    
  14. Unity のサンプルプロジェクトはこちら UnityDLL07.zip


http://nw.tsuda.ac.jp/