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

コンピュータプログラミングによってモデルから画像または一連の画像を生成するプロセス。

1
2Dトップダウンタイルの有向水流をどのようにレンダリングしますか?
私は、ドワーフフォートレスに触発された、トップダウンのタイルベースのかなりグラフィカルな2Dゲームに取り組んでいます。私はゲームの世界で、いくつかのタイルをカバーする川を実装する段階にあり、各タイルの赤い線で下に示すように、各タイルのフロー方向を計算しました。 グラフィカルスタイルの参考として、現在の私のゲームの外観は次のとおりです。 必要なのは、各河川タイルを流れる水をアニメーション化して、流れが周囲のタイルに溶け込み、タイルのエッジが見えないようにするためのいくつかの手法です。 私が見つけたものに最も近い例はhttp://www.rug.nl/society-business/centre-for-information-technology/research/hpcv/publications/watershader/に記載されていますが、私は完全ではありませんその中で何が起こっているのか理解できるようになった時点で?シェーダープログラミングについて十分理解しているので、独自の動的照明を実装しましたが、リンクされた記事で取り上げられているアプローチを理解することはできません。 誰かが上記の効果がどのように達成されるかを説明したり、私が望む結果を得るための別のアプローチを提案したりできますか?上記の解決策の一部はタイルを重ねて(どの組み合わせであるかはわかりませんが)、歪みに使用される法線マップを回転させます(これも詳細についてはわかりません)。助けて!

5
Vector3で演算子 '> ='を使用できないのはなぜですか?
私は私がように参照する2つの位置の間を移動するための四角形を取得しようとしている_positionAとします_positionB。どちらもタイプVector3です。長方形はうまく動きます。ただし、到達_positionBしても、本来のように反対方向に移動することはありません。 コードをもう一度見てみました。オブジェクトが移動ifすると、コード内のステートメントは、rectsの位置がに等しいフレームを逃したという結論に達しました_positionB。rectsの位置がより大きいか等しい 場合は、コードを変更して方向を逆にすることにしました_positionB。私のコードは長すぎないので、以下に表示します。 using UnityEngine; using System.Collections; public class Rectangle : MonoBehaviour { private Vector3 _positionA = new Vector3(-0.97f, -4.28f); //Start position private Vector3 _positionB = new Vector3(11.87f, -4.28f); //End position private Transform _rect_tfm; private bool _atPosA = false, _atPosB = false; public Vector2 speed = new Vector2(1f, 0f); private …
9 unity  c#  vector  mathematics  vector  matrix  unity  c#  transformation  java  3d  terrain-rendering  shading  ios  opengl-es  opengl  rendering  optimization  python  scripting  minecraft-modding  modding  pc  3d-meshes  mesh  culling  point-cloud  networking  interpolation  mathematics  game-design  ai  game-mechanics  animation  unreal-4  skeletal-animation  3dsmax  unity  c#  3d  opengl  c++  textures  unity  ide  cocos2d  cocos2d-x-js  unity  c#  mono  il2cpp  c++  game-loop  timer  linux  flash  actionscript-3  java  glsl  c++  vector  entity-component  c++  directx11  windows  visual-studio  libgdx  mouse  unity  c#  architecture  storage  unity  c#  rotation  coordinates  quaternion  vrpn  movement  vector  unreal-4  unity  shaders  unity  gui  text  bug  shooter  3d  animation  rendering  voxels  c++  mmo  multithreading  linux  textures  procedural-generation  terrain-rendering  multiplayer  mmo  game-state  java  android  libgdx  opengl  procedural-generation  unity  gui  3d  animation  tools  geometry-shader  mobile  advertisements  unity  c#  animation  scripting  unity  animation  unityscript  coroutines  unity  shaders  lighting  camera 

1
スプライトシートの一部を手動で描画するにはどうすればよいですか?
Unityで作業していますが、2Dゲームで、アニメータが自分がやろうとしていることに対して機能していないことがわかりました。スプライトシートを使用して特定のアニメーションを構築し、同じアニメーションを、セルごとに同じサイズとサイズである他のスプライトで再利用したい。調査の結果、不可能だとわかりました。 代わりに、独自のアニメーションスクリプトを作成しようとしていますが、Unityにスプライトのセクションのみを描画するように指示する方法がわかりません。XNAのようなもので、開始座標と終了座標を使用してスプライトの特定の四角形のみをレンダリングできます。 スプライトシートの一部を手動で描画するにはどうすればよいですか?

3
2Dレンダリングにフル解像度の深度バッファーを使用する
私は正投影を使用して2Dエンジンの前面から背面へのレンダラーに取り組んでいます。オーバードローを避けるために深度バッファーを使用したい。16ビットの深度バッファーがあり、Z = 100でZ = 0を見ているカメラ、zNearが1、zFarが1000です。レンダリングされた各スプライトは、Z座標を次第に離れた値に設定し、深度テストでレンダリングをスキップできるようにします下にあるものは何でも。 ただし、Z位置がZバッファ値で終わる方法が非線形であることは知っています。私は、16ビットの深度バッファのフル解像度を利用したいと考えています。つまり、65536の一意の値を許可しています。したがって、レンダリングされるすべてのスプライトについて、Z位置を次の位置にインクリメントして、次の一意の深度バッファー値に関連付けます。 言い換えると、描画されるスプライトのインクリメントインデックス(0、1、2、3 ...)を各スプライトの適切なZ位置に変更して、一意の深度バッファー値を設定します。この背後にある数学についてはわかりません。これを行うための計算は何ですか? 注:私はWebGL(基本的にはOpenGL ES 2)で作業しており、幅広いハードウェアをサポートする必要があるため、gl_FragDepthなどの拡張機能でこれが簡単になる場合もありますが、互換性の理由で使用できません。

2
誰かが二重輪郭を説明できますか?
私はボクセルレンダリングを理解しようとし、デュアルコンターリング(DC)を検討してきました。 これまでのところ私はこれを理解しています: グリッドポイントのセットに対して密度関数を実行します(つまり、ノイズ関数) グリッドのどのエッジにエンドポイント間の変更が含まれているかを見つける これらのエッジから交差点(つまり、ベクトル)を作成します これが私が行き詰まっているところで、次は法線を生成することですが、どうやって?このトピックを見ると、この画像は通常トリミングされます。 研究を行うと、法線は等値面から生成されることが示されます。ノイズから等値面、法線に行くと思うのは正しいですか?もしそうなら、各ステップをどのように達成しますか? 私の理解では、次のステップはDCペーパーの次のとおりです。 符号の変化を示す各エッジについて、エッジを含む4つの立方体の最小化する頂点を接続する四角形を生成します。 この見積もりは上の画像で表されていますか? 最後に、次のステップは、交点と法線を使用してQEFを実行することです。これにより、頂点データが生成されます。これは正しいです?


6
MMORPGの3Dグラフィックスとアニメーションが、通常、非オンライン3Dゲームよりも悪いのはなぜですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 一般的に、MMOとMMORPGの3Dグラフィックスとアニメーションは、通常のオンライン以外の3Dゲームのグラフィックスほど魅力的で洗練されていないようです。 なぜそうなのですか? または 私の判断は不正確ですか? 私の判断が不正確な場合は、通常の非オンライン3Dゲームよりも優れた3DグラフィックスおよびアニメーションをレンダリングするMMORPGの例を提供してください。

1
Unityで偽者を手動で作成する方法を学ぶ-カメラが見るものではなく、テクスチャーにオブジェクトをレンダリングする方法?
Unityで詐欺師を作る最もパフォーマンスの高い方法を、既製のソリューションを使用せずに手動で学習しようとしています。 私の最初の推測は、RenderTextureと2番目のカメラを使用して、オブジェクトのさまざまな角度のさまざまな「スナップショット」を撮影することで実現できると思います。パフォーマンスの面でより良い代替手段がある場合は(実装するのがより難しい場合でも)、ぜひ聞いてみたいと思います。 それが唯一のパスである場合は、スクリプトからカメラからテクスチャにレンダリングする方法を学びましたが、次の方法を理解することができませんでした。これは、最初に行う必要があることです。レンダリング方法-カメラの背景なしで特定のオブジェクトをテクスチャリングするには(つまり、テクスチャの残りの部分を透明にして)、パフォーマンスを向上させますか? ポインタ、提案、または少なくともリンクの推奨は素晴らしいでしょう。 前もって感謝します。

1
Unity:1つのレイヤーのみに画像効果を適用する
この単純なシーンを検討してください。 3つの異なるゲームオブジェクトで構成されています。1つの背景画像+ 1つの静的なキャラクター画像+ 1つの小さな部分(ペットと一緒に)アニメーションを実行するために実行時に変更されます。 背景は専用カメラを使用してレンダリングされます。キャラクター(静的+アニメーション)は、別の専用カメラを使用してレンダリングされます。両方のカメラは、異なるカリングマスクで深度のみに設定されています(各カメラはその部分のみをレンダリングします)。キャラクターを担当するカメラは、背景を担当するカメラよりも奥行きがあることに注意してください(つまり、キャラクターは背景の後にレンダリングされます)。 キャラクターカメラにのみ画像効果を適用する必要がありますが、この効果が背景に影響しないようにする方法を見つけることができません。 キャラクターカメラの渦エフェクトの例。 あなたはそのようなトリックをどのように行いますか?

4
インデックス描画は非インデックス描画よりも高速です
6つの頂点(2つの三角形)からなる多数のポリゴンを描画する必要があります。 テクスチャ座標、法線などがない場合、どちらのアプローチでも72バイトになります。将来的には、テクスチャ座標と法線も間違いなく必要になります。これにより、インデックスの描画で消費されるメモリが少なくなります。それほど多くはありません。 だから私の質問は:頂点の重なりが少ないVAOの場合、どちらのアプローチがより速いですか?インデックス以外の描画で消費される余分なメモリは気にせず、速度のみを気にします。 編集:明確にするために。 非索引アプローチ: float[18] vertices = { //Triangle 1 1,1,0, 1,0,0, 0,0,0, //Triangle 2 1,0,0, 0,1,0, 0,0,0, }; インデックスアプローチ: float[12] vertices = { 1,1,0, 1,0,0, 0,0,0, 0,1,0, }; int[6] indices = { //Triangle 1 0,1,2, //Triangle 2 0,3,2 };
8 opengl  rendering  vbo  vao 

0
OpenFLを使用したSceneManagerの実装
OpenFLとHaxeを使用して基本的なSceneManagerを実装しようとしています。OpenFLとHaxeの使用経験はあまりないので、いくつか問題があります。 以下は、SceneManagerクラスの設計方法です。 package; import openfl.display.Sprite; import openfl.Lib; class SceneManager extends Sprite { private var currentScene: ...; public function new(rootScene: ...) { super(); currentScene = rootScene; Lib.current.addChild(currentScene); } public function changeScene(newScene: ...): Void { Lib.current.removeChild(currentScene); currentScene = newScene; Lib.current.addChild(SceneTwo); } } 「...」は、どのシーンでも保持できる一般的な「クラス」タイプに置き換える必要があります。 誰かがこれを解決するのを手伝ってくれるなら、私は本当に感謝するでしょう。

2
半直交半透視投影行列を作成する方法
私は、縦軸が正射投影される射影行列の式を作成しようとしましたが、横軸はそれに対して遠近法を持っています。 したがって、ビュー錐台は次のようになります。 私は、正投影と透視投影の公式と、それらがどのように達成されたかを研究しました。そして、それらを変更して、私が望む投影に到達しようと試みました。私には、1つの軸をZにスケーリングすることはできず、もう1つの軸をZにスケーリングすることは不可能であるように思われました(または、それらを異なる倍率でスケーリングさせることはできませんでした)。 私が望む視点に到達することは可能ですか?もしそうなら、射影行列はどのようになりますか?

2
頂点バッファスチーミングの場合、複数のglBufferSubData VS Orphaning?
私は最近OpenGLを学んでいました。ゲームでは、ゲームオブジェクトの位置を頻繁に更新する必要があり、それらは常に画面に出入りします。そのため、レンダリングでは、頂点バッファーも頻繁に更新する必要があります。 OpenGLのコンテキストでは、1つの直感的な方法は、glBufferSubDataを使用して変更されたものを更新することです。 しかし、私はまた、新しいバッファデータを作成して頂点データ全体をそれにアップロードするOrphaningと呼ばれるトリックをオンラインで読んでいます。 また、州の費用とアップロードの費用により、複数のglBufferSubDataの費用も高くなる可能性があります。 これが私の質問です、 どちらの方法が良いですか? この場合、屋台は本当に重要ですか? この場合、状態の変更とアップロードのコストは本当に重要ですか? ありがとう!

2
球面調和照明-それは何を達成しますか?
私の理解から、球面調和関数は、(アプリケーションによっては)照明の特定の側面を近似するために使用されることがあります。 たとえば、方向で使用しているすべてのバンドのSH係数を計算することにより、表面ポイントまたはその一部の指向性光源による拡散照明の原因を概算できるようですサーフェス法線のスケーリングと、スケーリングに必要なもの(たとえば、明るい色の強度、dot(n、l)など)でスケーリングします。 私がまだ理解していないのは、これが達成するはずのものです。通常の方法で拡散BRDFを評価するのとは対照的に、この方法でこれを行うことの実際の利点は何ですか。どこかに計算を保存しますか?通常の評価のスカラー結果から得られないSH表現に含まれる追加情報はありますか?

4
トップダウン2Dマップ上で画面外のオブジェクトを効率的にカリング
ゲームプログラミングでは効率が重要であることを知っています。以前に「マップ」をレンダリングした経験はありましたが、おそらく最善の方法ではありません。 2Dトップダウンゲームの場合:(世界のテクスチャ/タイルをレンダリングするだけです) たとえば、1000x1000(タイルなど)のマップがあるとします。タイルがカメラのビューにない場合、レンダリングされるべきではありません-とても簡単です。表示されないタイルをレンダリングする必要はありません。しかし、マップ内に1000x1000オブジェクトがあるか、おそらくそれより少ないため、レンダリングされるかどうかを確認するためだけにすべての1000 * 1000タイルをループ処理したくない場合があります。 質問:この効率を実装する最良の方法は何ですか?それで、「素早く/より速く」、どのタイルがレンダリングされると想定されるかを決定できますか? また、SpriteBatchでレンダリングされたタイルを中心にゲームを構築するのではないため、四角形はなく、形状はさまざまなサイズで複数のポイントを持つことができます。たとえば、10ポイントの湾曲したオブジェクトとそのシェイプ内のテクスチャです。 質問:この種のオブジェクトがカメラのビューの「内側」にあるかどうかをどのように判断しますか? 48x48の長方形で簡単です。X+ WidthまたはY + Heightがカメラのビュー内にあるかどうかを確認してください。複数のポイントで異なります。 簡単に言うと、何百万ものオブジェクトを同時に実行/ループする必要がないように、コードとデータを効率的に管理する方法です。

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