質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

2407閲覧

RealSense(SR300)のColor Cameraで60FPS設定するには(Unity, FaceTracking)

jazz_up_feeling

総合スコア6

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2017/02/13 11:44

###前提・実現したいこと
Unity + RealSense(SR300)を使用して、FaceTrackingを行っています。
FaceTrackingにはColor Cameraを使用しており、60FPSで動作させたいです。

###発生している問題・エラーメッセージ
Unityが30FPSで動作してしまいます。
###該当のソースコード

//不要と思われる箇所は省略しております。 private PXCMSenseManager psm; //SenseManager Instance void Start () { faceRenderer = gameObject.GetComponent<FaceRenderer>(); /* Initialize a PXCMSenseManager instance */ psm = PXCMSenseManager.CreateInstance(); if (psm == null) { Debug.LogError("SenseManager Initialization Failed"); return; } /* Enable the color stream of size 640x480 */ psm.EnableStream(PXCMCapture.StreamType.STREAM_TYPE_COLOR, 640, 480, 60); ★ここで60FPSに設定しているつもりですが・・・。 /* Enable the face tracking module*/ sts = psm.EnableFace(); if (sts != pxcmStatus.PXCM_STATUS_NO_ERROR) Debug.LogError("PXCSenseManager.EnableFace: " + sts); /* Retrieve an instance of face to configure */ faceAnalyzer = psm.QueryFace(); if (faceAnalyzer == null) Debug.LogError("PXCSenseManager.QueryFace"); /* Initialize the execution pipeline */ sts = psm.Init(); if (sts != pxcmStatus.PXCM_STATUS_NO_ERROR) { Debug.LogError("PXCMSenseManager.Init Failed"); OnDisable(); return; } /* Retrieve a PXCMFaceConfiguration instance from a face to enable Gestures and Alerts */ PXCMFaceConfiguration config = faceAnalyzer.CreateActiveConfiguration(); config.detection.isEnabled = true; // 3D detection is the default tracking mode. config.landmarks.isEnabled = true; config.pose.isEnabled = true; config.QueryExpressions().Enable(); config.QueryExpressions().EnableExpression(PXCMFaceData.ExpressionsData.FaceExpression.EXPRESSION_MOUTH_OPEN); config.EnableAllAlerts(); config.ApplyChanges(); config.Dispose(); }

###試したこと
以下のことを試してみました。

1:UnityのQualitySettingにてV Sync Count = Don't Sync設定
2:空のゲームオブジェクトにApplication.targetFrameRate = 60;を記載したScriptを適用

###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sakura_hana

2017/02/14 02:16

質問1:どのような方法で30fpsだと計測しましたか?  質問2:「Application.targetFrameRate = 60;」は確実に適用されていますか?(その前後で「Debug.Log(QualitySettings.vSyncCount);」を行うとどんな値が表示されますか?)
jazz_up_feeling

2017/02/14 02:41

ご返信ありがとうございます。 質問1への回答:FrameRate計測用Scriptを作成して、Update関数にて1 / Time.deltaTimeで計算しました。 質問2への回答:Debug.Logで確認したところ、Application.targetFrameRateは60で、QualitySettings.vSyncCountは0になっております。
sakura_hana

2017/02/14 10:36

RealSenseを使用していないシーンでは60fpsになるのでしょうか?
jazz_up_feeling

2017/02/15 05:46

そうですね。RealSenseのFaceTracking用Scriptを外すと60FPSで動作しています。
jazz_up_feeling

2017/02/20 00:11

貴重なお時間を割いていただいて、ありがとうございました。公式フォーラム等でも質問してみます。ありがとうございました。
guest

回答1

0

自己解決

DriverとSDKを2016 R2以降のものにUpdateすると、60FPS出るようになりました。
(当方、2016 R1のSDKを使用していました)

投稿2017/02/20 09:16

jazz_up_feeling

総合スコア6

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問