【Unity】Blenderで作った3Dモデルをインポートする

当サイトで紹介する商品・サービス等の外部リンクは、アフィリエイト広告を含む場合があります。
スポンサーリンク

Unityはゲームを作成する際に非常に優秀なエンジンで、
ボタンやテキストなどのUI・プレハブが基本的にそろっています。

各国のゲーム会社がUnityエンジンを使用していて、
「ポケモンGo」や「原神」、「Among Us」など様々な大ヒットゲームが開発されました。

しかし、同じ開発エンジンを使用しているのに、
自分がこれらゲームと同じクオリティーを作ることは難しいです。

それは、経験不足という観点もありますが、
アニメーションや素材(3Dモデル、背景・ステージ、キャラクター)、演出が十分でないため、
クオリティの低いゲームとなり彼らプロが作ったゲームと差が生まれてしまいます。

本記事では、3Dモデルを自分で自作(モデリング)してその素材をUnityにインポートします。

本記事は次の人におすすめ
  • Unityで質の高いゲームを作りたい
  • Blenderの3DモデルをUnityにインポートしたい
  • Blenderの使い方を知りたい
Udemyで学習する
スポンサーリンク

3Dモデル作成ソフト

3Dモデル作成ソフトについて

3Dモデルの作成と聞くとデザインの学校で学び、
業務を何年も積んだその道のプロがやることというイメージがあるかと思います。

今は、作成ソフトが普及したことで3Dモデルを作ることは難しいことではありません。

本記事では、無料と有料のソフトを紹介します。
無料だから使い物にならないというわけではありません。

完全無料の方がネットや書籍に情報が網羅されていて、
販売できるほどのクオリティーの素材を作成できます。

無料ソフト

無料ソフトの代表的なものは次の通りです。

使用者も多く情報の網羅性が高いので、第一歩としてお勧めです。

Blender

Blender(ブレンダー)は、利用者が多く、数多のプロが愛用しています。
私自身、3DモデルをUnityで動かしたいと思ったとき、Blenderを知りました。

独学で1時間半ほどでチェスのポーンを作成、Unityに導入、操作までできました。

Blenderはオープンソースのソフトウェアです。
できることは主に表にまとめるようなものがあります。

モデリング敵・味方などのキャラクター、建物、乗り物、ステージなどを作成
アニメーションモデリングした素材に動きを付けて、アニメーションを付与
シミュレーションアニメーション(球と壁の衝突)でどのような影響があるか、演出
ライティング照明による光や影の生成、その他。色や質感を付与
動画編集アニメーションとして書き出した動画に音楽の付与や動画を繋ぎ合わせる

その他、Blenderでは色々なことができますが、
市場を拡大しているAR/VRは、ゲームエンジンの使用やプログラミングが必要なのでできません。

前述したように初心者から上級者、プロまで幅広く利用していて、
さらに書籍やブログ、Youtubeで多くの情報が公開されていますので、独学が可能です。

日本語にも対応しているので、言語の壁はありません。

しかし、Blenderは非常に負荷がかかるソフトで、
PCがフリーズしてしまうことがあります。
特に、アニメーション操作、物理演算をすると重負荷がかかります。

Unityと同様で、メモリは最低でも16GBは必要です。(16GBならフリーズせずに動作可能)

16GBのPCを買うという選択肢もありますが、
ハイエンドCPUにグレードが上がり、非常に価格が上がってしまいます。

おすすめは、メモリ8GBのパソコンに8GBのメモリを増設することです。
増設は、誰でもできるので、ぜひ自分で試してみてください。

メモリの増設について紹介しています。

ProBuilder

ProBuilderは、Unity搭載の3Dモデル作成ソフトです。
Blenderは、Unityと操作性が異なるので、何度も間違えます。

Unityを愛用していれば、ProBuilderの操作は非常にやりやすいのでおすすめです。

Unreal Engine

Unreal Engineは、Unityと同じように有名なゲームエンジンです。

プログラミング不要でゲームが作成という点でも非常に注目度が高いゲームエンジンで、
3Dモデル作成もできます。

Vroid Studio

Vroid Studioは、pixivが運営する3Dの人型アバターを作成できるソフトで、
WindowsやMacだけではなく、iPadでも作成できます。

プリセットを使用してモデルを作成できて、初心者でも扱いやすく、
キャラクター素体を自由にカスタマイズできるので、専門性も高いです。

有料ソフト

導入費用はかかりますが、前述した無料ソフトは、
維持が困難な場合は改定して有料化することも考えられますし、無料だとツールに制限がかかります。

有料だけど、優秀なソフトを早いうちからプロが使うツールを導入すると、
時代に左右されずにキャリアを積むことができます。

MAYA

MAYAは、キャラクター、背景、エフェクトなどほぼすべてのモデリングが可能です。
ゲーム会社の中で有名企業が導入しており、CMや映画などでも使用されています。

ただし、プログラミングのスキルが必要なので注意が必要です。

3dsMax

3Dモデリングとレンダリングが特徴的で、広大なゲーム世界の創造やVR体験の表現に最適です。

また、アニメーションCGやエフェクトなどの作成はプラグインでできて非常に豊富にあるのでお勧めです。

おすすめはBlender

これらすべての3Dモデル作成ソフトでBlenderに軍配が上がります。
非常に操作性が高く、またUnityとの相性も良いです。

ここまで優秀なのに無償でモデリングできるので、使わない理由はないでしょう。

ただし、機能が多く理解しきれずに挫折することが考えられます。

基本的に、自分が作りたいものを見つけて、
それを制作している教材を本やネット(おすすめはYouTube)で探してください。

そして、そこで使用した機能を少しずつ使っていけば挫折することなく完成します。

UdemyでUnityを学習

Udemyは、オンデマンド式の学習講座です。
趣味から実務まで使えるおすすめの講座を紹介します。

\Unityの学習から収益化の方法はこちらから!/



Unityに3Dモデルインポート

3Dモデルのインポートについて

Unityに3Dモデルをインポートするには、
初めにBlenderで素材をエクスポート(出力)して、そのあとにUnityに導入します。

Unityで対応しているファイル形式は引用に示した通りです。

Blenderでは、「.fbx」形式で出力できますので、
作成したマテリアルのエクスポートをしていきます。

Unity は .fbx、.dae (Collada)、.3DS、.dxf、.obj、.skp ファイルを読み込むことができます。3D ファイルのエクスポートに関しては、3D モデリングソフトウェアのドキュメントを参照してください。

3D アプリケーションからモデルをインポートする方法-Unity

Blender側の操作

Exportしたい素材を選択してください。(オレンジ色の囲いが選択されていることを示しています。)

その後、上部から「File>Export>FBX(.fbx)」を選択してください。

出力するときは、「Transform」の数値を必ず確認してください。
この数値がずれていると当たり判定がおかしくなったり、
変な方向を向いたりとゲームのバグにつながります。

Locationを0m、Rotationを0°、Scaleを1になっているかXYZの3方向で設定してください。

FBXファイルの出力

Exportする前にObjectTypesに追加の選択が必要になります。

現在は、1つしか選択されていません。

出力の設定

これの選択が不十分な場合、出力した3DモデルはUnityの画面で表示がされません

Unityのエラー

したがって、ObjectTypesの項目を追加してください。
自分の素材にどれを選べばいいか分からない場合は、基本的に全て選べば大丈夫です。

オブジェクトのタイプ

項目をクリックしても各々しか選択できませんので、
「Shift」を押しながら左クリックして選択してください。

ここまで出来たら、「Export FBX」を選択して出力して下さい。

Unity側の操作

出力したFBXファイルをAssetsウィンドウにドラッグ&ドロップして導入してください。
失敗例とは異なり、サムネイルが出力した3Dモデルになっています。

プレハブの表示

AssetsウィンドウからHierarchyウィンドウに素材をアタッチしてください。
これにて、3DモデルをUnityに導入できました。

付録.3Dモデル動作

3Dモデルには基本的に動作が必要なので、付与していきます。

現在は、オンラインゲームが主流です。
PUNアセットを使えば、サーバーを立てずにマルチプレイができます。

通信対戦の方法を紹介しています。

よくUnityを開発していて、プレハブ(ゲームオブジェクト)が壁や床をすり抜けてしまうということがありますが、「Rigidbody」と「Box Collider」の設定をしていないのが原因です。

Assetsウィンドウで対象のモデルを選択し、
Inspectorウィンドウの下部にある「Add Component」から「Physics」を選択してください。

そこから「Rigidbody」と「Box Collider」をアタッチして下さい。

物理演算の追加

Rigidbodyは、物理演算をゲームオブジェクトに付与させる機能で、
重力を付与するために必要です。項目から「Use Gravity」にチェックを入れてください。

Rigidbody を使うと、ゲームオブジェクト を物理特性によって制御する事ができるようになります。リジッドボディに力やトルクを加えると、オブジェクトをリアリスティックに動かすことができます。重力の影響を加えたり、スクリプトを使って力を与えたり、NVIDIA PhysX 物理エンジンを通して他のオブジェクトと相互作用させるためには、ゲームオブジェクトにリジッドボディを加える必要があります。

Rigidbody – Unity マニュアル

床や壁のすり抜けは、Box Colliderによって制御します。

Box Collider (ボックスコライダー) は立方体をした基本的なコライダーです。

Box Collider – Unity マニュアル

Box Colliderのデメリット

Box Colliderは、名前の通り箱の中にオブジェクトを入れて、
その箱に接触すると衝突することになります。

故に、細くなっているところでも枠内に入っていれば、接触という判定になります。

Box Colliderの欠点
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class collision : MonoBehaviour
{
    private void OnCollisionEnter(Collision collision)
    {
        if (collision.gameObject.CompareTag("Player"))
        {
            Debug.Log("接触");
        }
    }
}

このスクリプトを3Dモデルにアタッチして、棒にPlayerタグを付けます。
示したように接触していないにも関わらず、アタリ判定が出てきてしまいます。

当たり判定がNG

したがって、厳密な接触判定を必要するゲームが必要であれば、
Box Colliderの使用は控えてください。

まとめ

Unityは、各国のゲーム会社が使用していて、大ヒットゲームが開発されました。
しかし、同じ開発エンジンを使用しているのに、自分がゲームを作ると陳腐なものになる。

それは、経験不足によるアニメーションや素材、演出の不十分が原因で、
クオリティの低くプロが作ったゲームと差が生まれてしまいます。

したがって、質の高いゲームには素材は大切です。
現代は3Dモデルを作成ソフトが普及したことで、誰も高品質なものを作成できます。

その中でもBlenderは無料であり非常に操作性が高く、またUnityとの相性も良いです。(FBXファイル)
ただし、機能が多すぎて理解しきれず、挫折することが考えられます。

Blenderでの出力は「File>Export>FBX(.fbx)」を選択してください。

ゲームバグにならないように「Transform」の数値をLocationを0m、Rotationを0°、Scaleを1になっているか確認してください。

Exportする前にObjectTypesに追加の選択が必要になります。
これの選択が不十分な場合、出力した3DモデルはUnityの画面で表示がされません。
ObjectTypesの項目を「Shift」を押しながら左クリックして全て追加してください。

出力したFBXファイルをAssetウィンドウにドラッグ&ドロップして、3DモデルをUnityに導入してください。

3Dモデルを扱うときは、「Rigidbody」と「Box Collider」を使用してください。

Udemyで学習する

この記事を書いた人

プロフィール

アリッシア

                 

大学4年間で何か胸を張れるスキルを身に着けたくて当サイト運営を始めました。
現在、大学院に進学するか就職するか迷いながら勉強しています。
詳しいプロフィールはこちら

Contact icon

contact

X icon

X

Instagram icon

Instagram

Note icon

Note

スポンサーリンク
Unity
フォローする
タイトルとURLをコピーしました