Blenderで登録したシェイプキーをUnityで操作してみる
2016年09月18日

Blenderで登録したシェイプキーをUnityで操作してみる

今回はBlenderでシェイプキーに登録した顔の表情を、Unityで操作してみようと思います。

まずはUnityにBlenderのデータを入れる前にシェイプキーの値を0にしておきます。

Blenderのシェイプキーの値を0にする

そしたらデータを保存してUnityに投入します。

UnityにBlenderのデータを入れる方法はこちら
Blenderで作った3DモデルをUnityで動かしてみる

3Dモデルをシーンに配置したらBlenderでシェイプキーを登録したオブジェクトをヒエラルキーから選択します。

シェイプキーが登録してあるオブジェクトを選択

今回はSpartaのHeadにシェイプキーを登録したのでHeadを選択しています。
対象のオブジェクトを選択するとインスペクターにSkinned Mesh Rendererというのがあります。
その中にBlendShapesというものがあり、さらにその中にBlenderでシェイプキーに登録したものがあります。

Skinned Mesh RendererのBlendShapes

この値を変えてあげればシェイプキーに登録したように3Dモデルが変形します。
ただし注意しなければいけないことがあります。
Blenderではシェイプキーの値は0〜1の範囲ですが、Unityでは0〜100の範囲で指定する必要があります。

試しに今回登録してある口を閉じる動きのMouthCloseの値を1にしてみます。

BlendShapesにあるMouthCloseの値を1にした

全然口を閉じていませんね。
では今度は値を100にしてみます。

BlendShapesにあるMouthCloseの値を100にした

今度は口を閉じましたね!
このようにBlenderとUnityではシェイプキーの値の設定が違うので注意が必要です。

今回はここまでにして次はスクリプトを使ってBlendShapesの値を変えてみたいと思います。

【Unity】BlendShapesをスクリプトで操作してみる
スポンサードリンク
タグ:UNITY
posted by ナオ at 15:28 | Comment(10) | Unityの使い方メモ
この記事へのコメント
こんにちは。
こちらのサイトを拝見させていただき、blenderモデルにシェイブキーを登録してunityに投入しました。ですが、Skinned Mesh Rendererの中にBlendShapesという欄が見つかりません。何が原因なのか教えていただけないでしょうか?
他サイトも何個か拝見しましたが解決しなかったので、こちらにて質問させていただきました。
お返事待ってます。
Posted by Nork at 2018年10月12日 00:08
>Norkさん

返信遅くなってしまいすみません。
blenderでシェイプキーを登録後にしっかりデータをセーブされましたか?
Posted by 管理人 at 2018年10月19日 07:31
してるんですがやっぱり出来なかったです,,,,,
Posted by Nork at 2018年10月19日 17:53
>Norkさん

Unityで確認しているオブジェクトはBlenderでシェイプキーを登録したオブジェクトと同じ物でしょうか?
3Dモデルのデータがどのようになっているのか分かりませんが、子オブジェクト等もチェックしてみて下さい。
Posted by 管理人 at 2018年10月19日 22:14
目の瞬きのシェイブキーをやろうとしています。
blenderファイルをFBXにする際になんか気をつけるべきこととかあるんですか?blenderでは普通にシェイブキーは動くんですが、、、、
Posted by Nork at 2018年10月19日 23:37
>Norkさん

FBXにする際はBlenderとUnityでは軸の向きが違うからその辺りを気をつけないといけないとかは聞きますが、BlendShapesが表示されないこととは関係ありませんよね・・・。
僕も色々設定をいじってエクスポートしてみましたが何をやってもBlendShapesは表示されます。なのでFBXにする際に気をつけることは特にないように思います。

逆にNorkさんはエクスポートする際に何か設定を変更した点がありますか?
Posted by 管理人 at 2018年10月20日 01:06
>Norkさん

もしかしたらですが3Dモデルを作成した際にミラー等のモディファイアーを使って適用していない状態ではありませんか?
モディファイアーを適用していない状態だとシェイプキーはエクスポートされないみたいです。

その辺りを確認してみて下さい。
Posted by 管理人 at 2018年10月20日 01:35
色々いじってる内に設定変更したかもしれないからそのせいかと思いましたがそんなことないみたいなのでよかったです。
モディファイアーはパーティクルシステム1とアーマーチュアが適用されてないんですがこれらも適用しますか?
Posted by Nork at 2018年10月20日 16:41
>Norkさん

試してみたところアーマチュアはそのままでもBlendShapesが表示され、パーティクルシステムを付けると表示されませんでした。なのでパーティクルシステムが原因じゃないかと思います。

僕はBlenderでパーティクルシステムを使ったことがないので詳しくは分かりませんが、パーティクルはUnityに3Dモデルを入れてからUnityの方で設定してみてはどうでしょうか?
Posted by 管理人 at 2018年10月20日 17:31
>管理人

パーティクルシステムを外してunityにモデルをいれた所、無事にBlendShapesが表示されるようになりました。
今まで色々とご教授いただき本当にありがとうございます。
友人などにこういう事に詳しいものが居なくてとても助かりました。
Posted by Nork at 2018年10月21日 16:37
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]