問題タブ [java-3d]
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.
java - Java3DでBufferedImageにレンダリングする
BufferedImage
Java3Dでにレンダリングする簡単な方法はありますか?
拡張Canvas3D
できることは知っていますが、直接レンダリングしたいだけでは面倒なようです。
java - Java 3Dでオブジェクトを回転させる方法は?
次のコードを使用して Java 3D で描いた円錐があります。
円錐が点 (1,1,1) にあり、円錐の先端が (0,0,0) と (1,1,1) を通る仮想線を下に向けるようにしたいとします...どのように私はこれを行うことができますか?
これが私が試してきたことの例です:
すべての助けを前もってありがとう!
java - オフスクリーン レンダリング Canvas3D が機能しないのはなぜですか?
Java3D 1.5.2を使用して、オフスクリーンレンダリングを機能させようとしています。私のソース コードCanvas3D
では、オフスクリーン レンダリングを行う拡張を にアタッチしようとしましたSimpleUniverse
が、そうするとレンダリングが中断されます。
完全なソース コードは、StackOverflow に貼り付けるには少し大きすぎるため、ここのPasteie から入手できるようにしました。
63 行目はコメント アウトされており、通常の Canvas3D が画面上でレンダリングを行います。立方体をレンダリングし、これをJFrame
. ただし、コメントを削除すると、オフスクリーン レンダリングにより、オンスクリーン レンダリングがレンダリングされなくなります。また、オフスクリーン レンダリングは "big black nothing" を返しますBufferedImage
。
オフスクリーン レンダリングを機能させる方法、つまり、回転した立方体のシーンをバッファ イメージにレンダリングする方法を知りたいです。Java3D が提供するオフスクリーン レンダリング用のサンプル コードを見てきましたが、これも同じように実行されます (Raster
オブジェクトを使用してオフスクリーン バッファをオンスクリーン ウィンドウにレンダリングすることを除いて)。
java - Java3D でビュー プラットフォームにオブジェクトをアタッチする
私の Java3D アプリケーションでは、移動可能な表示プラットフォーム (たとえば、"OrbitBehavior" および "KeyNavigatorBehavior" ビヘイビアのおかげ) があるので、視点をシーンに変更できます。ここで、ビュー上に「静的」なオブジェクトを追加したいと思います。つまり、ビューを移動すると常に同じように表示されます (たとえば、FPS でのプレイヤーの銃のように)。これまでに、この問題に対して次の 2 つのアプローチを試みましたが、いずれも機能しませんでした。
1/オブジェクトを ViewingPlatform に直接アタッチします (専用の BranchGroup と TransformGroup を介して)。この場合、私のオブジェクトは単に表示されません (実際にそのような操作を実行することが許可されているかどうかはまったくわかりません...)。これは私のコードのこの部分です:
コード : ( view
ViewingPlatform を使用)
2/オブジェクトに同じ変換を適用します(回転+変換; getViewPlatformTransform()のgetTransform()を介して取得-ここでは、これらの変換とビューPFとオブジェクトの初期位置の間の操作で、より複雑なことも試しました)プラットフォームの表示と同じ. 専用の動作 (ビューの場所を変更する動作と同じウェイクアップ条件) を使用して、これらすべてをリアルタイムで行います。ここで、ビューを移動するとオブジェクトが消え、KeyNavigator のズーム/ズーム解除アクションを使用すると (ただし非常に不安定な方法で) 再び表示されることがあります。
私がやろうとしていることは実行可能であり、おそらく非常に単純であると確信していますが、今は手がかりがありません...
よろしくお願いいたします。
(追伸: 英語は私の母国語ではないので、私の問題を説明するのは非常に厄介かもしれません: 理解できない部分をもう一度書くように頼むことを躊躇しないでください)
java - Java3d の新しいシーンへのリセット
私はJava3Dでゲームに取り組んでいます。ファイルからすべてのレベル情報を読み取ったところ、正常に動作しました。しかし今、別のファイルからデータを読み取ってシーンを再初期化したいと考えています。
シーンをリセットするにはどうすればよいですか?
canvas3D オブジェクトとユニバース オブジェクト全体を破棄する必要がありますか?
java - Java3dアプリケーションでのGL_VERSIONエラーのデバッグを支援する
レンダリングにjava3dを使用してJavaで記述された3D地球儀アプリケーションに取り組んでいます。基本的に、開発スナップショットからプログラムファイルディレクトリにファイルをコピーするWindowsインストーラーがあります。develスナップショットからは正常に実行されますが、インストール後に実行すると、次のようになります。
開発ディレクトリ内のすべてのライブラリとjarを比較しましたが、ファイルはすべてまったく同じであり、欠落しているものはありません。それは最も奇妙なことです。グラフィックドライバを更新しました(ただし、開発スナップショットから問題なく実行されるため、明らかに十分です)。Canvas3Dを作成し、それにColorCubeを追加できる単純なjava3dアプリを作成しました。正常に動作します。Ps私たちの開発スナップショットには、すべてのdll、jar、および実行元のjreが含まれています。すべてのライブラリとjvmのバージョンをログに記録しますが、これらはdevelスナップショットとインストールされたアプリケーションから生成されたログでまったく同じです。java.exe(.. \ jre \ bin \ java.exe)への明示的なパスを使用して実行するため、PATH変数は機能しません。
これをデバッグするためのアイデアを探しています。すべてのGL属性、特にGL_VERSIONを出力する単純なJavaアプリを作成して、2つのセットアップ間の定量化可能な違いを示したいと思います。java3dのドキュメントはそれをカバーしておらず、GL_VERSIONの問題をインターネットで検索するたびに、ドライバーを更新するように指示されています。
ああ、私はNvidia QuadroFX3800カードを持っています。実は2つ。
要約すると...
Q1:java3dアプリケーションのGL_VERSIONをどのように出力しますか?
Q2:一体何が起こっているのですか?
macos - Java3d + osx + netbeans
私はsolarisで開発されたjava3dプロジェクトを持っていますが、さまざまな理由でMacbookに移行しようとしています(1つはsolarisマシンが非常に遅いことです)。
基本的に私が欲しいのは、このプロジェクトにosx + netbeansを使用することですが、mac1.6JDKの古いバージョンのjava3dに含まれていないjava3dメソッドを参照しているようです。この問題を解決するための最初の試みは、プロジェクトの外部jarとしてjava3d 1.5.2ライブラリを含めることでしたが、netbeansは1.5.2j3dライブラリではなく1.6JDKの古いライブラリを参照しようとしているようです。
また、netbeansファイルエクスプローラー内で1.5.2 jarを探索すると、メソッド(1.6 jdkに含まれていない)がそれぞれのクラスの下に表示されません。ただし、solarisで同じことを行うと、メソッドが表示されます。つまり、基本的に、私が含めようとしているjarには、実際に必要なメソッド/クラスが含まれていることを知っています。netbeansはそれらを見つけられません
不明な点がある場合は、明確にするように依頼してください。これを書いているだけで混乱しました。
助けてくれてありがとう!
java - Java JMonkeyEngine では、public GameSettings getNewSettings()? 記入方法を教えてください。
BaseGame を FixedFrameRateGame に変更しようとしていますが、公開の GameSettings getNewSettings() メソッドが必要だと言っています。今、私はこのように記入してみました:
実行しようとすると nullpointerexception が発生します。
java - Java3D PickMouseBehavior 内でのクリックを無効にする
私を実行するとき
実行されるコードには少し時間がかかり、ユーザーはコードの実行が完了する前に java3D オブジェクトをクリックすることができ、RotationInterpolator が追いつくことができません。これはボタンが更新するものであるため、RotationInterpolator のアルファを変更することはできません。ピックする機能を無効にする方法を探して、試しました
しかし、これによりスレッド全体がスリープ状態になるため、アニメーションが停止し、PickMouseBehavior Java Doc で可能性のあるメソッドを見つけることができません
私が今見ている唯一の解決策は、コード化されたものの長さを選択するユーザーの機能を無効にすることです
どうもありがとう^_^