裏鍵.dump

自分用備忘録。内容に脈絡を求めてはいけない。

ボクセルモデルを切り分けて顔のテクスチャを差し替える

どうにもタイトルを考えるというのは苦手だ。

タイトルから想像していたのと違う話だったらごめんなさい。

 

 

前回までの作業

urkgdmp.hatenadiary.jpで、当初の目的は無事完了したので、もっと使いやすくするための話。

 

今は、モデル全体のテクスチャ情報を1枚の画像に保存している。

f:id:cores0316:20160729191005p:plain

この状態だと、顔のようなどこか一部分だけを変えたいとき、そこだけを書き換えた全体の画像をそれぞれ用意してやらないといけない。

これはとても無駄が大きいのでなんとかしたい。

 というわけで、Blender上で必要なところだけモデルを分割して、それぞれのモデルからテクスチャを作成するという方法を採ってみる。

 

 

・モデルを切り分ける

 まず、Blender上でモデルを切り分ける。

今回は顔の表情を変えたいので、顔の部分だけを切り取ることにする。

 

Object Modeでモデルを選択した状態にして、Edit Modeに移行する。

赤枠の部分のボタンを押して、面選択モードに切り替える。

f:id:cores0316:20160810234954p:plain

顔にあたるところの頂点をSHIFTキーを押しながら右クリックで選択していく。

f:id:cores0316:20160810235249p:plain

 そしてPキーを押して表示されたメニューから、「Selection」を選択する。

f:id:cores0316:20160810235255p:plain

これで顔の部分だけ分割できた。

 

試しに選択して動かしてみる。ひ、ひぃ・・・。

f:id:cores0316:20160810235555p:plain

 

 

・別々にUV展開

ここまで来たら、後は前回までにやったことのある作業だ。

 

顔以外を選択した状態でUV展開して頂点色を焼きこみ。

顔の部分が無くなって構成が変わっている。

f:id:cores0316:20160811000635p:plain

 

顔を選択した状態でUV展開して頂点色を焼きこみ。

ただ、サイズは標準の1024x1024では大きすぎるので128x128にした。

また、「Smart UV Project」を使用すると画像サイズ全体に引き伸ばされたUI座標で長方形になってしまうため、メニューの一つ上にある「Unwrap」を使用した。

f:id:cores0316:20160811002906p:plain

 

それぞれのテクスチャを画像で保存する。

 

作業していたBlenderも進捗を保存して閉じる・・・前に、忘れていた。

モデルを切り分けたときに名前がついているので、右上のウィンドウから適当な名前に修正しておく。

変更前

f:id:cores0316:20160811005259p:plain

変更後

f:id:cores0316:20160811005636p:plain

 

・別の表情を作っておく

顔のテクスチャを編集して、確認用に下記のような画像を作った><

f:id:cores0316:20160811004827p:plain

 

 

・Unityに取り込む

blendファイルをUnityに放り込む。

Materialsフォルダの下に2つのマテリアルが出来ている。

f:id:cores0316:20160811011349p:plain

モデルの方も、分割したものがそれぞれ入っている。

f:id:cores0316:20160811011520p:plain

Texturesフォルダを作成してテクスチャを取り込む。

顔の背景透過色をいつの間にか変更してしまったらしい・・・。

f:id:cores0316:20160811012030p:plain

 

あとはマテリアルにテクスチャを指定すれば切り替えられるので、ソースで好きなときに変更できる。

試しにInspector上で変更してみた。

f:id:cores0316:20160811012741p:plain

f:id:cores0316:20160811012749p:plain

 

いい感じだ><