問題タブ [orthographic]

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

java - 正投影カメラを既存の Java ゲームに組み込む

これに沿った何かについて以前に投稿しました。これはフォローアップです。既存の Java ゲームを進行中です。約95%完成です。libGdx をインストールした場合、既存の Java コードを LibGDX の正投影カメラで使用して Android アプリを作成できますか? カメラを使用して画面のサイズを調整し、電話に収まるようにする予定です。私は spritebatch などのようなものを使用するつもりはありません。誰でも経験がありますか?

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

android - 正投影カメラで使用するカメラ ビューポートの幅と高さ

私はゲームプログラミングとLibgdxの初心者です。どのカメラ ビューポート サイズを使用すればよいか、本当に混乱しています。一部の記事では、ターゲット デバイスのサイズと同じ 480x800 を使用していることがわかりました。一部の記事では、使用メートルが 5x5 メートルであることがわかりました。

したがって、どの方法がどのように優れているか (いくつかの利点を提供できる場合)。カメラのビューポートにメートル単位を使用する場合、幅または高さのどちらが最初にマップされますか。

480x800 ピクセルのデバイスに 5x5 メートルを使用すると、世界の可視領域

高さ = 5 メートル = 480px および
幅 = 800/480 * 5 = 8.33 メートル
または
幅 = 5 メートル = 800px および
高さ = 480/800 * 5 = 3 メートル

目に見える世界のサイズの正しい計算で、どちらが最初に使用されるか、2番目に使用されますか。

ピクセルではなく、どこでもサイズにメートルを使用し始めると、私は混乱します。アクターのサイズが 1x1 メートルであるように、64x64 ピクセルしかありません。位置とサイズを見積もるのは本当に難しいです。

カメラとカメラユニットに関する良い記事をリンクしてください。

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

java - glOrtho パラメータは何に対応していますか?

glOrtho私は最近 LWJGL を使い始めましたが、メソッドがパラメーターを左、右、下、上に取り、これらが何に対応するかを理解できないことに気付きました。

気付いた時は戸惑いました

と同じでした

これらのコードのスニペットが同じであると言うのは正しいですか?もしそうなら、なぜですか?

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

3d - 3D 形状 libgdx の正投影

この簡単なチュートリアル
blog.xoppa.com/basic-3d-using-libgdx-2/を実装
していますが、パースペクティブ カメラを正投影カメラに置き換えようとしています。

ただし、カメラの位置がどのように機能するかを理解するのにいくつか問題があります

非常に小さな正方形が得られます。立場を変えれば。

正投影カメラは z を無視するはずなので、何も見えません。
基本的に必要なのは、3D 形状を作成し、それを 2 つの異なるビューで同時に表示することです。1 つはパースペクティブ カメラを使用し、もう 1 つは正投影カメラを使用します。

ありがとう!

ここに完全なコードがあります

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

delphi - FireMonkey で正投影行列を作成する

FireMonkey を使用して 3D シーンを作成していますが、これはうまく機能します。カメラをセットアップすると、下の画像では、3 つの引き伸ばされた立方体が 3 つの軸 (赤の X、緑の Y、青の Z) を示しています。

FireMonkey の通常の 3D 透視図

FireMonkey の通常の 3D パース ビューProjectionは ですpjCamera

ただし、これは遠近法による 3D シーンであり、代わりに正投影の 3D 投影、つまりオブジェクトが遠ざかってもサイズが縮小しない投影を希望します。(究極のアイデアは、これを使用して 3D アイソメ ビューを表示することです。) FireMonkey には、正射投影コードがないようです -pjCamera透視行列を使用するように変換されます。

透視 3D ビューはまったく必要ないので、透視行列法を代わりに正投影行列を作成する方法に置き換えることでこれに取り組みました。つまり、 (パースペクティブ マトリックスを取得する) は、パースペクティブ マトリックスを計算するTContext3D.GetProjectionMatrix呼び出しを行います。MatrixPerspectiveFovRH

代わりに、これをオルソ行列への呼び出しに置き換えています。

ここでzn= 1 and zf= 1000. FWidthはビューの幅 (ピクセル単位) (たとえば 320) とFHeight高さ (ピクセル単位) (たとえば 240) です。

これは、私が予想したよりもオブジェクトから離れていますが、 最初は問題ないように見えます。ここに画像の説明を入力

問題は、レンダリングされたイメージがカメラの位置によって変化しないように見えることです。ワールド ビュー マトリックスが同じように計算される (つまり、変更の影響を受けない) ことを確認しましたが、カメラを (0,0,0) に近づけると、可視オブジェクトがトリミングされますが、レンダリングされた画像自体は変更されません。たとえば、ここではカメラを (0,0,0) の非常に近くに移動しました。これは、同じカメラ位置の遠近法と正投影のレンダリングです。 ここに画像の説明を入力

正射投影の計算方法に明らかに何か問題がありますが、私にはわかりません。

  • オルソ計算で使用される幅と高さを変更すると、オブジェクトがより近くに移動するように見えることを知っています.幅と高さを小さくすると、オブジェクトが画面に近づきます.
  • オルソ マトリックスの設定は正しいと確信していますが、これは明らかに間違っています :)
  • 内部では DirectX を使用していますが、パースペクティブ マトリックスは右手系のマトリックスなので、オルソ マトリックスもそうあるべきです。

正射行列の設定方法についてはかなり読んだことがありますが、明らかに正しいことではありません。例えば:

  • 画面の幅と高さ、または他の何かwidthheight表現して表現します-たとえば、錐台? 私が読んだものは、それらが明白であると仮定して、これらが何であるかを説明していませんでした.
  • それらが何か他のものである場合、どこからそれらの値を抽出できますか? 計算できるようにすれば、透視行列からそれらを抽出できますか?

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

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

java - 2D ゲームでの LWJGL HUD

だから私はLWJGLを使ってJavaで2Dゲームをプログラミングしています。ゲームループにオルソ カメラを配置し、見たい位置に設定します。お金などを表示するために HUD を描画したい場合は、絶対座標を指定してマップの一部にし、HUD から離れてスクロールできるようにすることができます (これは HUD ではまったく意味がありません)。または、カメラの左下のベクトルに HUD ベクトルを追加することもできます。最後の解決策の問題は、カメラを動かした場合、HUD が完全に更新されず、実際の位置を追跡していることです。

私の質問は次のとおりです。2番目の「レイヤー」で画面に対して固定位置を設定する方法はありますか? gltranslate だけでカメラを動かしている人を見たことがありますが、今変更するのは大変かもしれないので、オルソ カメラはそのままにしておきたいと思います。

編集:

これは私のGraphicsloopがどのように見えるかであり、まだ正しく動作しません:

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

unity3d - Unity の画面解像度に基づいてカメラの PixelRect を調整する

Unityで簡単な2Dゲームを作っています。ゲームにはサブウィンドウがあります。サブウィンドウを作成するために、セカンダリ カメラを追加しました。サブウィンドウに画面の小さな部分を表示したいので、その PixelRect プロパティを調整しました。

これで、画面を拡大または縮小しても、サブウィンドウの比率は変わりません。ただし、画面のサイズに応じてサブウィンドウを拡大/縮小する必要があります。問題は、サブウィンドウに「境界線」があることです。境界線は画面に合わせて調整されますが、実際のカメラ ビューでは調整できないようです。

pixelRect プロパティを使用してカメラを境界線のサイズ/スケールと位置に調整するにはどうすればよいですか?

基本的に、画面サイズに関係なく、カメラビューが常に「境界」内に収まるようにします。

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

webgl - WebGL 正投影カメラ

誰かが次のコードで私を助けてくれますか:

完全なソースhttp://jsfiddle.net/bepa/2QXkp/

正投影カメラで立方体を表示しようとしていますが、黒しか見えません。立方体は (0, 0, 0)、カメラ (0, 0, -40) にあり、(0,0,0) を見る必要があります。

すべての行列変換には、gl-matrix 2.2.0 を使用します。

編集:

これはうまくいきます:

これは機能しません: