ブルーノのC#プログラミング & unity勉強日記

プログラミング素人、ブルーノの自主勉強ノートです。他のプログラミングを勉強したい方の助けになれば幸いです。その他趣味の雑記もしていきたいです

Unity / アニメーション(Material編)

f:id:covory10101101276:20180220203115j:plain

サムイ島

 

みなさんこんにちは🌚

先日ついにMHWを手に入れたブルーノです。モンハンでは片手剣が一番好きなのですが今回は趣向を変えて大剣で挑みたいと思っています。

さて今回は前回に引き続きアニメーションについて様々なコンポーネントで試して見たいと思います。マテリアル編!

 

さて、まずは変更するマテリアルをAssets以下に作成しましょう。

f:id:covory10101101276:20180220204041p:plain

赤色と青色のマテリアルを作成しました。

f:id:covory10101101276:20180220204251p:plain

[Add Property]からMesh Renderer > Material Reference[0]を選択します。

また録画ボタンを押して変更を記録しましょう

f:id:covory10101101276:20180220204525p:plain

今度はCubeのインスペクター上のMesh Rendererも赤くなりましたね。このように該当欄の色が変わって見やすくなります。

f:id:covory10101101276:20180220204717p:plain

Redを選択しました。Blueと交互においてみます。

f:id:covory10101101276:20180220205216p:plain

色がチカチカ変わった!でもこれは最初に思ったものと実は違います。前回のRotateのように自然にねっとり変わってほしいですよね笑

それはズバリプロパティの種類が違うからです。今のはReferenceなのでマテリアルのアクセス先を変えるというものだったので変更前と後の間が存在しません。色をグラデーションのように変えるならば直接ゲームオブジェクトの色情報にアクセスする必要があるということですね。

では今のプロパティは削除して、改めて今度は「Material_Color」を追加しましょう

f:id:covory10101101276:20180220210444p:plain

そしてさっきの要領で録画してみます

f:id:covory10101101276:20180220210610p:plain

よく見るとマテリアルのAlbedoのスポイトマークが赤くなっていますね。Material_Colorに該当しているということのようです。さっきのようにいろんな時間でこれを変更すれば...

f:id:covory10101101276:20180220210825p:plain

ねっとり色が変わった!この画面だけでもキーフレームではない部分で色が変わっているのがわかりますね。そしてこれも下のCurvesをクリックすると

f:id:covory10101101276:20180220210939p:plain

色の成分の数値を視覚的に編集できます。先ほどのReferenceの時はこのCurvesはありませんでした。

つまりこのアニメーションという機能は数値で管理されているコンポーネントを直感的に編集できるようになる機能のことのようです。オリジナルのスクリプト内ならばその変数の値を、スポットライトなどの光源ならばその明るさの数値をこのように視覚的に管理して、再生した時に自然に変化させることができるのです。

短いですがこの事実は自分的に大きな発見だったので今回はここまでにしておきます。

 

ExcelVBAでゲームを作っているときは色の効果の変更や画像の回転の時にいちいち微妙に向きや色を変えた画像を用意してフレームごとにその画像参照を変えて....ととても苦労しました。この機能があればもっと滑らかに画像を動かしたり色のエフェクトを手軽に変更できたんだろうなー。やはりUnity、凄すぎです!