問題タブ [vizard]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
93 参照

python - Python 関数 (viztask.waitdraw)

この2つのコードがあります。最初のものは機能し、2 つ目は機能しません。すべての行にコメントを付け、次の行を導入するまでコードが機能することを確認しました。

2番目のものでは、下で宣言され"collision"ていても、最初の行であるさえ出力しません。viztask.waitDraw()

作業バージョン:

非稼働バージョン:

0 投票する
0 に答える
200 参照

python - 2 つのボックスの衝突:VIZARD:PYTHON

2 つのテーブルがある環境に配置されたボックスの衝突を使用しました。マウス カーソルを使用してオブジェクトをつかみ、別のテーブルに配置しました。しかし、オブジェクト間の衝突検出の場合、1 つの問題に直面しています。オブジェクトとマウスが互いに衝突したとき(最小距離)に近接センサーを使用し、マウスがそのオブジェクトを選択/リンクしました。私は衝突にも同じセンサーを使用しています.vizard btボックスのドキュメントに記載されているいくつかの物理的なアイデアは互いに衝突しますが、重力のためにそれらが飛んでいます. ドキュメントに記載されているとおりに密度を入力しますが、機能しません。次に、このロジックから移動して、別の方法を試すことにしました。1 つは boxex の衝突用、もう 1 つはボックスとマウスの間の 2 つの近接を形成しようとしましたが、ボックスが飛んでいます。同様の概念を、vizard によって定義されたクレートで使用しましたが、ブロック内では機能しません。この問題を解決するためのアイデアを教えてください。ここでは、3 つの機能を追加しています。1 つは手用、もう 1 つはマウスとブロックをリンクするため、および最後にブロックを配置するためのものです。環境では、私はすでにテーブルにも衝突パネルと衝突を使用しました。同じ近接センサーで作業しているときは機能しないため、衝突の場合はどの方法を使用する必要がありますか。すべてのオブジェクトは、ウィザードの原点に配置され、テーブルに配置するための位置を手動で設定します。環境では、私はすでにテーブルにも衝突パネルと衝突を使用しました。同じ近接センサーで作業しているときは機能しないため、衝突の場合はどの方法を使用する必要がありますか。すべてのオブジェクトは、ウィザードの原点に配置され、テーブルに配置するための位置を手動で設定します。環境では、私はすでにテーブルにも衝突パネルと衝突を使用しました。同じ近接センサーで作業しているときは機能しないため、衝突の場合はどの方法を使用する必要がありますか。すべてのオブジェクトは、ウィザードの原点に配置され、テーブルに配置するための位置を手動で設定します。

/ここで何か試してみましたが、うまくいきません。ここでは、ボックスの衝突に近接センサーを使用しています。xb11,yb11,zb11=b[0].getPosition() ####### 近接位置 1 print xb11,yb11,zb11

/ブロックのコード ブロックと同じように衝突を置きます 平面とテーブルを置きますが、地面を使用すると重力がオブジェクトを/下に引っ張りますので、テーブルとの衝突を使用してブロックを/テーブルに置きます

/BLOCK 1---------- 表 1 グローバル Block0

/BLOCK 2--------- 表 1

/ブロック 3--------- 表

/ブロック 1----------テーブル 2

/BLOCK 2----------TABLE2 グローバル Block11
Block11=viz.addChild('b7.osgb') Block11.setPosition(-7.5,1.15,5) Block11.setEuler(90,0,0) Block11 .setScale(.3,.01,.3) b2.append(Block11)

/BLOCK 3----------TABLE3
グローバル Block22 Block22=viz.addChild('b9.osgb') Block22.setPosition(-7.5,1.1,6) Block22.setEuler(90,0,0) Block22 .setScale(.3,.01,.3) b2.append(Block22) #

0 投票する
0 に答える
419 参照

python - Oculus rift Vizard を使用したカメラの回転の問題

Vizard 5 を使用して、Oculus リフトでシミュレーションを作成しようとしています。オクルスもメインビューに接続されている間、マウスをメインビューメソッドにリンクすることはできません。つまり、マウスでカメラとオクルスを同時に動かしたいのです。どんな助けでも大歓迎です。

これまでのコードは次のとおりです。

0 投票する
0 に答える
20 参照

object - オブジェクトが Vizard のビューポートの外にあるかどうかを検出するにはどうすればよいですか?

オブジェクトがビューポートの外にある場合、オブジェクトを検出する際に正しい方向に向けてください。ビューポートを固定し、オブジェクトを 3D 空間内で移動させたいのですが、オブジェクトがビューポートの外にある場合はオブジェクトをリセットする必要があります。

0 投票する
1 に答える
8293 参照

python - 四元数等価への回転行列

ローカル座標系を定義するために使用する剛体上の 3 点 (3D、xyz) を追跡しています。このローカル座標系の方向 (参照のグローバル フレーム内) を使用して、VR プログラムでビューの方向を設定しています。これを行い、オイラー角によるジンバルロックを回避するために、四元数を使用してビューの向きを設定しようとしています。

3 点から回転行列を作成し、ウィキペディアに記載されているこの方法を使用して、想定される同等の四元数を抽出します。次に、ビューの向きを計算された四元数に設定するだけです。

ただし、ヨーとロールの変化も同時に確認できるはずなのに、主に 1 つの自由度 (ピッチ) しかないことがわかります。回転行列からオイラー角を抽出しましたが、ジンバルロック以外ではうまく機能します。したがって、私の場合は不適切ですが、回転行列が使用できると確信しています。

私の質問は、想定される同等の四元数が「ピッチ」の自由度のみを変更するように見えるのはなぜですか?

クォータニオンが 1 軸を中心とした回転であることは承知していますが、回転行列から派生した場合、最終結果はオイラー角を設定した場合と同じになると思いましたか?

Pythonでの私のコードは次のとおりです。

どんな助けやアイデアも素晴らしいでしょう!

0 投票する
2 に答える
434 参照

python - Pythonは.exeの横にフォルダーを作成します

Vizard を使用して、Python スクリプトから .exe ファイルを作成しています。.exe ファイルの隣にあるフォルダーを作成するには、このスクリプトが必要です

IDE から実行すると正常に動作しますが、exe ファイルでは、Windows/Users/Temp/randomfoldername の Appdata フォルダーにデータがスローされます。

また、exeにパックされている場合でも、常にアプリケーションはスクリプトです。

誰かがここで私を正しい方向に向けることができますか? 前もって感謝します

0 投票する
2 に答える
319 参照

python - Python でリストからさまざまなタイミングでアクションをスケジュールする方法

Python を使用して Vizard でアクション (ビープ音) をスケジュールしようとしています。ただし、試用開始から特定のタイミングでビープ音を鳴らしたい。

私がこれまでに持っているものは、(たとえば、一度実行した後) 回のリストを提供します: [ 1.89229142 5.2610474 9.86058804 11.43137033 13.87078666] そして、さまざまな間隔で音を再生し、上記の要素を出力しますタイミングリスト。これらの要素を再生する秒/タイミングとして実際に使用していないだけです。

私の質問は、これらが単なる数字ではなく、関数/試行の開始からのタイミングであることをPythonにどのように知らせるのですか? おそらくどこかで time.time() を使用することになっていますが、そこに到達する方法のロジックがわかりません。

彼の答えへのコメントでの jacantebury の提案に基づいて編集します。これは作業コードを閉じます。ジャカンタベリーが示唆するように、タイミングの不一致はフレームレートに関連していると思います。

これで ('hello world', '- now: ', 1.7820000648498535) ('hello world', '- now: ', 3.133000135421753) ('hello world', '- now: ', 4.5350000858306885) ('hello world', '- now: ', 3.133000135421753) ', '- now: ', 11.040000200271606) ('hello world', '- now: ', 18.897000074386597) これは私のリスト要素 (つまり、タイミング、および私が最初に望んでいたもの) に非常に近いものです。