Re: 3D11BackBufferTexture2Dの取得に関して ( No.45 ) |
- 名前:猫の湯飲み 日時:2023/02/24 21:34
図のレイアウトが崩れてしまったのでこちらにスクリーンショットをあげます。すみません
ttps://ibb.co/rddwb7M
|
Re: 3D11BackBufferTexture2Dの取得に関して ( No.46 ) |
- 名前:管理人 日時:2023/02/25 07:03
アンチエイリアスをお試しいただきありがとうございます
揺れが大きくなったとのことで、益々謎が深まりました…
やはり手元で試せないと埒が明かなそうなので、vive pro2 を注文しました
手元に届いてセットアップを行い、頂いたプログラムを実行して、原因が分かりましたら
こちらにご報告しますので数日お時間をください m(_ _)m
openVR や steamVR の関係についてのご説明もありがとうございます
今回のような例でなければ openXR の方が使い勝手が良さそうですね
( vive用SDKなどを別途用意しなくて良いので )
|
Re: 3D11BackBufferTexture2Dの取得に関して ( No.47 ) |
- 名前:管理人 日時:2023/02/28 02:16
お待たせしました、vive pro2 が手元に届きました
なんとかセットアップを終え( 結局ベースステーションを1台だけPCデスクの上に
置く形態にしました )頂いたプロジェクトを実行してみたのですが、
私の環境では小刻みに震えるという現象は確認できませんでした
小刻みに震えるというのは画面全体が上下左右に震えるのでしょうか?
( カメラが振動しているような… )
それとも画面内の特定の箇所のみに発生する現象なのでしょうか?
|
Re: 3D11BackBufferTexture2Dの取得に関して ( No.48 ) |
- 名前:猫の湯飲み 日時:2023/02/28 03:39
>小刻みに震えるというのは画面全体が上下左右に震えるのでしょうか?
画面全体が少し揺れ、左右に回転すると上下に揺れが少し強くなる感じです。
また色々な3Dモデルを用意して描画してみたところ部分的に上記の状態が強く出るところがあります。
------------(ここから下はここ数日で検証したことなどです)-------------
windowsをクリーンインストールした状態にsteamVRとvive consoleをインストールしてビルドファイルを実行した場合->あまり変わらない?
windows10で実行した場合(普段はwindows11で開発)->あまり変わらない?
windowsのゲームモードをoffにして実行した場合->あまり変わらない?(VRの情報取得するタスクの優先順位がさがってしまいカクつくことがあるらしいため、変更してみました。)
steamVRをbeta版にして実行->あまり変わらない?
openVRのバージョンを下げる->あまり変わらない?
コントローラの入力状態をIVRInputに変更する->少し揺れが収まる気がする
(HMDの情報についてはIVRInputで定義されている"/user/head/input/pose/raw"のみなので関係ないはず。またIVRInputを使用していないopenVR sampleでも揺れがほぼないのはなぜ?)
vive consoleのバージョンを下げる->あまり変わらない
(ttps://forum.htc.com/topic/14826-vive-software-20232-%E2%80%93-public-release-notes/ フォーラムでは一部のグラフィックボードではテアリングが発生する報告はあるが、
アプリケーションによって発生する/しないの違いは無いはず。)
vive consoleをsteam版に切り替える(htcにあるインストーラー版ではない方)->あまり変わらない
(steam版とhtcにあるインストーラー版はファイル内容に違いがある。機能は変わらないはずなので関係ない?グラフィックボードやCPUによって違いがある人もいるとファーラムに報告されている)
IVRInput<---Steam VR Input Systemを使用しているIVRInputを使用すると以下のように従来のコントローラーのデータ取得関数が使えなくなるのでHMDのデータ取得にも影響している?
旧式
|<-openVR------------------------>|
[device]->[Input Profiles(legacy)]->[System]-------------->App
ビット情報
新式
|<-openVR------------------------------------------------------------------>|
[device]->[Input Profiles(driver)]->[System]->[Controller bindings]->[Action manifest]-->App
入力プロファイルについての詳細は無く、SteamVRランタイムは非オープンソースのため入力プロファイルの種類は不明。OpenXR規格の手法に類似しているが準拠しているかどうかも不明
(ttps://github.com/ValveSoftware/openvr/wiki/SteamVR-Inputに/user/gamepadと書いてあるのにもかかわらず/user/hand/gamepadでも動作するなど記載されていないものもある)
Unityなどのプラグインから
InputSource:
/user/head
/user/hand/left
/user/hand/right
/user/hand/gamepad
Input Profiles:
/input/xxx/yyy
/input/trigger
/input/pose/raw
/input/skeleton/left
/output/xxx/yyy
/output/haptic
/pose/xxx
は存在するためheadを指定することによってHMDの情報を取得できるはず(公式サンプルはIVRInputを使用しておらず、データ形式が不明のため未検証です。すみません)
|
Re: 3D11BackBufferTexture2Dの取得に関して ( No.49 ) |
- 名前:管理人 日時:2023/02/28 05:40
ご返答ありがとうございます
様々な検証をされたのですね…
すみません、追加でご質問させてください
1.No.30までは小刻みに震えなかったとのことですが、現在でも No.30 までのプログラムでは小刻みに揺れないでしょうか?
2.DXライブラリを使用したVR表示以外の、SteamVR のゲーム作品や体験作品などでは小刻みに揺れる現象は発生しませんでしょうか?
3.不都合が無ければお使いのPCのスペックを教えて頂けますでしょうか?
4.ベースステーションが一つの場合は小刻みに揺れる現象が発生しない、ということはありますでしょうか?
|
Re: 3D11BackBufferTexture2Dの取得に関して ( No.50 ) |
- 名前:あっぷる 日時:2023/02/28 11:53
本件とは関係あるかわかりませんが、GraphFilterBlt()の5番目の追加パラメータにintを使わずdoubleで渡すと
震えるような意図しない動きになりました
形違いで発生した現象と思われます
|
Re: 3D11BackBufferTexture2Dの取得に関して ( No.51 ) |
- 名前:猫の湯飲み 日時:2023/02/28 23:28
管理人様->
1)No.30までは小刻みに震えなかったとのことですが、現在でも No.30 までのプログラムでは小刻みに揺れないでしょうか?
はい。震えませんでした。
2)>DXライブラリを使用したVR表示以外の、SteamVR のゲーム作品や体験作品などでは小刻みに揺れる現象は発生しませんでしょうか?
unityやUE5などで制作されたVR作品ということでしょうか?
複数作品で確認してみましたが小刻みに揺れる現象は発生しませんでした
以下確認に使用した作品
The Lab
Beat Saber
Primitier
Cooking Similator VR
Skyrim VR
3)PCのスペック
[システムの要約]
項目 値
OS 名 Microsoft Windows 11 Pro
バージョン 10.0.22621 ビルド 22621
システムの種類 x64-ベース PC
プロセッサ 12th Gen Intel(R) Core(TM) i7-12700KF、3600 Mhz、12 個のコア、20 個のロジカル プロセッサ
物理メモリ(RAM) 64.0 GB
[ディスプレイ]
項目 値
名前 NVIDIA GeForce RTX 3080
専用GPUメモリー 10.0 GB
共有GPUメモリー 31.9 GB
ドライバーのバージョン 31.0.15.2802
4)>ベースステーションが一つの場合は小刻みに揺れる現象が発生しない、ということはありますでしょうか?
ベースステーションが一つの場合でも二つの場合でも小刻みに揺れる現象が発生します。
|
Re: 3D11BackBufferTexture2Dの取得に関して ( No.52 ) |
- 名前:管理人 日時:2023/03/02 00:57
ご回答ありがとうございます
うーん私の環境では相変わらず揺れずです…
私の環境は以下の通りなのですが
OS 名 Microsoft Windows 10 Pro
バージョン 122H2 ビルド 19045.2604
システムの種類 x64-ベース PC
プロセッサ Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz 3.60 GHz 8コア 8スレッド
物理メモリ(RAM) 64.0 GB
名前 NVIDIA GeForce RTX 2080
専用GPUメモリー 8.0 GB
ドライバーのバージョン 516.94
Windows11 ではなく Windows10 なのが関係しているのか、GPUが 2080 なのが関係しているのか…
ベースステーションのバージョンも関係しているのかもしれませんが、
猫の湯飲みさんがお使いのベースステーションのバージョンは幾つでしょうか?
( 私はフルセットで購入したので 2.0 となっています )
> あっぷるさん
すみません見落としていました、ご情報ありがとうございます
今回テストしているプログラムでは GraphFilterBlt は使用していないので
本件では関係が無さそうです
|
Re: 3D11BackBufferTexture2Dの取得に関して ( No.53 ) |
- 名前:猫の湯飲み 日時:2023/03/02 23:32
>>猫の湯飲みさんがお使いのベースステーションのバージョンは幾つでしょうか?
2.0です
あと本件と関係があるか分かりませんが
stage = MV1LoadModel(".\\res\\mmd_batokin_island\\batokin_island5.x");
for( int i = 0; i < MV1GetMeshNum( stage ); i++ )
{
MV1SetMeshBackCulling( stage, i, DX_CULLING_RIGHT ) ;
}
SetUseRightHandClippingProcess( TRUE );
を設定した場合だと
SetCameraPositionAndTarget_UpVecY(VGet(0.0f, 500.0f, 100.0f), VGet(0.0f, 0.0f, 0.0f));
SetCameraScreenCenter(1280, 720);
MV1DrawModel(stage);
を実行しても正常にウィンドウ(PCモニター側)に正常に描画されないです(カメラから見て垂直になっている部分が欠けている感じです)
|
Re: 3D11BackBufferTexture2Dの取得に関して ( No.54 ) |
- 名前:管理人 日時:2023/03/03 01:45
ご返答ありがとうございます m(_ _)m
> >>猫の湯飲みさんがお使いのベースステーションのバージョンは幾つでしょうか?
> 2.0です
使用しているベースステーションのバージョンも同じでしたか…
2月13日に Dxlib_vr を頂いた後の変更を正しく施しているつもりですが、
猫の湯飲みさんのお手元の状態とは違うのかもしれません
何度も申し訳ありませんが、よろしければ現在の最新の Dxlib_vr を頂けないでしょうか m(_ _;m
> MV1DrawModel(stage);
> を実行しても正常にウィンドウ(PCモニター側)に正常に描画されないです(カメラから見て垂直になっている部分が欠けている感じです)
MV1SetMeshBackCulling で DX_CULLING_RIGHT に設定した場合は、DXライブラリの通常の
カメラ設定ではそのような見た目になってしまいます( 左手座標系用の射影行列を使用しているので )
VR用のレンダリングを行う際は SetupCamera_ProjectionMatrix で右手座標系用の射影行列を設定しているので
正常に描画されます
|
Re: 3D11BackBufferTexture2Dの取得に関して ( No.55 ) |
- 名前:管理人 日時:2023/03/05 12:10
Dxlib_vr の最新版のご提供ありがとうございます m(_ _)m
実行してみたところ、最新版でも小刻みに揺れる現象は確認できませんでした…
No.42 では『動画だと震えるような感じが伝わりにくい』とのことでしたが、
VR を使い慣れた人ではないと分からないほどの僅かな揺れなのでしょうか?
|
Re: 3D11BackBufferTexture2Dの取得に関して ( No.56 ) |
- 名前:猫の湯飲み 日時:2023/03/05 23:43
>VR を使い慣れた人ではないと分からないほどの僅かな揺れなのでしょうか?
HMDを動かしたときに(頭を左右に振る)その移動方向とは違う方向にも揺れている感じがする(steamで販売しているゲームと比較して)->止まってみて注視すると小刻みに揺れていると認識する感じです。
全体をぱっと見た感じだと気づきづらいかもしれません。
|
Re: 3D11BackBufferTexture2Dの取得に関して ( No.57 ) |
- 名前:猫の湯飲み 日時:2023/03/06 09:41
//メインウィンドウのカメラを設定する
void SetMainCamera(float nearClip, float farClip, VECTOR position, VECTOR target) {
MATRIX mat_projective;//射影行列のアドレス
DxLib::CreatePerspectiveFovMatrixRH(&mat_projective, DEFAULT_FOV, nearClip, farClip);// 射影行列を作成する
DxLib::SetupCamera_ProjectionMatrix(mat_projective);// 射影行列を直接設定する
MATRIX mat_view;// ビューマトリクス
VECTOR vec_up = VGet(0.0f, 1.0f, 0.0f);// カメラの上方向
DxLib::CreateLookAtMatrixRH(&mat_view, &position, &target, &vec_up);
DxLib::SetCameraViewMatrix(mat_view);//ビュー行列を直接設定する
}
while (DxLib::ScreenFlip() == 0 && DxLib::ProcessMessage() == 0 && DxLib::ClearDrawScreen() == 0)内にある
PutHMD((ID3D11Texture2D*)DxLib::GetGraphID3D11Texture2D(eyeRightScreen), vr::Eye_Right);
PutHMD((ID3D11Texture2D*)DxLib::GetGraphID3D11Texture2D(eyeLeftScreen), vr::Eye_Left);
の後に
DxLib::SetCameraScreenCenter(1280, 720);
SetMainCamera(0.1f, 15000.0f, VGet(0.0f, 50.0f, 100.0f), VGet(0.0f, 0.0f, 0.0f));
DxLib::MV1DrawModel(stage);
を実行してPC側に描画するようにしたところなぜか小刻みに揺れる現象が発生しなくなりました。
|
Re: 3D11BackBufferTexture2Dの取得に関して ( No.58 ) |
- 名前:管理人 日時:2023/03/07 01:03
> HMDを動かしたときに(頭を左右に振る)その移動方向とは違う方向にも揺れている感じがする(steamで販売しているゲームと比較して)->止まってみて注視すると小刻みに揺れていると認識する感じです。
> 全体をぱっと見た感じだと気づきづらいかもしれません。
ご返答ありがとうございます
頭を完全に静止させて改めて小刻みに揺れているか目を凝らしてみましたが、私には揺れは分かりませんでした…
VIVE pro 2 を何らかの方法で固定した状態で画面を見た場合( VIVE pro 2 をテーブルの上に置いて画面を覗き込むなどの場合 )でも
小刻みに揺れますでしょうか?
> while (DxLib::ScreenFlip() == 0 && DxLib::ProcessMessage() == 0 && DxLib::ClearDrawScreen() == 0)内にある
> PutHMD((ID3D11Texture2D*)DxLib::GetGraphID3D11Texture2D(eyeRightScreen), vr::Eye_Right);
> PutHMD((ID3D11Texture2D*)DxLib::GetGraphID3D11Texture2D(eyeLeftScreen), vr::Eye_Left);
> の後に
> DxLib::SetCameraScreenCenter(1280, 720);
> SetMainCamera(0.1f, 15000.0f, VGet(0.0f, 50.0f, 100.0f), VGet(0.0f, 0.0f, 0.0f));
> DxLib::MV1DrawModel(stage);
> を実行してPC側に描画するようにしたところなぜか小刻みに揺れる現象が発生しなくなりました。
私の環境ではこちらの変更を加える前も加えた後も小刻みに揺れる現象は確認できていないので違いは分かりませんでしたが、
現象が発生しなくなったとのことで何よりです
|
Re: 3D11BackBufferTexture2Dの取得に関して ( No.59 ) |
- 名前:猫の湯飲み 日時:2023/03/07 23:58
>VIVE pro 2 を何らかの方法で固定した状態で画面を見た場合( VIVE pro 2 をテーブルの上に置いて画面を覗き込むなどの場合 )でも
>小刻みに揺れますでしょうか?
小刻みに揺れます(PC側に描画するようにしていない場合)
ここから下は検証記録です-----------------
手持ちのVIVE Pro2を使用してビルドしたソフトウェア(PC側に描画するようにしていない場合)を友人のPCで試してもらったところ
僅かな揺れで、友人も揺れていないわけではないが言われるまで気にならないレベルということでした。
また私が開発で使用しているPC(No.51の構成)で実行したものを友人に試してもらったところ、先ほど(友人のPCで確認時)より揺れが気になるということでした。
--友人のPC構成--
OS 名 Microsoft Windows 11 Pro
バージョン 10.0.22621 ビルド 22621
システムの種類 x64-ベース PC
プロセッサ Core i9-13900K
物理メモリ(RAM) 32GB
NVIDIA GeForce RTX 4080 / 16GB
またPC側に描画するようにした場合でもDrawFormatStringやDrawGraphFで描画した際は小刻みに震えるようになりますが
MV1DrawModelでは小刻みに震えるようにならないです
|
Re: 3D11BackBufferTexture2Dの取得に関して ( No.60 ) |
- 名前:管理人 日時:2023/03/08 07:31
> また私が開発で使用しているPC(No.51の構成)で実行したものを友人に試してもらったところ、先ほど(友人のPCで確認時)より揺れが気になるということでした。
ビルドした環境によって揺れが異なるということでしょうか?
うーん謎ですね…
> またPC側に描画するようにした場合でもDrawFormatStringやDrawGraphFで描画した際は小刻みに震えるようになりますが
> MV1DrawModelでは小刻みに震えるようにならないです
MV1DrawModel で小刻みに震えなくなるとのことですが、描画するものは何でも良いのでしょうか?
例えばDXライブラリのパッケージの『サンプルプログラム実行用フォルダ』の中には
FilterTest.mqo という12ポリゴンの3Dモデルがあるのですが、こちらを MV1DrawModel で
描画した場合も小刻みに震えなくなりますでしょうか?
|
Re: 3D11BackBufferTexture2Dの取得に関して ( No.61 ) |
- 名前:猫の湯飲み 日時:2023/03/08 23:00
>MV1DrawModel で小刻みに震えなくなるとのことですが、描画するものは何でも良いのでしょうか?
>例えばDXライブラリのパッケージの『サンプルプログラム実行用フォルダ』の中には
>FilterTest.mqo という12ポリゴンの3Dモデルがあるのですが、こちらを MV1DrawModel で
>描画した場合も小刻みに震えなくなりますでしょうか?
どのような3Dモデルでも小刻みに震えなくなります。(FilterTest.mqoでも同様です)
|
Re: 3D11BackBufferTexture2Dの取得に関して ( No.62 ) |
- 名前:管理人 日時:2023/03/09 02:53
> どのような3Dモデルでも小刻みに震えなくなります。(FilterTest.mqoでも同様です)
お試しいただきありがとうございます
小刻みに揺れる件について原因を特定するのはかなり難しそうなので、FilterTest.mqo のような
描画しても負荷が殆どないモデルを描画することで小刻みに揺れる現象を抑えるということで
小刻みに揺れる件につては解決とできればと思うのですが、如何でしょうか?
|
Re: 3D11BackBufferTexture2Dの取得に関して ( No.63 ) |
- 名前:猫の湯飲み 日時:2023/03/09 23:58
了解しました
ここまでお付き合いいただき、誠にありがとうございました。
こちらでも原因を検証して分かり次第、ご連絡させていただきます。
|
Re: 3D11BackBufferTexture2Dの取得に関して ( No.64 ) |
- 名前:管理人 日時:2023/03/10 07:23
長い期間が掛かって完全な解決とならずすみません
( 再現用に実機まで用意してここまで難儀したのは初めてかもしれません… m(_ _;m ( VR機器手強い… ) )
私の方でも何か分かった際はこちらのスレッドでご連絡します
|