バッテラが如く

プログラミングしましょ!

【Unity】Blenderで作ったモデルをテクスチャを含めてインポートする方法

この記事の情報は次のバージョンで動作確認しています。

  • MacOS Monterey (12.1)
  • Unity (2021.3.2f1)
  • Blender (v3.2.2) ※言語設定を日本語にしています
  • はじめに

    どうも、バッテラです。

    Blenderで作ったモデルをUnityに持ってくとマテリアルは自動で作ってくれますが、そのマテリアルに割り当てされているテクスチャが抜け落ちるため普通にやるとこうなります。


    ダンテ像みたいだ。

    テクスチャ込み込みのFBXって作れないの?という思想に誰でもなると思いませんかね?

    結構簡単にできたので手順を共有したいと思います。

    BlenderでFBXファイルを出力する

    テクスチャを含めない一般的なFBX出力方法はこちらの記事を確認してください。

    www.m2game.net

    テクスチャを含めるには下記の設定が必要になります

    パスモードコピーに変更し、右にあるアイコンをクリックします。

    そうすると、このようにマークの色が変わりますね。

    これでFBXをエクスポートします。

    Blender側での作業はこれで終わりです。

    UnityでFBXファイルを読込

    FBXファイルをドラッグアンドドロップでインポートしましょう。

    これでいけるとかと思いきや、このままだと冒頭の画像と同じ状態になってます。

    残念ながら一手間必要でした。

    FBXファイルを選択しMaterialsタブを開きましょう。

    Texturesの右にあるボタンが押せる状態になっていると思いますが、これはテクスチャが含まれている証拠になります。

    Extract Texturesをクリックします。

    これはFBXファイルにあるテクスチャファイルを抽出するというものです。

    FBXファイルがあるディレクトリ(以下)を選択します。
    ※Texturesというサブフォルダを作りその中にいれるのが見やすくてよいです

    すこし待つとこのようにテクスチャファイルが展開されます。

    先ほど真っ白だったキャラがこのように正しく表示されるようになりました。

    その他 (調査事項など)

    リソースパック化は不要

    Blenderでリソースパック化が必要なのかと思いましたが不要でした。

    Blenderファイル直読みだとできなかった

    Unityで.blendファイルを読み込むことができるのですが、これだとテクスチャを含める方法はありませんでした。