Rememory Unity SDK

Reference

RememoryPlayer

Custom Property

Setting Function
CaptureDir キャプチャの再生に必要なファイルが格納されているフォルダです。再生したいキャプチャフォルダをドラッグ&ドロップして読み込みます。正しく読み込みが行われている場合、Rememoy player is setupと表示されます。正しく読み込みができていない場合、エラーが表示されます。指定するフォルダはAssets/StreamingAssets/ 配下である必要があります。
meshMode 生成するメッシュのサイズ設定です。3つのオプションがあります。動作端末によって最適な設定を選択してください。
・Fatest : 負荷が1番小さいサイズでメッシュが生成されます。
・Medium (default) : Rememoryアプリで利用しているサイズでメッシュが生成されます。
・Best : 最高サイズでメッシュが生成されます。
isFollowCamera Onの場合、撮影した端末と同じようにカメラが追従します。

メソッド

■ CreatePlayer

RememoryPlayerを初期化します。
操作や値を取得する前に、このメソッドを呼び出す必要があります。

    public void CreatePlayer();

■ 基本的な操作

基本的な操作を行うメソッドです。
初期化完了前に呼び出しを行なっても正しい値は取得されず、Warningが出力されます。

    // RememoeyrPlayerの 再生 / 一時停止 / 再生停止
    public void Play();
    public void Pause();
    public void Stop();

    // RememoryPlayerを指定の位置[s]に移動する
    // toTimeSeconds : 指定の位置[s]
    public void Seek(float toTimeSeconds);

■ 基本的な値を取得

基本的な値を取得するメソッドです。
初期化完了前に呼び出しを行なっても正しい値は取得されず、Warningが出力されます。

    // 再生状態を取得
    public bool IsPlaying();
    // 現在のフレーム番号を取得
    public int GetCurrentFrame();
    // 現在の再生時間[s]を取得
    public double GetCurrentTime();
    // 合計フレーム数を取得
    public int GetTotalFrame();
    // ビデオクリップの長さ[s]を取得
    public double GetDuration();
    // ビデオクリップのWidthを取得
    public uint GetVideoWidth();
    // ビデオクリップのHeightを取得
    public uint GetVideoHeight();

コールバック

■ OnCreated

※ 注意 : CreatePlayer()よりも先にコールバックの設定する必要があります。

CreatePlayer()によって、準備が完了すると呼び出されます。 このコールバックが呼び出されてから、操作を行います。

    void OnEnable()
    {
        // (1) コールバックの設定
        rememoryPlayer.OnCreated += OnCreatedPlayer;
    }
    void Start()
    {
        // (2) CreatePlayerを呼び出し、RememoryPlayerを初期化
        rememoryPlayer.CreatePlayer();
    }
    void OnCreatedPlayer()
    {
        // (3) RememoryPlayerの初期化完了
        Debug.Log("OnCreatedPlayer");
    }

変数


    // プレイヤーのセットアップ(初期化)の状態を示す
    public bool IsCreated { get; }
    // カメラ追従のOn/Off
    public bool IsFollowCamera { get; set; }
    // MeshModeの設定
    public MeshMode MeshModeType { get; set; }
    // オーディオミュートのOn/Off
    public bool IsAudioMute { get; set; }
    // ループ設定のOn/Off
    public bool IsLoop { get; set; }
    // 再生速度 (-2.0以上, 2.0以下である必要があります)
    public float Speed { get; set; }
    // 描画を行う最低距離[m] (0以上である必要があります)
    public float NearClip { get; set; }
    // 描画を行う最大距離[m] (0以上である必要があります)
    public float FarClip { get; set; }
    /* 
      隣接ピクセルとのデプス差分を元にピクセルを除外する感度
      コンテンツ単位での最適化を推奨しています。
      デフォルトは1.0 (0以上, 2.0以下である必要があります)
    */
    public float DepthEdgeSensitivity { get; set; }

DepthPlayer

RememoryPlayerクラスを利用するにはDepthPlayerコンポーネントが必要です。

Property

Setting Function
MeshFilter オブジェクトのメッシュを生成します。指定するコンポーネントには、MeshRendererコンポーネントも含まれている必要があり、そのMaterialには/RememorySDK/Rememory/DepthMaterialが設定されている必要があります。
基本的には、/Sample/CapturePlayer.prefabのように、CapturePlayerの孫オブジェクトのMeshFilterを指定します。
FollwCamera IsFollowCameraがtrueに設定されている場合、撮影した端末の情報を元に、指定したTransformコンポーネントのPosition、Rotationを決定します。
基本的には、/Sample/CapturePlayer.prefabのように、CapturePlayerの子オブジェクトのFollowCameraを指定します。
Resize Compute Shader RememorySDK/Rememory/ResizeKernelを指定します。
RemEditorAnchor Rememoryアプリで調整した値をTransformにセットします。
基本的には、/Sample/CapturePlayer.prefabのように、CapturePlayerの子オブジェクトのRemEditorAnchorを指定します。

※ DepthPlayerはRememorySDK.Dllの内部に含まれています。