タグ

2013年9月7日のブックマーク (3件)

  • 四元数を用いて方向や回転の補間を行う際の注意点 - yuki-koyama's blog

    はじめに 三次元的な回転や方向を表現する方法として、四元数 (Quaternion) は大変重要なツールです。先日、四元数同士を補間するプログラムを書いていて、ある不具合が起き、原因が分からずしばらく悩んでいました。日語での情報が少ないようでなので、その件について簡単に紹介したいと思います。 四元数とは 四元数の基については Wikipedia を参考にして下さい。 コンピュータグラフィクスやゲームプログラミングの文脈で四元数が登場するのは、方向 (Orientation) や回転 (Rotation) を扱うときです。四元数それ自体は方向や回転を扱うためのものではないのですが、単位四元数 (長さが 1 になるように正規化された四元数) は方向や回転を記述するために利用できるということです。 四元数による方向や回転についてはこちらの記事で大変丁寧に解説されています。 四元数同士の補間

  • マウスの位置にオブジェクトを移動させる - 強火で進め

    Facebookの「Unityユーザー助け合い所」で「タッチした位置にオブジェクトを移動するにはどうすれば?」という質問が挙っていました。 この処理って意外と難しい様な気がしたので自分でも作ってみる事にしました。質問ではタッチ(iPhoneAndroid向け)の話でしたがテストがメンドクサイのでマウスの位置で実装しました。マウスの位置で指定している部分をタッチの場合にはタッチのデータに置き換えるだけでiPhoneAndroidでも動作するかと思います。 ソースコードはこちらで配布しています。 仕組みの概要 今回のお題、背景に地面など何らかのオブジェクトが有る場合には簡単に作成出来ますが何も無い場合には意外と実装がメンドクサイのでは?と思いました。 ゴリゴリ計算すればもちろんできるでしょうが折角Unity使っているのだし簡単にやりたい所です。 と言う事で今回はカメラの前にパネルを一枚引い

    マウスの位置にオブジェクトを移動させる - 強火で進め
  • その48 マウスカーソルで地面を指す

    ホーム < ゲームつくろー! < DirectX技術編 その48 スクリーン座標でワールド空間の地面を指す マウスカーソルを用いる3DのRPGなどでは、カーソルで当たり前のように宝箱を指すことができます。でも良く考えてみると不思議です。マウスカーソルの座標は2次元のスクリーン座標(クライアント座標)です。それに対して宝箱は3次元のワールド空間座標にあります。座標系がぜんぜん違うのに遠近感も考慮して正しく指す事ができる。裏ではいったい何をしているのでしょうか?秘密はスクリーン座標からワールド座標を求めると言う、通常とは逆方向の変換にあります。 この章では、スクリーン座標をワールド座標に変換する方法について見ていき、スクリーンに映っている床をワールド座標レベルで指し示す方法について検討してみましょう。 ① 決め手は「逆行列」 ワールド座標に点Pがあったとします。その点を何らかの行列Mによって移