タグ付けされた質問 「lighting」

環境との相互作用を含む、ゲームの光と照明のシミュレーション。さもなければ静的な世界に活力をもたらすことができるゲームの中核要素。

4
2Dライティングはどのように実装されますか?
2Dゲームで「照明」効果にアプローチする最良の方法は何だろうと思っています。たとえば、メインキャラクターが光っている場合、光の影響を受ける他のオブジェクトの近くにいるときに光るキャラクターの視覚効果を完成させるために、どのテクニックを使用できますか?

1
モニターを暗くせずに夜景を作る
3Dシーンを暗い夜のように見えるようにする良い方法は、モニター上で暗くて物を見るのが難しいほどではないことです(特に明るい部屋で遊ぶ場合)。 私は自然の中で光を青みがかったものにしようとしており、かなり暗いアンビエントコンポーネントと明るいディフューズコンポーネントを使用して実験を行ってきましたが、正確なパラメーターに応じて、結果が少し欠けているか、まだ暗すぎます。 勉強する良い例はありますか?

1
「ライトを焼く」とはどういう意味ですか?
lightmapをベイクするとはどういう意味ですか?Unity3dでこれを聞いたところ、ライトマップを焼くスケッチアップ用のこのLightUpプラグインを再び見つけました。 私が観察したことから、ベイクされたライトマップは3Dオブジェクトにはるかにリアルな感触を与えます。オブジェクトに光を焼き付けて、そのcgアニメーションを事前にレンダリングされたアニメーションで見るようにする目的はありますか?
36 lighting 

2
一部のゲームでは、壁を通して光が輝いているのはなぜですか?
一部のゲームでは、ビデオの品質を高レベルに設定しても、壁を通して光が輝いています。 最近プレイしたゲームの例としては、Borderlands 2(ミサイル爆発)とCall of Cthulhu(ランタン。ゲームではUnreal Engine 4も使用されています)があります。 これはバグですか、パフォーマンス上の理由がありますか? Borderlands 2:の例:https : //youtu.be/9bV83qA6_mU?t=419(数回ですが、すぐに) ボーナスの質問:後者の場合、問題を解決するためにレイトレーシングを安価に使用する方法はありますか?高価なRTは間違いなく問題を解決したと思いますが、この特定の問題を解決するために「安価な」形式で使用できるのではないかと思います。

3
スターをモデル化するにはどうすればよいですか?
私はUnityでスターをモデル化しようとしていますが、それは一種の作品ですが、理想的ではありません。現在、私は大きな球体を使用し、その表面に適用された星のテクスチャを含む自己照明マテリアルと、次のような星明かりの効果を作成するスポットライトを使用しています。 動作しますが、最高に見えません。Kerbal Space Programがスターをモデル化する方法に沿って、より効果を探しています。 どうすればこの効果を達成できますか?

5
粒子を発光させ、周囲に光を当てるにはどうすればよいですか?
私は現在、暗い森でホタル効果を作ろうとしています。レベルには非常に低い光があり、プレーヤーは数少ない光源の1つです。プレイヤーにレベルを見やすくさせるために、輝くホタルがマップ上にランダムに表示されるようにしています。1つの方法は、パーティクルシステムを使用することです。しかし、私は粒子が周囲に光を投​​げかけることはできません。これを行う方法はありますか?

3
フラグメントシェーダーで任意の数のライトを使用する方法はありますか?
フラグメントシェーダーに任意の数のライトの位置(および色)を渡し、シェーダーでそれらをループする方法はありますか? そうでない場合、複数のライトをどのようにシミュレートするのですか?たとえば、拡散指向性ライティングに関しては、シェーダーのライトウェイトの合計を渡すことはできません。
19 lighting  webgl 

4
滑らかな2D照明効果を実現するにはどうすればよいですか?
XNAで2Dタイルベースのゲームを作成しています。 現在、私の雷はこのように見えます。 このように見えるようにするにはどうすればよいですか? 各ブロックに独自の色合いがある代わりに、滑らかなオーバーレイがあります。 ある種のシェーダーを想定しており、周囲のタイルの照明値をシェーダーに渡すことを想定していますが、私はシェーダーの初心者なので、よくわかりません。 私の現在の照明は光を計算し、次にそれをaに渡しSpriteBatch、色合いパラメーターで描画します。各タイルにはColor、色合いに使用される照明アルゴリズムで描画する前に計算されるがあります。 これが現在どのようにライティングを計算するかの例です(左、右、下からもこれを行いますが、このフレームごとに行うのは本当にうんざりしました...) したがって、実際にこれまでに光を取得して描画することは問題ありません! 霧の霧とグラデーション円形オーバーレイを使用して滑らかな稲妻を作成する無数のチュートリアルを見てきましたが、すでに各タイルに稲妻値を割り当てる素晴らしい方法があります。 レビューする 照明の計算(完了) タイルの描画(完了、シェーダー用に変更する必要があることはわかっています) シェードタイル(値を渡し、「グラデーション」を適用する方法)

9
照明モデルの線形減衰成分には物理的な対応物がありますか?
OpenGL(および他のシステム)では、ポイントライトの距離減衰係数はのようなものです1/(c+kd+sd^2)。ここdで、はライトからの距離c、kおよびsは定数です。 sd^2現実に予想される、よく知られている物理的に正確な「逆二乗則」減衰をモデル化するコンポーネントを理解しています。 定数c(通常は1)は、非常に小さな値d(およびおそらくゼロ除算の防御)を処理するためにあると思います。 kdモデルでの線形コンポーネントの役割(kOpenGLではデフォルトでゼロ)。いつ他の値を使用しkますか?これは「線形減衰」コンポーネントと呼ばれますが、ライティングモデルでどのような動作をシミュレートしますか?私が知っている光の物理モデルには現れないようです。 [編集] David Gouveiaは、線形係数を使用して、シーンを開発者/アーティストが意図したものに近づけたり、ライトが落ちる速度をよりよく制御したりするのに役立つ可能性があると指摘しています。どちらの場合、私の質問は「線形減衰係数に物理的な同等物がありますか、それとも単にシーンの光の品質を制御するためのファッジ係数として使用されていますか?」
18 lighting 

3
このような照明効果を作成するにはどうすればよいですか?
これは私が今まで見た中で最も美しい2Dライティングであり、このようなライティングも実行したいと思います。どうすればいいのですか? 物理学やパーティクルのシミュレーション方法は気にしません。照明についてのみ知りたいです。 参照用のビデオを次に示します。 http://www.youtube.com/watch?v=BIQRhOFkvQY http://www.youtube.com/watch?v=tnTYXPuecMs http://www.youtube.com/watch?v=rhC_jVM8IYU http://www.youtube.com/watch?v=_Aw5BdjWqqU または、Polluted Planet 2をここからダウンロードできます。
18 xna  lighting  hlsl 

1
フォン照明-鏡面照明には非常に奇妙なものがあります
Phongライティングを実装しました。トーラスと球体は予想どおりに点灯するなど、すべてが機能しているように見えます。しかし、指向性ライトの鏡面照明に関して奇妙なことに気付きます。 以下に2つのスクリーンショットを示します。 最初: 第二: ご覧のように、カメラがオブジェクトから遠い場合、より多くの領域に鏡面照明があります。 以下は、単純化された頂点シェーダーです。 #version 330 core layout(location = 0) in vec3 vertexPos; layout(location = 1) in vec3 vertexNorm; layout(location = 2) in vec2 vertexUV; uniform mat4 MVP; uniform mat4 M; out vec2 fragmentUV; out vec3 fragmentNormal; out vec3 fragmentPos; void main() { fragmentUV = vertexUV; fragmentNormal = …

1
GLSL Light(減衰、色、強度)の式
ボクセルエンジンにポイントライトを実装していますが、光源の近くで100%から光の半径で0%まで、適切な光の流れを得るのに苦労しています。 関数には5つの引数があります。 明るい色(Vec3) 光の強度(光から減衰が100%になる距離までの距離) ライトからフラグメントまでの距離 ライトに垂直なフラグメントからの角度 ライトの位置 フラグメントの色を計算するための関数を作成するために、誰かが私を正しい方向に押すことができますか? 私の実験の1つの画像: 編集(Byteによって要求された現在のコード)これは私の側からの単なる実験コードであることに注意してください。私はウェブサイトからフロート属性を取得しましたが、それは動作しますが、完璧からはほど遠いです。: void main() { // Light color vec3 torchColor = vec3(1.0f, 1.0f, 1.0f); float lightAdd = 0.0f; for (int i=0; i<5; i++) { vec3 pos = lights[i]; if (pos.x == 0.0f) continue; float dist = distance(vertex_pos, pos); if (dist < 9) …
17 opengl  glsl  lwjgl  lighting  pixel 

3
照明計算のための二乗半径と逆二乗半径の有用性は何ですか?
「DirectX 11 Rendering in Battlefield 3」PowerPointのスライドの1つで、次のコードに気付きました。 struct Light { float3 pos; float sqrRadius; float3 color; float invSqrRadius; } 単に半径を保存するのではなく、なぜ半径の2乗、さらには逆2乗(単に1の2乗の半径)を保存するのか理解できません。彼らは計算でこのデータをどのように使用していますか?さらに、コーンライトとラインライトはどうですか?この構造体はポイントライト専用である必要があります。他のタイプでは機能しないことがわかります-データが十分ではありません。それでも、私は彼らがその正方形とinvSquareをどのように使用しているかを知りたいです。 更新: OK これは、ネット上で簡単に見つけられる古典的な光減衰方程式です。 float3 lightVector = lightPosition - surfacePosition; float attenuation = saturate(1 - length(lightVector)/lightRadius); これをlength(lightVector)実際に行っているので、比較的コストがかかります。 length(lightVector) = sqrt(dot(lightVector, lightVector); さらに、分割操作(/lightRadius)も非常にコストがかかります。 この方法で光の減衰を計算する代わりに、次の方法で計算できます。これははるかに高速です。 attenuation = saturate(1 - dot(lightVector, lightVector)*invRadiusSqr); invRadiusSqrはCPUレベルで事前に計算され、シェーダー定数として渡されます。 さらに、結果として(前者の場合は線形ではなく)2次光減衰が得られます。これは、IRL光が2次減衰を示すため、さらに優れています。 皆さん、助けてくれてありがとう!
16 lighting 

3
Unityで昼夜のサイクル用に2つのライトマップをブレンドするにはどうすればよいですか?
他のことを言う前に、デュアルライトマップを使用しています。つまり、近距離と遠距離の両方をブレンドする必要があります。 だから私はしばらくこれに取り組んでいますが、レンダラーと照明用に昼夜サイクル全体を設定していますが、すべてがうまく機能しており、プロセス集約的ではありません。 私が抱えている唯一の問題は、2つのライトマップをどのようにブレンドできるかを考え出すことです。 私はこれについて何時間も研究し、すべての種類のシェーダー、ピクセルごとのブレンド、およびその他すべてを実際に利用することはできませんでした。C#でのピクセルごとのブレンドは、好みに合わせて少し処理が集中することが判明しましたが、クリーンアップとよりスムーズな実行に取り組んでいます。シェーダーは有望に見えましたが、2つのライトマップを適切にブレンドできるシェーダーを見つけることができませんでした。 誰が私がこれを達成できるかについてのリードを持っていますか?昼間のライトマップと夜間のライトマップの間のスムーズな移行が必要です。おそらく、2つのテクスチャをオーバーレイし、アルファチャネルを使用できますか?またはそのような何か?

1
クラカトアの光の効果の背後にある数学は何ですか?
クラカトアの光の効果の背後にある数学を知りたい(例についてはここをクリック)。 光源はパーティクルとともに移動しますが、シェーディングはどのように行われますか?Phongシェーディングのような単純なものですか?GPUでそのような効果をリアルタイムで実装することは可能ですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.