問題タブ [skybox]

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

unity3d - Unity3d 3d スカイボックスが正しくない

私はそれを学ぶためにunity3dをいじっています。
たとえば、ソース エンジンのような独自の 3D スカイボックスを作成する際にクラックがありました。標準の一人称コントローラーを使用しています。
スカイボックス用に同じ FOV を持つ別のカメラを作成し、スカイボックス カメラに配置した以下のスクリプトを使用して、一人称コントローラーのカメラにスレーブ化しました。
(Maincam フィールドには、1 人称コントローラーのカメラ コンポーネントがあります)

ここで結果を見ることができます。ちょっと面白い。(背景の大きな四面体の形は私のスカイボックスにあります。それ以外はすべて正常です)
私が理解している限り、カメラの視野が同じである限り、私のスカイボックスのサイズは関係ありません。
問題だと思いますが、多分ラグがありますか?上記のコードの Update のように、呼び出されるのが 1 フレーム遅すぎますか? 一人称コントローラーのマウスルックスクリプトからその更新を呼び出してみましたが、大量のエラーが発生するだけでなく、結果は同じでした。

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

html - 3D ライブラリを使用しない Skybox のレンダリング

だから...私はこれらのhttp://www.humus.name/index.php?page=Texturesのような6枚の写真のセットをいくつか持っており、基本的には次のようなhtml5キャンバスにそれらをレンダリングしたい: http:// www.allforthecode.co.uk/aftc/forum/user/modules/forum/article.php?index=5&subindex=4&aid=303 しかし、webgl や three.js などの 3d ライブラリは使用したくありません。必要な 3d 関連の機能はこれだけであり、全体をできるだけ軽量にしたいからです。「まぁ、ただの回転する立方体だから、そんなに難しくないぞ!」と思いました。違う。私の最初の計画は、カメラの位置を固定したままにし、次に各頂点の x および y オフセット (ラジアン単位) を追跡し、それらをキャンバスに投影し、それに応じてコンテキストを変形して立方体の各面をレンダリングすることでした。 . そのアプローチはうまくいかないようです.だから...誰かが私に疑似コードアルゴリズムを与えることができますか?

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

opengl - `glDrawElements` で描画されたキューブの SkyBox テクスチャ マッピング

この投稿から学んだように、glDrawElements関数を使用して頂点の膨大なリストで指定された三角形で構成されるものを描画する代わりに、関数を使用して立方体を描画しましたglDrawArrays(GL_TRIANGLES, 0, 6)

関数を使用して 2 つの三角形にテクスチャを適用glDrawArraysし、テクスチャ付きの正方形を作成することに成功しましたが、新しい方法で同じ方法を試してみると、glDrawElementsうまくいかないようです...

これは、現時点で立方体を描く方法です(これには、テクスチャリングの試みが含まれます)。

そして、私はそれをどのようにレンダリングするか:

私は一晩中それを見つめていたので、本当にばかげた何かを見落としているかもしれませんが、どこが間違っているのかわかりません...

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

java - Libgdx は 3D で空/環境を作成します

Libgx 3D API を使用して 3D ゲームを開発しています。ここで、空や背景などの環境 ( LibgdxEnvironmentではなく、実際の環境) を追加したいと考えています。いわゆる話を聞いたことがありますskybox、そして、多かれ少なかれ、それがどのように機能するかを理解しました。この「スカイボックス」は、ゲームワールドを囲むボックスです。だから、あなたはこの箱の中にいます。このボックスの内側にある 6 つの面すべてにテクスチャを追加します。次に、カメラをこのボックスの中心に設定しますが、正しいビュー方向で、レンダリングを開始します。これにより、面までの距離は常に同じになりますが、他の面を見て周りを回転させることができます。次に、世界の実際の場所にカメラを設定し、すべてのモデル、オブジェクトなどをレンダリングします。私はそれを正しく理解しましたか?libgdx でそれを行う方法に関するチュートリアルが見つかりませんでした。私の質問は次のとおりです: libgdx で「スカイボックス」を作成するにはどうすればよいですか?それにテクスチャを追加するにはどうすればよいですか?背景/環境としてレンダリングするにはどうすればよいですか? それとも、他にもっと簡単な可能性がありますか?

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

opengl - Skybox がレンダリングされない

シーンでスカイボックスをレンダリングしようとしましたが、テクスチャが正しく読み込まれていないように黒くレンダリングされます。FreeImage ライブラリを使用してテクスチャをロードします。

これが私のSkyboxクラスです:

頂点シェーダー:

およびフラグメント シェーダー:

残念ながら render() メソッドは黒い四角形しかレンダリングしません。フラグメント シェーダーで別の色をハードコーディングするか、頂点シェーダーで頂点座標をハードコーディングすると、四角形の色と配置が変更されます。シェーダーと vao ヘルパー クラスを使用してパーティクルをレンダリングするので、おそらく問題はなく、テクスチャの読み込みに問題があります。

最終的な効果は次のようになります。

ここに画像の説明を入力

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

opengl - テクスチャに基づくスカイボックス反射

法線を含むテクスチャがあります。

ここに画像の説明を入力

目の位置: 頂点シェーダー:

フラグメント シェーダー:

ここに画像の説明を入力

EDIT(abs()カラーベクトルを使用):

ここに画像の説明を入力

と深さ:

ここに画像の説明を入力

スカイボックスをレンダリングするために使用する立方体テクスチャもあります (上の写真でその一部を見ることができます)。

それらを使用して反射効果を作成する必要があります。

テクスチャは以前はフレーム バッファを使用してレンダリングされていましたが、現在はフラグメント シェーダで次のように使用しています。

私はこのようなことをしようとしました(チュートリアルに基づいて):

しかし、私は反射の適切な効果を得ることができません。

私はこのようなものを見ることができます:

ここに画像の説明を入力

間違っています。ボールを上から見ると、反射した空しか見えないはずです。また、どこからボールを​​見ても同じスカイボックスの断片を見ることができます。

適切な数式を作るのを手伝ってくれませんか? どのマトリックスを使用する必要がありますか (存在する場合)、適切なキューブ テクスチャ座標を計算するにはどうすればよいですか?