6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

BlenderからUnityへエクスポートする時の回転軸について

Last updated at Posted at 2023-02-15

概要

Blenderで作ったオブジェクトをUnityに持っていくと、パッと見正しく表示されたように見えますが、Rotationがいい感じに調整されているだけなのでゼロにリセットするとオブジェクトは横倒しになっていることに気づきます。(気にしなければこのままでも使うことはできますがVector3.forwardなどで正しい方向が取得できないかもしれません)
これをRotation X=0 Y=0 Z=0でも正しい表示にする方法を共有します。

本文

まず

BlenderのObjectモードで設定した値はUnityのTansformに反映されてしまいます。
UnityのTransform値をデフォルト状態にしたい場合はObjectモードをむやみにいじらないのが良さそうです(編集作業はEditモードで)
スクリーンショット 2023-02-15 23.17.09.png

次に

こちらがUnityの座標軸です。Z方向がオブジェクトの正面でY方向が上方向です。
スクリーンショット 2023-02-15 23.23.03.png

対してBlenderではテンキー1を押した時正面に向くのが-Y方向でZ方向が上方向です
スクリーンショット 2023-02-15 23.23.30.png

この違いからBlenderで頭の方向(Z軸方向)がUnityに移すと横倒しになる現象が起きてしまいます。

どうすればいいのか?

BlenderでObjectモードのRotationのXだけ90°回転にします。そうすればあとは、テンキー1を押した時こちら側の向きを正面としてモデリングするとうまくいきます。
(以下のスクショでは赤色を正面と見立てて作成しました)
スクリーンショット 2023-02-15 23.45.22.png

Unityに持っていくとTransformがデフォルト状態で正しく表示されました。(正面Z軸 / 上方向Y軸)
スクリーンショット 2023-02-15 23.44.12.png

おまけ

エクスポート時の設定例です。(ボーンがある時はArmatureもON)
状況によって設定は変わってきますが、今回の場合Apply ScalingsはFBX Allがいいと思います:raised_hands:
スクリーンショット 2023-02-16 0.27.35.png

おまけ2

既に作成済みのモデルの場合は上の手順を応用します。
ObjectモードでRotationのXだけ90°回転させます。
「R」「X」「90」で90°回転
モデルが横倒しになりますがEditモードに移って
「A」で全選択
「R」「X」「-90」で90°回転
このようにして起こします。
(ピボットポイントが変な位置にあったりオブジェクトが分かれている時などはそれぞれ対応が必要になります)

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?