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

位置、方向、または速度を表すために使用でき、空間問題を単純化または完全に自明化できる数学的概念。

2
ドット積を使用して2つのベクトル間の角度を取得するにはどうすればよいですか?
ゲームで正規化されたベクトルを使用することを学んでいます。 2つのベクトル間の角度を知るために、ドット積を使用できることを学びました。これにより、-1〜1の値が得られます。 1は、ベクトルが平行で同じ方向を向いていることを意味します(角度は180度です)。 -1は、それらが平行で反対方向を向いていることを意味します(180度のまま)。 0 それらの間の角度が90度であることを意味します。 2つのベクトルのドット積を実際の角度(度単位)に変換する方法を知りたい。たとえば、2つのベクトルの内積がの0.28場合、対応する角度は0〜360度ですか?

2
2つのベクトル間を線形補間するにはどうすればよいですか?
私は、クライアントがどこにいて、どこに行くのかという速度ベクトルを持っています。そして、クライアントがどこにいるかを伝えるサーバーから来る同じベクトルを持っています。時々少し違うので、現在の位置とサーバーの正しい位置の間を補間したいと思います。 黒い矢印はクライアント速度ベクトル、赤い矢印はサーバー上のクライアント速度ベクトル、青い矢印は計算して補間したいものです。 青いベクトルを計算するにはどうすればよいですか?次に、どうすればそれらの間を線形補間できますか?

1
敵が自分のプレーヤーを見ることができるかどうかを確認するにはどうすればよいですか?
プレイヤーと敵に位置があり、それぞれの方向ベクトルが与えられている場合、一方が他方を「見る」ことができるかどうかをどのように確認できますか? 言い換えると、方向を持つ1つの位置が方向を持つ別の位置の前または後ろにあるかどうかをテストするにはどうすればよいですか? 私の目的では、「前」とは、直接、または左右に90度のことを意味します。
15 mathematics  ai  vector 

2
宇宙船の動的スラスタバランシング
私のゲームの宇宙船は、任意の量のスラスタを任意の回転で任意の場所に取り付けてプレイヤーが構築することを意図しています。現在、船を所定の角度に回転させる(加速と減速)ための汚いコードがあります。 これは、赤い線が指す場所に面し、左に回転するように指示された対称的な船の例です。 しかし、ご想像のとおり、プレイヤーがスラスタをどこに置いたかによっては、望ましくない直線的な力が船に影響を与えることがあります。この場合、船は前進し始めます。 スラスタが線形速度を発生させないために適用できる最大推力を見つけることができるかどうかについて詳しく説明しています。(上記の場合、後部スラスタからの力に対抗するものが何もないため、それはありません。前部スラスタは互いに殺します)。 これまでに思いついたのは、「回転効率」を決定する式です。たとえば、直線運動に関連してどの程度の回転が発生するかです。 a-スラスタaへの位置ベクトルb-スラスタbへの位置ベクトルv1-スラスタaからの力v2-スラスタbからの力 EfficiencyDelta = a.cross(v1)/ | v1 | -(a.cross(v1)+ b.cross(v2))/ | v1 + v2 | 、基本的に「a.cross(v1 * t)/ | v1 |」ターン効率となるはずです。そして、新しいスラスタを発射する価値があるかどうかを確認するために、スラスタの回転効率を合わせて差し引きます。 スラスタがオン/オフになっているわけではないことを認識したときに問題が発生しますが、スラストを0から1に変えることができます。また、プレイヤーが船を前進させたい場合の対処方法 もちろん、回転/移動する量のバランスが必要です。 私はロケット科学者ではないので、各スラスタのスロットルをこのように計算し、正しい方向にプッシュすることが可能かどうかを教えてくれる人がいることを望んでいます。 お時間をいただきありがとうございます!/キム

2
カメラの代わりに銃から銃弾を撃ちながら、レチクルに対して正確に保つ
私は一人称ゲームに取り組んでいますが、問題に遭遇しました。私のゲームでは、プレイヤーの銃がレンダリングされ、画面の中央にレチクルがあります-このように: まず、レンダリングされる銃のモデルがなかったと想像しましょう。その後、弾丸を発射するのは簡単です-プレイヤーの「目」が正確にある場所に弾丸をスポーンし、次にトリガーを使用して、プレイヤーが見ている方向に基づいて速度を計算します。 しかし、今、銃のモデルを追加するとき...プレイヤーの目があるところに弾丸をスポーンするだけではなく、銃の先端にスポーンする必要があります(右?)。だからあなたはそれをしますが、その後...レチクルが指していた場所にヒットするように弾丸をどのように移動しますか? 私のゲームの弾丸(この場合は実際にはロケットです)はその動きが見えるほどゆっくりと移動するので、弾丸が観測するには速すぎる場合に通常機能するいくつかの回避策が機能しないことに注意してください。たとえば、スポーンしなかったため、銃の先端から出てきているように見える場合、プレイヤーは間違いなくそれに気づくでしょう。


2
Time.deltaTimeを使用しているにもかかわらず、動きはフレームレートに依存しているように見える
Unityでゲームオブジェクトを移動するために必要な変換を計算する次のコードがありますLateUpdate。これはで呼び出されます。私が理解していることから、私の使用はTime.deltaTime最終的な翻訳フレームレートを独立させるべきCollisionDetection.Move()です(ただレイキャストを実行することに注意してください)。 public IMovementModel Move(IMovementModel model) { this.model = model; targetSpeed = (model.HorizontalInput + model.VerticalInput) * model.Speed; model.CurrentSpeed = accelerateSpeed(model.CurrentSpeed, targetSpeed, model.Accel); if (model.IsJumping) { model.AmountToMove = new Vector3(model.AmountToMove.x, model.AmountToMove.y); } else if (CollisionDetection.OnGround) { model.AmountToMove = new Vector3(model.AmountToMove.x, 0); } model.FlipAnim = flipAnimation(targetSpeed); // If we're ignoring gravity, then just …



1
架空の4Dメッシュを画面にダウンプロジェクションする
精神的な練習として、私は任意の4Dメッシュをスクリーン(2D)に投影することを想像しています。 単一の4D三角形はまだ3つのポイントのみで構成されていると思いますが、これらの3つのポイントはそれぞれ4次元の列によって定義されます。 最初に4D空間を3D空間にマップする投影行列を定義してから、OpenGLにそのデータから2D空間への独自の投影を行わせるほうが理にかなっていますか? または、4から2に直接投影することを計画するのが最善でしょうか? どうもありがとう。

2
遮断のベクトルを計算する方法は?
2次元空間と1つの友好的な宇宙船が静止していて、1人の敵が実際の位置、速度、方向がわかっている友好的な船に直接移動していません。 友好的な船は、敵と戦うために射程内にそれ自体を入れたいと思っています。 実際には、実際の位置を移動する船に直接ベクトルを設定し、フレームごとに再計算して、ある種の「丸い」飛行経路を作成しています。 私が欲しいのは、敵がそれまでのコースを変更しないと仮定して、射程距離に到達したときに敵が(おそらく)持つであろう位置に直接直線のパスを設定することです。 最初の「単純な」実装として、友人がすぐに0から最大にスピードアップできると想定すれば十分です。 優先される実装は、友人の加速機能を考慮したものであり、速度のためにインターセプトが不可能である場合を知っています。静止状態からだけでなく、あらゆる始動速度で機能するはずです。プラスは、それがブレーキングさえ考慮している場合です(光速での戦いは、与えられた宇宙では非常にエネルギー効率が悪いです)

4
法線マッピングは実際にどのように機能しますか?
法線マッピングの概念を理解しようとしていますが、いくつか混乱しています。つまり、法線マップが視点に依存するかどうか(つまり、同じオブジェクトの周りを回転したときに、同じオブジェクトの別の法線マップを取得できるかどうか)はわかりません。第二に、青みがかった色が法線マップで主な色である理由がわかりません。 法線と、RGBカラーとの関係については、次のように考えています。単位球は可能なすべての単位法線を表します。つまり、単位法線ベクトルのX、Y、Z成分は-1から1の範囲です。RGBカラーの成分はすべて0から255の範囲です。したがって、 -1(通常のコンポーネント)を0(カラーコンポーネント)、0から127または128、および1から255にマップします。その間の値はすべて線形補間されます。 このマッピングを任意の3Dオブジェクトの法線に適用すると、非常にカラフルな画像が得られますが、ほとんどが青色ではありません。たとえば、立方体の場合、6つの面すべてが異なるが均一な色になります。たとえば、法線が(1,0,0)の面は(255,128,128)、法線が(0,0、-1)の面は(128,128,0)のようになります。 ただし、何らかの理由で、私が見つけた立方体の法線マップは完全に青みがかっています(128、128、255)。しかし、明らかに、法線はすべて正のz方向ではありません(つまり、(0,0,1))。これはどのように作動しますか? [編集] さて、上記のアプローチは、オブジェクト空間法線マップまたはワールド空間法線マップと呼ばれるようです。もう1つは接線空間法線マップます。このような接線空間法線マップを使用してジオメトリの法線を変更する方法を理解していますが、実際にどのように計算されるかはまだわかりません(Nicol Bolasの回答の私のコメントを参照)。 [編集2] おそらく、区分的パラメトリックサーフェスを使用していることをお伝えしておきます。これらのサーフェスは一連のサーフェスパッチで構成され、各パッチは独自のパラメトリック空間(u、v)= [0,1] x [0,1]に関連付けられています。サーフェス上の任意のポイントで、法線を正確に計算できます。どうやら、ベクトルT(接線)とB(双接線)—接線空間をまたがるのに必要な—は、単にuとvの方向の表面パッチの偏導関数ではありません...

1
頂点のセットから平面の法線ベクトルを取得するにはどうすればよいですか?
私はHLSL / C ++の小さなプロジェクトでグラフィック作業をやりくりしており、頂点ポリゴンから対面ベクトルを取得する方法がわかりません。数式が見つからないようです。 位置はP1、P2、P3です。 たとえば、P1.x、P1.y、P1.zのVertexPointクラスと呼びましょう。

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 


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