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

回転とは、特定の軸を中心としたオブジェクトの円運動です。

2
Unity3dを介して新しいc#スクリプトを追加するときにVS soution Explorerを強制的に再読み込みしますか?
私はC#スクリプトを作成する(ときCreate -> C# Script)を介しUnity3d やからそれを削除Unity3d- Visual Studioショー私の警告ウィンドウ。 気に障る。 ウィンドウなしでソリューションエクスプローラーで「ReloadAll」を強制する方法はありますか?
8 unity  visual-studio  unity  google-play-services  google-play  physics  simulations  c#  unity  raycasting  unity  virtual-reality  savegame  arcade  c++  steam  ios  objective-c  databases  storage  opengl  vbo  vao  libgdx  scene2d  unity  animation  c#  path-finding  roguelikes  opengl  c++  glsl  2d  physics  phaser  selection  3dsmax  unity  collision-detection  c#  tilemap  isometric  unity  c#  2d  sprites  mouse  scripting  grid  c#  unity  libgdx  java  unity  playstation4  c#  c++  directx  dll  c++cli  libgdx  overlap2d  multiplayer  node.js  websocket  animation  unity  textures  unity  terrain  physics  unity  rotation  movement  transformation  monogame  windows  installer  shaders  unity  virtual-reality  unity  performance  frame-rate  profiler  google-play  appstore  trademark  java  android  libgdx  unity  unity-networking  unity  physics  software-engineering  unity  savegame  physics  2d  unity  unity  c#  unity-networking  textures  geometry  unreal-4  3d-modeling  java  android  libgdx  android  collision-detection  libgdx  rotation  legal  localization  patents  opengl  cubemap  sampler-state  2d  transformation  unity  c#  opengl  glsl  lighting  opentk  c++  collision-detection  physics 

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
ジンバルロックを回避する方法
オブジェクトを回転させるコードを記述しようとしています。 私はそれを次のように実装しました: X軸を中心とした回転は、マウスのy座標の変化量によって与えられ、Y軸を中心とした回転は、マウスのx座標の変化量によって与えられます。 この方法は単純で、軸がZ軸と一致するまで、つまりジンバルロックが発生するまでうまく機能します。 ジンバルロックを回避するためにZ軸周りの回転をどのように利用できますか?

3
球面上のルート-測地線を見つけますか?
私は、2Dマップ上を移動できるブラウザベースのゲームで友人と作業しています。ほぼ7年になりますが、まだこのゲームをプレイしているので、何か新しいものを提供する方法を考えています。それ以来、ゲームマップは制限された平面であり、人々は(0、0)から(MAX_X、MAX_Y)に量子化されたXとYの増分で移動できます(大きなチェス盤と想像してください)。 私たちはそれを別の次元にする時が来たと信じているので、ほんの数週間前に、ゲームが他のマッピングでどのように見えるか疑問に思い始めました: 継続的な動きのある無制限の飛行機:これは一歩前進かもしれませんが、それでも私には確信がありません。 トロイダルワールド(継続的または量子化された動き):以前はトーラスを使用して作業してきましたが、今回はもっと何かを求めています... 連続的な動きのある球形の世界:これは素晴らしいことです! 我々が望むものを ユーザーのブラウザは球面マップ上の各オブジェクトの(緯度、経度)のような座標のリストを与えられています。ブラウザは、これをユーザーの画面に表示して、Web要素内にレンダリングする必要があります(キャンバスでしょうか?これは問題ではありません)。人々が飛行機をクリックすると、(mouseX、mouseY)を(lat、lng)に変換し、現在のユーザーの位置からクリックされたポイントまでのルートを計算する必要があるサーバーに送信します。 私たちは 、回転行列、四元数、オイラー角、平行移動などを操作するための多くの有用な数学を備えたJavaライブラリの作成を開始しました。それらをすべてまとめて、球点を生成し、それらをレンダリングしてユーザーに表示するプログラムを作成しましたJPanel内。クリックをキャッチして球面座標に変換し、ビューの回転、スケール、変換などの他の便利な機能を提供することができました。現在、クライアントとサーバーの相互作用をシミュレートする小さな(非常に小さな)エンジンのようになっています。クライアント側は画面上のポイントを表示し、他の相互作用をキャッチし、サーバー側はビューをレンダリングし、現在の位置とクリックされたポイントの間のルートを補間するような他の計算を行います。 問題はどこだ? 明らかに、2つのルートポイント間を補間する最短パスが必要です。クォータニオンを使用して、球の表面上の2点間を補間します。これは、球の表面上で最短経路が得られないことに気付くまで、問題なく機能するように見えました。 問題は、ルートがX軸とY軸を中心とした2つの回転の合計として計算されることでした。そこで、目的地のクォータニオンの計算方法を変更しました。方向と呼ばれる3番目の角度(1番目は緯度、2番目は経度、3番目は現在の位置を指すベクトルを中心とした回転)を取得します。これで「向き」の角度ができたので、Z軸を回転し、結果のベクトルを宛先クォータニオンの回転軸として使用します(回転軸は灰色で表示されます)。 取得したのは正しいルートです(大きな円上にあることがわかります)。ただし、これはルートの始点が緯度、経度(0、0)にある場合にのみ取得されます。つまり、開始ベクトルは(sphereRadius、0)です。 、0)。以前のバージョン(画像1)では、開始点が0、0であっても良い結果が得られないため、解決策に向かっていると思いますが、このルートを取得するために実行する手順は少し「奇妙です」 " 多分? 次の画像では、開始点が(0、0)ではない場合に発生する問題のビューが表示されます。これは、開始点が(sphereRadius、0、0)のベクトルではなく、目的点を確認できるためです。 (正しく描かれています!)はルート上にありません。 マゼンタポイント(ルート上にあるもの)は、(-startLatitude、0、-startLongitude)の球の中心を中心に回転したルートの終点です。つまり、回転行列を計算してルート上のすべてのポイントに適用すると、実際のルートが得られる可能性がありますが、これを行うにはもっと良い方法があると思い始めます。 たぶん私は球の中心とルートポイントを通る平面を取得し、それを球と交差させて測地線を取得しようとする必要がありますか?しかし、どうやって? あまりにも冗長で、多分間違った英語で申し訳ありませんが、これは私の心を吹き飛ばしています! 編集: 以下のコードは問題なく動作します!みんなに感謝: public void setRouteStart(double srcLat, double srcLng, double destLat, destLng) { //all angles are in radians u = Choords.sphericalToNormalized3D(srcLat, srcLng); v = Choords.sphericalToNormalized3D(destLat, destLng); double cos = u.dotProduct(v); …

2
ベクトルを回転させる
一人称視点のカメラで、視線方向をd1からd2にスムーズに変更したい。後者の方向は、目標位置t2によって示される。 これまでのところ、正常に機能する回転を実装しましたが、回転の速度は、現在の方向が目的の方向に近づくほど遅くなります。これは避けたいものです。 これまでに作成した2つの非常に単純なメソッドを次に示します。 // this method initiates the direction change and sets the parameter public void LookAt(Vector3 target) { _desiredDirection = target - _cameraPosition; _desiredDirection.Normalize(); _rotation = new Matrix(); _rotationAxis = Vector3.Cross(Direction, _desiredDirection); _isLooking = true; } // this method gets execute by the Update()-method if _isLooking flag is up. …
8 xna  c#  camera  rotation  vector 

2
「Advanced Character Physics」に基づく物理エンジンで摩擦を実装する方法
Thomas Jakobsenによる古典的なテキストAdvanced Character Physicsの概念に基づいて、物理エンジンを実装しました。摩擦については記事でごく簡単に説明しているだけで、Jakobsen自身は「これよりも優れた摩擦モデルを実装できるはずである」と述べています。 一般的に、前述の記事の概念に加えて、信頼できる摩擦モデルをどのように実装できますか?そして、どのようにして見つけられた摩擦を円の回転に変換できますか? この質問を私の具体的な実装についてではなく、より一般的にはヤコブセンスのアイデアを優れた摩擦システムと組み合わせる方法について質問したくありません。しかし、これは摩擦をまったく処理しない私のエンジンの現在の状態を示すライブデモです。。http //jsfiddle.net/Z7ECB/embedded/result/ 以下は、この論文に基づいたエンジンで衝突検出がどのように機能するかを示した例です。Verlet統合では、現在と以前の位置が常に保存されます。これらに基づいて、新しい位置が計算されます。すべてのフレームで、円と線の間の距離を計算します。この距離が円の半径よりも小さい場合、衝突が発生しており、円はオーバーラップのサイズ(図のオフセット)に従って問題の線から垂直に投影されます。 速度はVerlet統合により暗黙的であるため、位置を変更すると速度も変更されます。私が知る必要があるのは、円の摩擦の量を何らかの方法で決定し、速度を下げるために円と平行に後方に移動することです。

1
360度のヘビに近づく方法
私は最近XNAに入って、大好きだと言わざるを得ません。Hello Worldゲームの一種として、クラシックゲーム「Snake」を作成することにしました。90度バージョンは、非常にシンプルで実装が簡単でした。しかし、左矢印と右矢印を使用して360度回転できるバージョンを作成しようとすると、ある種の問題が発生しました。 私が今やっていることは、90度バージョンに由来します。尾から始まり、頭の直前で終わる各蛇の体の部分を反復します。これは、100ミリ秒ごとに移動するときにうまく機能します。この問題は、技術的には60 fpsではなく6 fpsでゲームが進行するため、途切れ途切れのスタイルのゲームプレイになることです。 ゲームループごとにヘビを移動したいと思います。しかし、残念なことに、ヘビは頭のサイズの速度で動くため、速度が速すぎます。これは、頭が現在の方向(32、32)ではなく、その方向に(2、2)などのはるかに小さい増分で移動する必要があることを意味します。私は学校を管理している間、このゲームに数週間取り組んできたので、これを達成する方法を考えすぎていたと思います。それはおそらく簡単な解決策です、私はそれを捕まえていません。 これは、私が理解できることに基づいて、私が試したもののいくつかの疑似コードです。それを行う別の方法を本当に考えることはできません。 for(int i = SnakeLength - 1; i > 0; i--){ current = SnakePart[i], next = SnakePart[i - 1]; current.x = next.x - (current.width * cos(next.angle)); current.y = next.y - (current.height * sin(next.angle)); current.angle = next.angle; } SnakeHead.x += cos(SnakeAngle) * SnakeSpeed; SnakeHead.y += …

2
ボーンが指定された方向を指すようにクォータニオンを計算する
この質問を解決するために、ソースポーズの各ジョイントの絶対(ワールドスペース)方向を(正規化された単位ベクトルとして)把握し、ターゲットのジョイントを回転させてその方向に合わせることにしました。問題は、ボーン(ジョイントからその子へのベクトル)がワールド空間で指定された方向になるように回転クォータニオンを計算する方法です。 更新:これが私の現在の考えです。ボーンごとに、変換行列は次のようになります。 (1) absolute transform = local rotation * relative transform to parent in bind pose * parent absolute trasform したがって、3つの関節があるとします:肩->肘->手首。肩の絶対変換が既にあり、肘->手首がソースアニメーションと同じ方向になるように肘の回転を計算しようとしています。(1)から、絶対変換は次のようになります。 (2) ELBOW absolute = ELBOW local * SHOULDER to ELBOW relative * SHOULDER absolute (3) WRIST absolute = WRIST local * ELBOW to WRIST relative * ELBOW absolute 代入すると、次のようになります。 …

1
スプライトがBox2Dボディからオフセットして表示されるのはなぜですか?
これについては、デバッグレンダラーを使用して確認しました。ゲームが始まると、すべてが順調です。しかし、衝突が発生すると、スプライトの回転はその本体よりもはるかに大きくなります。ボディが完全に水平の場合、スプライトとボディは一致します。 スプライトの回転の原点は、本来あるべき場所から遠く離れているようです。これが私のコードです: Sprite sprite = data.sprite; position = body.getPosition(); sprite.setPosition( position.x - sprite.getWidth() / 2, position.y - sprite.getHeight() / 2 ); sprite.setOrigin(position.x, position.y); sprite.setRotation(MathUtils.radiansToDegrees * body.getAngle()); ご覧のとおり、回転の中心を設定しようとしてsetOriginも成功していません。どうすれば修正できますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.