問題タブ [jpct]

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 に答える
1250 参照

java - 2D平面を3D立方体にストレッチ

私は、2Dゲームパネルと「疑似」-3Dパネルの両方を備えたJavaゲームに取り組んでいます。

これは、3D環境に配置された2D平面にすぎないため、実際の3Dではありません(カスタム作成されたモデルはありません)。

レンダリングエンジンとしてjPCTを使用しており、現在、壁をレンダリングすることを検討しています。

2Dビューでは、次のようになります。
ここに画像の説明を入力してください

3Dビューでは、次のように表示しようとしています。
ここに画像の説明を入力してください

これは、10個の平面を互いに積み重ねることで機能し、3D壁のような錯覚を与えます。

これを取得するためのコードは次のとおりです。

問題は、それをまっすぐに見ると、次のような効果が得られることです。
http://i.stack.imgur.com/s8hyX.png

これは、平面の数を増やしてそれらを近づけることで減らすことができますが、同じ効果を得るより効率的な方法を探しています。

2D画像を上部のテクスチャとして立方体をレンダリングし、ピクセルの最後の行を側面のテクスチャとして使用することを考えていました。たとえば、ベース画像から(0,0)と(0,39)で40x1の画像を抽出し、ストレッチします。これらは立方体の側面全体にあります(元の画像は40x40です)。

ただし、これらの画像の表示部分は40x40よりも小さいため(たとえば、上下の40x9ピクセルは水平壁に対して透明であるため)、これは完全には機能しません。したがって、エッジ検出を実行して、そこでカットを開始する必要があります。

同じことをしようとするより良い提案はありますか?

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

java - クラスパスの何が問題になっていますか?

jPCTでアプレットを作ろうとしています。jPCT を使用するには、jPCT jar をクラスパスに追加する必要があります。私はそれを持っていると思っていましたが、jPCT のクラスの 1 つについてまだクラスが見つからないという例外が発生しています。

私のコマンド:

私のHTML:

私は Apache を使用しており、jar ファイルがコード内の URL からダウンロードできることを確認しました。

正確なエラー メッセージ:

私は何を間違っていますか?

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

android - JPCT-AE AGLフォントクラスがAndroidエミュレーターでのみ機能するのはなぜですか?

私は現在、JPCT-AEフレームワークを使用してAndroid用の3Dゲームを構築しています。フォントを表示するためのクラスがまだないため、Android画面にテキストを表示するためのいわゆるAGLFontクラスを作成しました。このクラスのフォーラムへのリンクは次のとおりです。

http://www.jpct.net/forum2/index.php/topic,1563.0.html

このクラスはAndroidエミュレーターでうまく機能しますが、Androidスマートフォンで使用すると、テキストが表示されず、ゲームが中断しないようです。このクラスを2台のAndroidスマートフォン[DroidXとNexusS]で使用しようとしましたが、成功しませんでした。

物理的な電話を機能させるようにこのコードを構成する方法や、エミュレーターと実際の電話の違いがなぜあるのかを知っている人はいますか?

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

java - jpct ゲーム エンジンでキャッチされない例外が原因でスレッド メインが終了する

JPCTのデモを実行しようとしています。しかし、実行時エラーが発生しています。私のコードは以下です。

私のlogcatエラーは

助けてくれてありがとう

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

android - 複数のオブジェクトをロードするJPCT

私は現在 Android 用の JPCT を学習しています。いくつかのチュートリアルと例を読んだ後、誰もが次のようにシーンにオブジェクトとテクスチャを 1 つずつロードしていることに気付きました。

これにより、(Blender で作成した) 3ds ファイルが読み込まれ、テクスチャが適用されて、ワールドに配置されます。この 3ds ファイルに複数のオブジェクトがある場合、それらすべてにテクスチャが適用されます。わかりました、ここまでは問題ありません。

しかし、ゲームのシーンを作成するために同じファイルに何百ものオブジェクトがあり、それぞれが独自のテクスチャを持っているとしたらどうでしょうか?

それらとそのテクスチャを 1 つずつロードする必要がありますか?

これを自動化する方法はありますか?おそらく、テクスチャの関係を既に保持しているファイル形式か、そのようなものでしょうか?

どんな助けでも大歓迎です!

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

android - ロード後にガベージコレクションを延期することは可能ですか?

3Dモデル(1MB〜10MB)をメモリにロードしていますが、時間がかかります(1.5MBモデルの場合は20秒)。ログを見ると、ガベージコレクターが常にメモリを解放して一時停止していることがわかります。ログについては、以下を参照してください。

モデルがロードされるまでガベージコレクションを延期することは可能ですか?他のパフォーマンスのヒントも大歓迎です:)

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

android - GLSurfaceViewでのパフォーマンス

GLSurfaceViewでJPCT-AEを使用して、ライブ壁紙を作成しています。まず、レンダラーがサーフェス上に自由に描画できるようにしました(フレームレートを制限しようとはしませんでした)。明らかに、CPU使用率は90%になりました(ジンジャーブレッドでDefy +を使用-私の壁紙は、照明なしで最大200のポリゴンを含む単一の回転球をレンダリングしました)。

これで、サーフェス上でrenderModeを "RENDERMODE_WHEN_DIRTY"に設定し、ハンドラーによって投稿されたRunnableを使用して33ミリ秒ごとにフレームを描画するようにレンダリングを要求しました。

CPU使用率が1%〜10%に減少しました。これはすばらしいことですが、これが最善の方法かどうか疑問に思っています。

GLSurfaceViewのレンダリングパフォーマンスを改善するためのより良い方法はありますか?私が使用しているこの方法は技術的に正しいですか、それとも後で頭痛の種になりますか?

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

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

opengl - JPCT-3Dから2D(フラットパースペクティブ)

私はJPCTを使用して3Dモデリングソフトウェアを作成しています。プログラムの中心には、モデルの大きなビューがあります。モデルの各側面を詳細に表示するために、側面にxy、xz、およびyzビューがあります。

私が抱えている問題は、側面図の「パースペクティブ」を削除できないことです。「フラットトップダウン」ビューが必要です。(xyビューで)同じxy位置にある場合、遠くにあるポイントは、近いポイントよりも中心に近づいてはなりません。言い換えれば、「カメラを無限遠に置いてからズームインする」というのが私が望んでいることです。

BillBoard Matrixをいじってみましたが、成功しませんでした(これが正しいかどうかさえわかりません)。残念ながら、JPCTのドキュメント/例はまばらです。

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

android - jpct-ae、変形形状

コード形式 jpct wiki を使用して形状を表示しました。ブレンダーや同様のアプリを使用せずに、画面に触れたときにこの形状を変形させる方法はありますか? どうやってするの?

http://www.jpct.net/wiki/index.php/Hello_World

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

android - JPCT-aeとQCAR(vuforia)の統合

私が尋ねようとしていることは時々すでに議論されていることを知っていますが、それらすべてを調べた後、完全な答えが見つからないので、新しい質問をしています

JPCT-aeQCARと統合しようとすると、すべて期待どおりにうまくいき、jni の renderframe からモデルビュー マトリックスを取得し、それを Java で jpct モデルに正常に転送すると、期待どおりに完全に表示されます。しかし、この行列を JPCT ワールド カメラに渡そうとすると、モデルが消えてしまいます。

私のコード:onsurfacechanged:

そして ondraw で:

いくつかの調査の結果、QCAR は右手座標系を使用していることがわかりました。つまり、X の正が右に進み、Y の正が上に移動し、Z の正が画面から出てきますが、JPCT 座標系では、X の正が右に進み、Y の正が移動します。 Z プラスがスクリーンに入ります。

Qcar 座標系:

QCAR座標系

行列 QCar が与えているのは、3*3 の回転値と平行移動ベクトルを持つ 4*4 行列であることを知っています。

より明確にするために行列を投稿しています:

モデルビューマトリックス:

cam.setBack(modelviewmatrix.invert(modelviewmatrix)) を使用して反転した後の modelviewmatrix :

3*3 回転行列を想定して 13、14、および 15 の行列要素を削除すると、モデルは適切に回転しますが、移動 (画像の移動と移動) は最終的に存在しません。移動ベクトルの変更が必要かどうかはわかりません。ここで何が欠けているのか教えてください。