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

3
オープンな環境と多くの静的コンテンツ(例:クライシス)を備えた最新のAAAゲームでは、オクルージョンカリングはどのように実行されますか?
私が念頭に置いている2つのアイデア: 1)シーンは、低解像度および低ポリゴンカウントモデルを使用して(またはキューブや球体などの境界ボリュームのみを使用して)、不可視のバッファーにレンダリングされます。次に、バッファがチェックされ、何が表示されているかがわかります。低解像度のシーンをレンダリングする前に、錐台カリングを適用して、できるだけ多くのオブジェクトを既に削除することができます。 2)ツールが静的マップ上で実行され、複雑な(したがって低速の)レイトレーシングを実行して、マップ上のいくつかの3D位置について、何が見えて何が見えないかを認識します。その情報はすべて、後で実行時にユーザーが使用できる効率的な方法で保存されます(例:octree)このソリューションは、オブジェクトを移動せずに静的メッシュ(例:構築)でのみ機能します。

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
gluLookAtはどのように機能しますか?
私の理解から、 gluLookAt( eye_x, eye_y, eye_z, center_x, center_y, center_z, up_x, up_y, up_z ); 以下と同等です。 glRotatef(B, 0.0, 0.0, 1.0); glRotatef(A, wx, wy, wz); glTranslatef(-eye_x, -eye_y, -eye_z); しかし、ModelViewマトリックスを出力すると、への呼び出しがglTranslatef()正しく機能していないようです。コードスニペットは次のとおりです。 #include <stdlib.h> #include <stdio.h> #include <GL/glut.h> #include <iomanip> #include <iostream> #include <string> using namespace std; static const int Rx = 0; static const int Ry …

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