問題タブ [physx]

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 投票する
2 に答える
663 参照

windows-runtime - Windows ランタイム アプリケーションで PhysX ライブラリにリンクしようとしています

次のコードが追加された、デフォルトの空白の Windows ストア アプリケーションがあります。

Linker->Input->Additional Dependencies 設定に次のものがあります。

インクルードディレクトリを追加しました:MyPhysXPath\Include

ライブラリは次のディレクトリにあります。MyPhysXPath\Lib\win8arm

そのパスを「ライブラリ ディレクトリ」設定に追加すると、PxDefaultErrorCallback で LNK2019 エラーが発生します。

そのパスを「Libraries WinRT Directories」設定に追加すると、PhysX3CHECKED_arm.lib で LNK1104 エラーが発生します。

そのパスを両方の設定に追加すると、LNK2019 エラーが発生します。

win32 ライブラリにリンクしてプロジェクトをビルドするのは簡単ですが、実行されません。

私の質問は次のとおりです。

  1. Windows 8 PC メトロ アプリケーションの x86 バージョンではなく、winRT バージョンの PhysX SDK にリンクする必要があるというのは正しいですか?
  2. それが正しいと仮定すると、WinRT ライブラリにリンクする適切な方法は何ですか?

ありがとう!

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

c++ - PhysX - GPU を使用すると、simulate() が終了しない

私はまだ流体をシミュレートするための物理システムに取り組んでいます。PhysX 3.3.0 を使用してより客観的になるようにアプリケーションを書き直しましたが、1、2 週間ほど解決できない問題があります。

これは私の PhysX Context の開始です。

および physX シーンの開始が、空のシーンでも問題が発生します。

#ifdef PX_WINDOWS 内のコードがコメント化されている場合、すべて正常に動作します。流体は正常に流れます。しかし、GPU を使用しようとすると、最初の fetchResult() 呼び出しでアプリケーションがフリーズします (simulate() メソッドがそのジョブを終了しません)。エラーログはありません。フリーズするだけです。DEBUG か RELEASE か、ビルドが 32 か 64 かに関係なく発生します。

GeForce 560Ti を持っています。私は Physx SDK 3.3.0 を使用しています。リンクします(たとえば、win64デバッグビルドで)vs:

opengl32.lib glew32.lib glfw3.lib PhysX3DEBUG_x64.lib PhysX3CommonDEBUG_x64.lib PxTaskDEBUG.lib PhysX3ExtensionsDEBUG.lib PhysXProfileSDKDEBUG.lib

使用:

nvToolsExt64_1.dll PhysX3XHECKED_x64.dll PhysX3CommonCHECKED_x64.dll PhysX3GpuCHECKED_x64.dll PhysX3GpuDEBUG_x64.dll

さまざまなバージョンの .libs を使用して、アプリケーションが必要とする .dlls を追加しようとしましたが、すべてのセットが fetchResult() でフリーズしてしまいました。

間違いを探す場所がわかりません。すべてがうまく見えます。どんな助けにも感謝します!

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

.net - Actors/ShapeDesc PhysX.net にテクスチャを追加するにはどうすればよいですか

PhysX.net で Actors/ShapeDesc にテクスチャを追加するにはどうすればよいですか?

XNA と PhysX.NET を使用しています。

シーンがあり、すべてがセットアップされ、すべてが機能していますが、私のゲーム エンジンはワイヤフレーム モードでは見栄えがよくありません。

ありがとうございました!

Draw()方法:

そして.. Int32ToColor():

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

physics - PhysX - PxRigidDynamic アクターが他のアクターをすり抜ける (CCD 有効)

ここが PhysX について質問するのに最適な場所ではないことは承知していますが、公式の PhysX フォーラムや gamedev.net で試してみましたが、数週間応答がありませんでした。どこに助けを求めたらよいかわからない。多分誰かがここにアイデアを持っています。

私の問題は次のとおりです。

PxRigidDynamic アクターが他のアクターと交差しますが、その理由がわかりません。それらの間にはまだ衝突がありますが、リジッド ダイナミクスはそれらをわずかにクリップし、「押し戻され」ます。これは、ゲーム内/PVD 内のビデオです。

http://youtu.be/X0oyDtCTsuQ

ボックスは PxRigidDynamic アクターです。プレーヤーは PxCapsuleController です。他のすべてのアクターは PxRigidStatic です。

CCD を無効にしても有効にしても、違いはないようです。(とにかくCCDは高速オブジェクトにのみ影響するはずなので、それが原因だとは思いません)

コントローラーと静的アクタの間の衝突は問題ないので、リジッド ダイナミックが異なる動作をする理由がわかりません。

PhysX-3.3.0_Beta-2 を使用しています (16402319)

0 投票する
3 に答える
1034 参照

c++ - Time Step in PhysX

I'm trying to define a time step for the physics simulation in a PhysX application, such that the physics will run at the same speed on all machines. I wish for the physics to update at 60FPS, so each update should have a delta time of 1/60th of a second.

My application must use GLUT. Currently, my loop is set up as follows.

Idle Function:

The frame rate does not really matter in this case - it's only the speed at which my physics update that actually matters.

My render function contains the following:

Where:

However, this results in some very slow updates, due to the fact that deltaTime appears to equal 0 on most loops (which shouldn't actually be possible...) I've tried moving my deltaTime calculations to the bottom of my rendering function, as I thought that maybe the idle callback was called too often, but this did not solve the issue. Any ideas what I'm doing wrong here?

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

linux - Nvidia の PhysX 3.3 を Linux でリンクするにはどうすればよいですか?

それで、Qt Creator で HelloWorldRender スニペットからコードをコンパイルしようとしています。私ができるようにしたいのは、デバッガーでコードをステップスルーして、それをいじって、その使用方法を理解できるようにすることです。

ただし、問題は、プロジェクトをビルドしようとすると大量のリンカー エラーが発生することです (最大エラー カウントが 1400 を超えています)。原因は、指定されているライブラリの順序によるものであるとほぼ確信しています。

重要なポイント

  • QMake に不慣れな方へ: これをコンパイルするために GCC が使用されていることに注意してください。QMake で指定されたリンカーの順序は、GCC と 1 対 1 です。

  • さまざまなリンク順序を試してみましたが、リスト内で特定のライブラリを繰り返すことさえ含むものもありました...エラーカウントを下げることができた最も近いものは約150です.

  • 特に SD​​K の一部ではない、HelloWorldSnippet ( libRenderSnippetCHECKED.a) に必要な 1 つのライブラリは、問題なくコンパイルされており、ライブラリ リストでリンクするように指定されています。

  • このプロジェクト情報 (リンクするライブラリ、定義するライブラリ) の多くは、このスニペットの Makefile を精査し、(明らかに) 自動生成されたコードの行を解読することから得られたものです。

  • 人気のある API のように見えるにもかかわらず、PhysX のドキュメントは...まばらです。これを Linux 環境で実行する方法を実際に説明しているものをまだ見つけていません (公平を期すために、このリリースは約 2 か月前です)。

  • 使用しているディストリビューションは Ubuntu 13.10 です。Optimus セットアップを使用して、x86_64 アーキテクチャでコンパイルします。

プロジェクト ファイルに加えて、便宜上、変更されていない HelloWorld ファイルを含めました。

.pro ファイル


SnippetHelloWorld.cpp


SnippetHelloWorldRender.cpp


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

game-engine - PhysX - コントローラーをキネマティック アクターに貼り付ける

デフォルトでは、PhysX のキネマティック アクターは単にコントローラーを押しのけるか、無視します。

http://youtu.be/2bJDOjFIrRI

これは明らかに、エレベーターやエスカレーターなどにとって望ましい動作ではありません。プレーヤーが落ちないように、コントローラーをプラットフォームに実際に「貼り付ける」方法がわかりません。

シミュレーション ステップごとにコントローラーを移動するときに、プラットフォームのキネマティック ターゲット オフセットを変位ベクトルに追加しようとしましたが、キネマティック アクターからの「プッシュ」を妨げず、あまり正確でもありませんでした。

これは通常どのように達成されますか?ドキュメントには、移動プラットフォームに障害物を使用することが記載されていますが、この場合にそれがどのように役立つかわかりません.

私は PhysX 3.3.0 を使用しています。