1. ホーム
  2. c#

[解決済み] Unityでtransform.upを設定するとどうなるのか?

2022-02-25 09:19:40

質問

unityでtransform.upの値を設定するとどうなるのでしょうか?具体的には、以下のリンクにあるこのビデオについて説明してください。

https://youtu.be/_XdqA3xbP2A

オブジェクトが見ているものが変わるのはわかるのですが。しかし、それは位置を見ているのか、それともどのように は働きますか?直接transform.upを変更するとどうなるのでしょうか? なかなかいい説明が見つからないのですが。動画のベクトルはなぜマウスを向いている方向を作るのでしょうか、引き算ではなくmousePositionそのものを使えばいいのでは?

それはさておき、ビデオで何が起こっているのかについても説明していただけますか?

ありがとうございました。

どのように解決するのですか?

基本的にオブジェクトを移動させるときは、その位置と回転を基準にするので、あるオブジェクトのY位置を+1して、このオブジェクトが回転していれば、その方向にインクリメントすることになります。

が、Vector3.upでは、ワールド空間を参照として使うので

ここで完全な答えを与えたいのですが、私はいくつかの数学で入力する必要があります。単純化すると、transform.upはスプライトが指している方向で、彼はこのように方向を取得します。

"mousePosition.y" (GREEN) はマウスのY位置、"mousePosition.x" (RED) はマウスのX位置、この二つの値で、座標、または方向(青いトレース線)、どのユニティが四元数に変換して、回転(これは2次元)に値を適用することができます。

となってしまい、間違った方向に進んでしまいます。