スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

雑記

書くことなくて長らく放置していたのでとりあえず。
いやまぁネタがないわけじゃないんですけどね、ちょっとね、バタバタしてたので……うぐぐ。

去年6月だか7月だかに生放送でやったテクスチャの話とか、メタセコ4のウェイトのちょいテクとか。
記事にしておきたいネタはあるのです。
ただ案外まとめるのがめんどry

なんだかんだでちょこちょこ見に来ている方がいるっぽいのでありがたい限りです。
ひょっとしたら検索で来てたりするのかもですが。
なにげに顔影モーフ需要あるっぽいですしね……。

ではでは。
スポンサーサイト

MMDモデルの顔の影をモーフで消す方法(逆も紹介) ※PMX限定

顔の影は消したいけど、でも、シェーダー使うと顔色が悪くなる……。
そんなことってありますよね?
てなわけで、材質モーフを使ってそれを実現する方法をお教えします(´・ω・`)ノ

まず、PMXEditorを用意します。
次にモーフを作成したいモデルを読み込み、顔の材質をIndexコピーをします。
0_20150621210946166.jpg
うちのモデルは【face】です。

モーフタブで材質モーフを作成(リストで右クリック→新規モーフ作成→材質)します。
そしたら、右の空白で右クリックをし、Indexコピーから追加を2回してfaceのIndexを2個追加します。
1_20150621210730e76.jpg

Indexをダブルクリックすると設定画面が開くので、1つを乗算で図のように
3_20150621210732701.jpg

もう一つを加算で図のように設定します。
2_2015062121073145c.jpg

念のため別名で保存したらMMDで開いて確認します。
6_20150621211411425.jpg

セルフシャドウが図のようになれば成功です。
ちなみにToonの色は変わらないので、ボーンを選択している状態(セルフ影がOFF)だと何も変わらないので注意です。

ちなみに画像のような真っ白のToonを用意し、モーフで顔の影を出すことも可能だったりします。
8_2015062121141334e.jpg
この場合は、ちょっと計算がいります。
RGBの値を調べ(ペイントソフトなどでわかります)、
9_20150621212216758.jpg

その値を0~1に直し(該当の数字を255で割れば出ます)、
10_20150621212835214.jpg

乗算でToonのRGB各値に設定するか、加算でマイナスする(この場合、該当数値を1から引いた数)と出来ます。
11.jpg12.jpg


また、同様の方法でスフィアを消すこともできます。
該当材質のIndexで材質を作り、
4_201506212107348ce.jpg

加算モーフの場合、図のように設定します。
5_201506212107354a6.jpg

保存したらMMDで確認します。
7_20150621211413ffe.jpg

Toonの時同様、ボーン選択画面(つまりセルフ影がOFFの時)では変化しませんので注意が必要です。

乗算スフィア(Sph)の場合は顔の影と同様にして消すことができます。


で、この方法でシェーダー乗せたらどうなるのかというと、Toonの方はちゃんと色が反映されます。
アルファ値だと反映されないらしいので、地味に重要ですね。
13.jpg
なぜかスフィアの方は反映されません。
シェーダーによっては上手くいくかもしれませんが……。
多分、スフィアは大体シェーダーで、加算乗算設定とスフィアの画像を引用していて、材質モーフの値を取っていない、という話なのでしょう。
また、このシェーダーはAlternativeFullで自作したシェーダーで、自己乗算入れてるのでそれもあるかもしれませんので、必ずしも色が反映されてくれるかはちょっとわかりませんが。


ちなみにどうしてこうなるかというと、要はToonやスフィアの色計算の話です。
Toonは乗算、スフィアは加算と乗算でそれぞれ計算しています。
で、乗算は白で透明(白は1,1,1。1をかけても数字変わりませんよね?)、加算は黒で透明(黒は0,0,0。0を足しても数字変わりませんよね?)です。
まぁ、厳密に言えばどちらかというと白を乗算したり黒を加算しても元の色が変わらないとゆー話なのですが、まぁ、こんな感じで。

そんなわけで、Toonや乗算スフィアは該当のToonやスフィアマップが白に、加算スフィアは該当のスフィアマップが黒になるようにモーフの数値を設定しているわけです。
なので、Toonはやろうと思えば加算で影色のRGB値をマイナスしてもできます。計算必要ですが。
乗算スフィアは大概色がごっちゃなので、乗算で一旦黒にしてから加算で白にしているわけです。
0はかけたらどんな数字でも0になりますからね。これ地味に便利です。

ちなみに、やればわかりますが、きちんと0,0,0もしくは1,1,1になるように数値を入れないと真っ黒になったり影が白く発光したりしています。
まーこれも色々理由あるのですがそこは説明めんどくさいので省略っ。

今回はこれで以上ですっ。

宣伝と本選モデル公開

まずは宣伝から。
スマホを使って楽しむタイプのカジュアルVR「Milbox」のキャラクター、九十九みるちゃんのMMDセットアップをやらせていただきました!
http://milbox.tokyo/
とっても良い表情するのでぜひぜひ遊んでみてください~♪
新規キャンバス







はいでは次に動画投稿報告ですん。



本選使用モデルのイル、優真、皐月及びステージ2種配布開始してます。

優真は小芝居やるためだけに衣装換え作りましたwwwww
小物類は要望あったら~って感じですが、特になさげなので多分放置。

新作報告

ブログ更新したついでにまとめてどバーっと。










とくにMMD杯本選動画とか今更にもほどがありますが、まぁ、うん。

指定タイミングで音声を再生@Unity5

物凄くメモ。
Unity5でaudio.PlayOneShot使えなくなっちゃったので。

///// 以下サンプル /////

#pragma strict
private var sound : AudioSource;

function Start(){
   sound.GetComponent<AudioSource>(); //都合上<>は全角にしてます。
}

function Update () {
   if(Input.GetKeyDown(KeyCode.Return)){
     sound.PlayDelayed(0);
   }
}

//////////////////////

まず、AudioSourceのGetComponentがいる。
まぁこれはpublicにしてD&Dでもいいんだけど。
Play関数も廃止されちゃったので、再生はPlayDelayed();
ラストのカッコにはfloatで何秒後に再生か指定出来る。
とりあえず瞬間で鳴らしたいなら0。

音声関係はUnity5で色々新しくなった関係で結構廃止されたのも多いみたい。
AudioClipの指定ではなく、AudioSourceのコンポーネントの取得がメインになるっぽいのかな。
プロフィール

黒羽紫鴉

Author:黒羽紫鴉

Q.このブログって何を書くの?
A.3DCG(主にMMD関連)やOculus Rift等のVRなど、適当に書きます。

Q.黒羽紫鴉って誰?
A.MMDモデラーでボカロPで何か絵描きっぽいものです。
 ちなみにP名はR-tenPです。
 MMDモデル関連で言うなら黒羽式の中の人です。
 最近ゲームプログラマに進化しました。

Q.何者だよ。
A.ただの学生です。

Q.お仕事依頼したいんだけど。
A.
rinforzando968✩gmail.com
(☆→@)
へどうぞ。
具体的な内容は仕事関連をご覧下さい。
状態:受付不可

Q.腐ってる?
A.腐ってないので、その手の話は何か話題にならない限り出てきませんのでご安心ください。

Q.他にどんなサイトやってるの?
A.リンク集をご覧下さい。

リンク
最新記事
カテゴリ
月別アーカイブ
Count
最新コメント
最新トラックバック
検索フォーム
RSSリンクの表示
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。