LoginSignup
6
12

More than 3 years have passed since last update.

[Unity][Sculpris][Blender]自作モデルを作ってUnityで動かすまで

Last updated at Posted at 2020-06-14

はじめに

Unityを勉強し始めて何か自作モデルを作って動かしてみたいなと思いました。
とりあえず球体のモンスターのような簡単なモデルにしようと思い作ってみたのですが、思ったより(Blenderが)大変だったのでまとめました。

自作モデルを作って動かしたい方の参考になれば幸いです。

モデル作り

Sculprisでモデルを作りました。

Sculprisは、直観的で操作が分かりやすいため、簡単なモデルなら初心者でも簡単に作れます。
操作方法は、公式の日本語ドキュメントや動画などを参考にすれば簡単に把握できると思います。

モデルの形づくり

まず、モデルの形づくりをします。
上記の9つのコマンドで粘土でこねるように形づくっていきます。
image.png

それぞれのコマンドは、下記のサイトが参考になります。
Sculptris 使い方 目次:3DCG 初心者向けブログ [TRY 3DCG]:So-netブログ

SYMMETYで左右対称に描写できます。
image.png

NEW SPHPEで新たな球体をくっつけられます。
image.png

できました。
image.png

モデルの色付け

続いて、モデルに色を付けていきます。
ただし、色を付けるとモデルの形を変えることが出来なくなるため、「SAVE」で保存しておきます。

「PAINT」を押下すると色を付けることができるようになります。
色は、カラーコードを指定できないので注意してください。

できました。
image.png

色が塗り終わったらテクスチャをpngファイルで保存します。
●Show advanced toolsをチェックして「SAVE TEXMAP」で保存できます。
image.png

さらに、モデルをobjファイルで保存します。
「EXPORT」で保存できます。
image.png

これでモデルを動かす準備ができました。

モデルのボーン及びアニメーション作成

モデルのボーンを作成

Blenderでボーンを入れます。
Blenderが2.8系からGUIががらっと変わっているため調べるときは注意が必要です。

Unityでモデルを動かすだけならボーンを作成するだけで良いです。
テクスチャはBlenderで貼る必要はないです。
(特に、Blender2.8からテクスチャの貼り方がかなり変わっていてしんどかったです)

元々あった白い四角形はDeleteキーで削除して、保存したobjファイルを下記のようにインポートします。
image.png

因みに人型のモデルの場合は、人型のボーンがあるためそちらを使うと簡単です。
何故ならボーンは下記の既存の人型のボーンをモデルに当てはめるだけでよいからです。
image.png
アニメーションはUnity-chanのアニメーションがそのまま使用できるため自分で作成する部分がかなり減らせます。
詳しくは、下記のサイトが参考になります。
【Unity】Blenderで人型のボーンを入れて、Animatorで走るアニメを再生する - おもちゃラボ

残念ながら私のモデルは人型のボーンは当てはめられなさそうなので、ボーンを作成します。
「Single Bone」を押下してボーンを1つ追加してみます。
image.png
ボーンを追加するメニューが出ない場合は、下記のようにツリーでInportしたモデルを選択しているか確認しましょう。
image.png

ボーンがよく見えないので、ボーンを前面にします。
ツリーからAmatureを選択して、タブから「In Front」にチェックを入れます。
Amatureはボーンを追加したら出てきます。
image.png

ボーンを編集するには下記のように「Edit Mode」にします。
image.png
「Move」を選択して動かします。
XYZ軸の赤緑青の矢印上をクリックしたまま動かすとボーンが移動します。
image.png

新たなボーンを追加するときは「Extube」を使います。
image.png
「Extube」は、ショートカットが楽ちんなので、ショートカットを駆使しましょう。
追加したい球体をクリックしてEを押しながらドラッグするとボーンが伸びます。
image.png
ドラッグ後にクリックすると確定されます。
Ctrl+Zが利くため、戻したい時は使いましょう。

左右対称にしたい時は、画面の左にある下記の「X-Axis Mirror」をクリックしてからボーンを追加します。
image.png
左右対称のボーンを追加するときは「Extube」のショートカットであるShift+Eを使って追加します。

他の詳しい操作は、下記のサイトが丁寧でとても良いです。参考にさせて頂きました。
【Blender2.8】ボーンとウェイトペイント【初心者用】 | ゲームの作り方!

できました。
image.png

ボーンとメッシュを関連付ける

「Edit Mode」から「Object Mode」に戻して「Object」→「Parent」→「With Automatic Weights」を選択して、ボーンとメッシュを関連付けます。
image.png

きちんとボーンとメッシュが関連づいているか確認しましょう。
「Object Mode」から「Pose Mode」にしてボーンを動かしてみます。
image.png

ボーンを選択して、下記のコマンドを使ってボーンを動かしてメッシュが付いてきているか確認しましょう。
下記のコマンドは、上から移動、回転、縮小になります。
image.png

今回のモデルは、歩くことを想定しているので、両手両足頭を動かしてみて不具合がないか見ていきます。
頭を移動したら下記のように分離してしまいました。
image.png

どうやら余計なボーンが邪魔していて本来軸としてくっつけるべきボーンに頭のボーンがくっついていなかったみたいです。
ツリーで余計なボーンがないか確認しておきましょう。
あと、ボーンの名前は分かりやすいように書いておくと整理できていいですね。
image.png

ということで作り直したボーンがこちら。
image.png

動かしてほしくないところまで動いていたらウェイトペイントという機能で調整しましょう。
私のモデルは調整するところが特になかったのでそのままにしています。
詳しくは、【Blender2.8】ボーンとウェイトペイント【初心者用】 | ゲームの作り方! が参考になります。(上記で挙げたサイトと同じですが…)

アニメーション作成

「Pose Mode」にして
image.png
画面の下部のビューから「時計マーク?」→「Dope Sheet」を選択してモーションを作っていきます。
image.png

今回は歩くモーションを作っていきます。
「Dope Sheet」を1フレームにもってきて、
image.png
モデルの左足と右手を前に出しておきます。

この状態を「Dope Sheet」に記録していきます。
Aキーで全選択した後、Iキーでメニューを開きます。
メニューでは、「LocRot」(位置/回転)を選択して、ボーンの位置を記録します。
image.png
21フレームに移動して、右足と左手を前に出して同様に記録します。
「Dope Sheet」には、黄色の丸がいくつも付いていると思います。そうすれば記録されています。
image.png

また、上書きが可能ですので、間違えたときは同じ手順で上書きすれば大丈夫です。
コピペもでき、あるフレームの時にCtrl+Cでコピーしてコピー先のフレームを選択してCtrl+Vで張り付けます。
繰り返しを表現するときはこの方法でやると楽です。

詳しくは、下記の動画が分かりやすかったです。
Blenderでアニメーション作成〜Unityで動かすまで [Blender2.8入門] - YouTube

データを保存するときは、「Object Mode」にして「File」→「Export」でfbxファイルで保存します。

image.png

この時、注意したいのが、必要最小限のものだけExportします。
Lightを入れるとUnityに入れた時に謎の光源が常にモデルに当たって真っ白になってしまうこともあります。
なので、「Object Types」には、ArmatureとMeshのみを選択します。Shiftを押しながら選択すれば複数選択できます。
image.png

これでBlenderでの操作は完了です。(長かった・・・)

Unityで自作モデルを動かす

Hierarchyビューで左クリックして、「3D Object」→「Plane」を選択し床を作ります。
Projectビューでfbxファイルをドロップしてモデルのオブジェクトを生成します。
それをHierarchyビューにドロップすればSceneビューでモデルが表示されます。
image.png
モデルが床にめり込んでいたらInspectorビューの「Transform」→「Position」のYの値を調整してください。

テクスチャを貼る

テクスチャを張ります。
Hierarchyビューにテクスチャのpngファイルをドロップします。
Projectビューでモデルのオブジェクトを選択して、
InspectorビューのMatrtialsタブを選択して「Extract Materials」を押下します。
image.png
ここではマテリアルの出力先を選択しますが、基本的にこのまま「フォルダの選択」を押下でOKです。
image.png
(null)というマテリアルが作成されました。
ダブルクリックしてInspectorビューを開きましょう。
Albedoの横にある〇をクリックして先ほど置いたテクスチャのpngファイルを選択します。
image.png

無事テクスチャが貼れてモデルに色が付いたと思います。
image.png

詳しくは、下記のサイトも参考にしてください。
Blenderで作成した3DモデルをUnityに取り込む その6(マテリアルの設定) - MRが楽しい

アニメーションを付ける

Animator Controllerを作ります。「Animator Controller」を押下します。
image.png

Animator Controllerを開いて、「Empty」で新しい状態を生成します。
image.png
作ったNew Stateを選択してInspectorビューで「Motion」横の○を選択しモデルのアニメーションを選択します。
image.png
何故か2つ生成されていますが、.001の方を選択しないと動かなかったです。

モーションを繰り返して動かしたい場合は、モデルのアニメーションのInspectorビューを開いて、「Edit」を押下して
image.png
「Loop Time」にチェックをしておきます。
image.png
「Apply」ボタンを押下して変更を確定します。

あとは、Hieビューのモデルオブジェクトを選択して、InspectorビューのAnimator→Controllerの横の○を選択して先ほど作ったAnimator Controllerを設定すれば完成!
image.png
これで「Play」ボタンを押せばモデルが動くと思います。

出来ました!動いた!

床いらなかったですね…。

まとめ

モデル作りは比較的簡単ですが、ボーンを入れるのがとにかく大変でした。
何故ならBlenderが2.7系と2.8系でGUIがかなり違うからです。
特にテクスチャが違っています。今回Unityで動かす分には読み込む必要がないのですが、読み込むのにかなり時間がかかりました(作業してた時は必須でないと知らなかった)。

あと、ボーンとメッシュを関連付けるため自動ウェイトを選択したのですが、凹凸の少ない綺麗なモデルでないと上手くウェイトが付きません。
そうすると、自分でウェイト付けなおしたりしないといけなくて大変です。
このチュパカブラモデルは自動ウェイトでは上手くメッシュ動いてくれなかったです。


今回のモデルはかなり単純な形だったので助かりました。
6
12
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
12