問題タブ [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.
java - 正投影カメラを既存の Java ゲームに組み込む
これに沿った何かについて以前に投稿しました。これはフォローアップです。既存の Java ゲームを進行中です。約95%完成です。libGdx をインストールした場合、既存の Java コードを LibGDX の正投影カメラで使用して Android アプリを作成できますか? カメラを使用して画面のサイズを調整し、電話に収まるようにする予定です。私は spritebatch などのようなものを使用するつもりはありません。誰でも経験がありますか?
android - 正投影カメラで使用するカメラ ビューポートの幅と高さ
私はゲームプログラミングとLibgdxの初心者です。どのカメラ ビューポート サイズを使用すればよいか、本当に混乱しています。一部の記事では、ターゲット デバイスのサイズと同じ 480x800 を使用していることがわかりました。一部の記事では、使用メートルが 5x5 メートルであることがわかりました。
したがって、どの方法がどのように優れているか (いくつかの利点を提供できる場合)。カメラのビューポートにメートル単位を使用する場合、幅または高さのどちらが最初にマップされますか。
480x800 ピクセルのデバイスに 5x5 メートルを使用すると、世界の可視領域
高さ = 5 メートル = 480px および
幅 = 800/480 * 5 = 8.33 メートル
または
幅 = 5 メートル = 800px および
高さ = 480/800 * 5 = 3 メートル
目に見える世界のサイズの正しい計算で、どちらが最初に使用されるか、2番目に使用されますか。
ピクセルではなく、どこでもサイズにメートルを使用し始めると、私は混乱します。アクターのサイズが 1x1 メートルであるように、64x64 ピクセルしかありません。位置とサイズを見積もるのは本当に難しいです。
カメラとカメラユニットに関する良い記事をリンクしてください。
java - glOrtho パラメータは何に対応していますか?
glOrtho
私は最近 LWJGL を使い始めましたが、メソッドがパラメーターを左、右、下、上に取り、これらが何に対応するかを理解できないことに気付きました。
気付いた時は戸惑いました
と同じでした
これらのコードのスニペットが同じであると言うのは正しいですか?もしそうなら、なぜですか?
3d - 3D 形状 libgdx の正投影
この簡単なチュートリアル
blog.xoppa.com/basic-3d-using-libgdx-2/を実装
していますが、パースペクティブ カメラを正投影カメラに置き換えようとしています。
ただし、カメラの位置がどのように機能するかを理解するのにいくつか問題があります
。
非常に小さな正方形が得られます。立場を変えれば。
正投影カメラは z を無視するはずなので、何も見えません。
基本的に必要なのは、3D 形状を作成し、それを 2 つの異なるビューで同時に表示することです。1 つはパースペクティブ カメラを使用し、もう 1 つは正投影カメラを使用します。
ありがとう!
ここに完全なコードがあります
delphi - FireMonkey で正投影行列を作成する
FireMonkey を使用して 3D シーンを作成していますが、これはうまく機能します。カメラをセットアップすると、下の画像では、3 つの引き伸ばされた立方体が 3 つの軸 (赤の X、緑の Y、青の Z) を示しています。
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 を使用していますが、パースペクティブ マトリックスは右手系のマトリックスなので、オルソ マトリックスもそうあるべきです。
正射行列の設定方法についてはかなり読んだことがありますが、明らかに正しいことではありません。例えば:
- 画面の幅と高さ、または他の何か
width
をheight
表現して表現します-たとえば、錐台? 私が読んだものは、それらが明白であると仮定して、これらが何であるかを説明していませんでした. - それらが何か他のものである場合、どこからそれらの値を抽出できますか? 計算できるようにすれば、透視行列からそれらを抽出できますか?
ご協力ありがとうございました。
java - 2D ゲームでの LWJGL HUD
だから私はLWJGLを使ってJavaで2Dゲームをプログラミングしています。ゲームループにオルソ カメラを配置し、見たい位置に設定します。お金などを表示するために HUD を描画したい場合は、絶対座標を指定してマップの一部にし、HUD から離れてスクロールできるようにすることができます (これは HUD ではまったく意味がありません)。または、カメラの左下のベクトルに HUD ベクトルを追加することもできます。最後の解決策の問題は、カメラを動かした場合、HUD が完全に更新されず、実際の位置を追跡していることです。
私の質問は次のとおりです。2番目の「レイヤー」で画面に対して固定位置を設定する方法はありますか? gltranslate だけでカメラを動かしている人を見たことがありますが、今変更するのは大変かもしれないので、オルソ カメラはそのままにしておきたいと思います。
編集:
これは私のGraphicsloopがどのように見えるかであり、まだ正しく動作しません:
unity3d - Unity の画面解像度に基づいてカメラの PixelRect を調整する
Unityで簡単な2Dゲームを作っています。ゲームにはサブウィンドウがあります。サブウィンドウを作成するために、セカンダリ カメラを追加しました。サブウィンドウに画面の小さな部分を表示したいので、その PixelRect プロパティを調整しました。
これで、画面を拡大または縮小しても、サブウィンドウの比率は変わりません。ただし、画面のサイズに応じてサブウィンドウを拡大/縮小する必要があります。問題は、サブウィンドウに「境界線」があることです。境界線は画面に合わせて調整されますが、実際のカメラ ビューでは調整できないようです。
pixelRect プロパティを使用してカメラを境界線のサイズ/スケールと位置に調整するにはどうすればよいですか?
基本的に、画面サイズに関係なく、カメラビューが常に「境界」内に収まるようにします。
webgl - WebGL 正投影カメラ
誰かが次のコードで私を助けてくれますか:
完全なソースhttp://jsfiddle.net/bepa/2QXkp/
正投影カメラで立方体を表示しようとしていますが、黒しか見えません。立方体は (0, 0, 0)、カメラ (0, 0, -40) にあり、(0,0,0) を見る必要があります。
すべての行列変換には、gl-matrix 2.2.0 を使用します。
編集:
これはうまくいきます:
これは機能しません: