# 2020/8/16 更新
どうもラブへです!
このブログは「Unityちゃんを生活させよう」のコンセプトでやっているのに
Unityちゃんの記事が少ないという・・
だから今回はUnityちゃんに表情をつけてにっこり笑顔にしていきたいと思います!
◆自分でAnimetorを設定する
Unityちゃんアセットに元々付属されているAnimetorをアタッチすれば、すぐにUnityちゃんの表情を変化させることが可能です
が、今回はそのAnimetorを自分で作っていきたいと思います!
その前に以前にもAnimetorには触れたことが有りますのでわからないことがあればそちらから読んでいただくことをお勧めします(説明も重複してしまうので・・・)
tubakihimelovehate.hatenablog.com
①まずはプロジェクトビュー>Create>Animetor Controllerで
Animetor Controllerを作成していきます名前は「UnitychanAnime」にして、そのAnimetor Controllerを開きましょう
②Animetor編集画面が出てきたと思います
Layersタブを押して+でレイヤー(レイヤーの説明は後ほど)を追加していきます
名前は「face」とします
③faceを選択した状態で、ステートを3つ作成します
④最初に作ったStateがオレンジ色だと思うので名前を「normal」に変更します
そのほかの二つどっちがどっちでも良いので「angry」と「smile」に変更します
それぞれのステートを選択するとInspectorにMotionという項目があるので
waitステート = default@unitychan
smileステート = smile1@unitychan
angryステート = angry1@unitychan
のMotionをそれぞれ探してアタッチしましょう
⑤「normal」ステートを右クリック>Make Transitionで矢印をsmileに伸ばしていきます
そのあと同じように続けてこの状態にします
⑥パラメーター作成
Parameterタブに切り替えて+でパラメーターを3つ作成していきます
全てBoolで作成して順番はなんでも良いので先ほどの3つステートと名前を一緒にします
⑦⑤で伸ばした矢印のInspectorからConditions項目があるので+で⑥のパラメーターを追加していきます
例えばnormalからsmileに伸びる矢印ではsmile = trueを設定し、反対はnormal = trueにします
そのほかも例のように設定していきます
⑧新たにC#スクリプトを作成して下のコードを打ち込んでください
これをUnityちゃんにアタッチすれば完成!
・・・ではありません!
実は今回の記事はここからが本番なのです
◆アニメーションレイヤー
アニメーションレイヤーとは部分ごとにアニメーションを設定できたり、
さらに同時に2つ以上のアニメーションを実行できる機能です
先ほど②で記述していたレイヤーとはこのことです
今回設定したMotionのangryやsmileは顔用に作成されたもので、そのままUnityちゃんにアタッチしても動きません
アニメーションレイヤーの機能を使ってUnityちゃんの顔(face)だけに作用するよう、設定しましょう
アニメーションレイヤーの設定は②で追加したレイヤー「face」のイガイガボール笑
みたいなところから設定できます
とりあえず一番重要なMask項目から説明していきます
◆Maskの作成・設定
maskでそのレイヤーがどこに作用するものか設定できます
そのためにAvatar Maskが必要になります。もちろんUnitychanには最初から付属されていますが、これも自分で設定してみましょう
①プロジェクトビュー>Create>Avatar MaskでAvatar Maskを作成し、名前を「face_Avatar」にします
Inspectorを見るとHumanoidとTransformが存在します
※今回はTransformで設定していきますがHumanoidものぞいてみましょう
これはオブジェクトを人型に設定していればこのように感覚的に選択することもできる
という機能です
ではTransformに戻りましょう
②Transform項目を開くと
「Use skeletion from」という項目がありますので「unitychanAvator」を探して選択して、その下のImport skeletionを押すとこんな感じになります
これを一つずつ選択していくのか・・・と私も思いましたがTransformなので
親のチェックが外れると子のチェックも全て外れます一度全て外しましょう
チェックをつけるのはたったこれだけです
末尾に「_DEF」と付いているものだけチェックしてください
これをfaceレイヤーのMaskに設定すれば完了です
◆weight項目
レイヤーの重みづけをします
他のレイヤーに対してどのくらいアニメーションを実行するか設定します
この項目は1にしておきましょう
そうすることで例えばBase Layerに歩くアニメーションが設定されていれば
歩きながら表情を変化させることが可能です
※ここを0にすると全く動きません
0.5にしてUnityちゃんのsmile1など実行すると半笑いみたいになります笑
その他の項目は今回使わないのでそのままにしておきます
◆完成
「UnitychanAnime」をUnitychanのAnimetorに設定すれば完成です!
お疲れ様でした
前の記事と合わせるとこんな風に歩きながら笑顔にしてあげることができました!
tubakihimelovehate.hatenablog.com
こんな感じでUnityちゃんをどんどん可愛くしていこうと思ってます!
今回はそんなに文字打った気がしないけどまた3000くらいなってました・・・
できれば短い記事で投稿頻度をあげていきたいけどいつになることやら
ではまた