【3Dゲームエンジン】Unity質問スレッド32 at GAMEDEV【3Dゲームエンジン】Unity質問スレッド32 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト905:名前は開発中のものです。 17/12/14 19:21:23.88 JR7j67YV.net >>862 3次元のベクトルを回転させるのに、なんで4x4行列なの? 回転行列って、3x3行列じゃないの?? 906:名前は開発中のものです。 17/12/14 20:39:20.26 AuQKwcV0.net >>866 移動と回転とスケーリングができるように、 アフィン変換行列になっているからです。 Matrix4x4.TRS(position, rotation, scale) で4×4行列に入力できますが、 出力する時は、 Vector3 = Matrix4x4.MultiplyVector(Vector3) によって、Vector3で入力して、 Vector3で出力できるようになっています。 907:名前は開発中のものです。 17/12/14 20:55:53.20 N8/aZDnG.net >>867 はえ~すっごい‥ 908:名前は開発中のものです。 17/12/14 21:30:51.37 AuQKwcV0.net >>859 909:回転行列MでベクトルV0を回転させて、ベクトルVにするには、 Z軸で30度回転する場合は、 Quaternion Q = Quaternion.Euler (0, 0, 30); Matrix4x4 M = Matrix4x4.TRS (Vector2.zero, Q, Vector2.one); Vector3 V0 = new Vector3(1, 2, 3); Vector3 V = M.MultiplyVector (V0); これを、QuaternionとVector3の演算で行うと、 Quaternion Q = Quaternion.Euler (0, 0, 30); Vector3 V0 = new Vector3(1, 2, 3); Vector3 V = Q * V0; 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch