セキュリティ系の勉強・その他開発メモとか雑談. Twitter, ブログカテゴリ一覧
本ブログはあくまでセキュリティに関する情報共有の一環として作成したものであり,公開されているシステム等に許可なく実行するなど、違法な行為を助長するものではありません.

Mayaでパーツごとに別々のimageからテクスチャを作成する&マテリアルのプロパティを動的に変更

//

やば!どうでしょうが新作だってよ!!!!超嬉しいです笑 まぁここでは関係ないけど!

本日は相方に現在制作中のゲーム内で登場する村人(モブキャラ)の作成を依頼されました。できれば一体ずつ作って行きたいのですが、できれば時間は他のところにつぎ込みたいということで、なるべく使いまわせる村人の制作にチャレンジしました。


服の色*ズボンの色*髪の色*個体数

 これだけの変化をつけられれば文句はないでしょうということで、村人に限れば3種類のモデルを作成することにしました。後は、スクリプトからそれぞれの色を変更すれば見た目にもわかりやすいですね!目の配置なども変更できればと思ったのですが、imageとして後からモデルに手作業で貼り付けるぐらいしか思い浮かばず、またゲーム内容的に目はそれほども立つものでもなかったため、今回は諦めて肌のテクスチャと一緒に書き込んでしまうことにしました。まぁこれは必要な妥協ですよ(というか目を動かすとかまだやったことないのでそのうちに)


 で、色を変える方法としてはこちらを参考にします。
マテリアルのプロパティをスクリプトから変更【Unity】 - (:3[kanのメモ帳]


ググって一番最初に出てきてくれました。Shaderは上のサイト様をみて、プロパティ一覧にcolor系の色をいじれそうなものをチョイスしましょう。とりあえず選んだのはLegacyのself-illunimの一番上の方。skyboxが写り込んでしまうのが嫌だったので、これを選びました。


 で、実際にモデルを作成。Rig付けもしっかり行います。完成したものを、手動で色を変更してみました。

f:id:thinline196:20161214004610p:plain
f:id:thinline196:20161214005005p:plain


しっかり変更できますね!なのでおそらく動的にも変更は可能でしょう!ちなみに、デフォルトは白ベースとなっており微妙に柄も付いております。デフォルトを白とすることで、色の変化が鮮明に出るようになります。ベースが青とかだと変化はとてもわかりにくくなりと思います。靴はそんなに目立つ部分ではないですが、靴がないと全身タイツみたいになってしまうので、黒の靴としました。こうすることで、色で上書きがされずしっかり靴を認知させることができると思います。

相方にgitに載せたことをお知らせしてあげました!もしできなかったよーと返事が来た時は、その原因などをここに追記しようかなと思います。



パーツごとに別々のimageからテクスチャを作成する

Maya初心者にはこれが意外と大変でした。なので今回も自我流です。

そもそも、なぜオブジェクトごとに別のimageを用意しようとしたかと言うと、色を変更するためです。上に書いた通りに実装する場合、服の色とズボンの色などはそれぞれ別の色を指定できた方が見栄えもいいですし、パターンも増えます。(全部一色だとジャージ着てるみたいになっちゃう) ところが、パーツを一つのイメージで作成すると一箇所の色の変更が、他のパーツの色も変更してしまいます。。。(と、思っていたのですが、書いていた時に気づいたけど、Materialを別のものにさえしておけば、一つのイメージから読み込んでも他のパーツに影響しないかも。これは試してみる価値ありですね。)
 まぁなのでとりあえず今回は、最初に思いついた方法を使用しました。


 やり方ですが、単にマテリアルを新たに取り付けてやるだけです。笑 この方法を確立するだけでも大変でしたけど笑
なので次回はぜひ、一つのイメージから別々のマテリアルにテクスチャを渡してみたいと思ってます!(グダグダでごめんなさい)

さて、残り二体の村人も作らなきゃな笑 全くの専門外ですが嫌いな作業ではないです(上手くないけど!)笑
以上。