2010年09月28日

イカ娘でトゥーンのテスト

100927a.jpg

 ちょいと息抜き。
 MAXの標準機能でInk 'n Paintを使わないトゥーンシェードの方法がわかったので、イカ娘を作って試してみた。


 まず、輪郭線はmental rayのコンタ シェーディングで設定。いろいろあるけれどDepth Fadeっていう画面からの距離によって線の太さが変わるやつを使ってみた。
 Ink 'n Paintに比べて綺麗で早いのだけれど、線が出て欲しい部分・出て欲しく無い部分を設定できないのと、一応線の太さを変化させる項目はあるものの、手描きっぽい線には出来ないのが大分イマイチ。輪郭線は法線反転モデルの手法のがいいかもしれない。
 
 で、トゥーンの陰影は、自己照明を100にしたマテリアルの拡散反射光カラーに、フォールオフを入れる方法で作成。フォールオフタイプをシャドウ/ライトにして、ミキシング曲線を階段状にしたらトゥーンぽくなった。


100927d.jpg100927f.jpg

 シンプルなのはこんな感じ。
 左は色のみのマテリアルで、フォールオフのカラーを設定して、ミキシング曲線を弄っただけ。
 右はテクスチャで模様が入るもの。基本的には同じだけれど、色を設定する変わりに明・暗それぞれテクスチャを作って適用している。拡散反射光カラーにRGB乗算を入れて、片方をテクスチャ、もう片方を色のみのフォールオフにして陰影を乗算で入れる方法もあるけれど、陰用のテクスチャを作ってしまったほうが思った通りの色に出来るので確実な気がする。

100927e.jpg

 ハイライトが入るものはこんな感じで、フォールオフの中にさらにフォールオフを入れて設定している。今回は必要なさそうだったので入れなかったけれど、この方法を使えば陰側の照り返しに色を入れたりなんかも出来る。


100927h.jpg

100927g.jpg

 ついでに、常にカメラの方を向く髪のハイライトを作ってみた。
 UVを動かして向きを維持するようにするのだけれど、そのままだと髪の毛自体のUVもうごいてしまうので、通常のテクスチャ用のUVとハイライト用のUVのマップチャンネルを分けておく必要がある。
 まず、UVWマップ モディファイヤを円柱状に設定して掛けて、マップチャンネルを2に設定。
 次に、髪のマテリアルの拡散反射光カラーにミックスマップを入れて、片方は普通に髪のマップを入れて、もう片方はハイライト用に白にしておく。で、ミックス用のマスク画像のマップチャンネルもUVWマップと同じく2に。
 んで、ヘルパーをUVWマップのギズモの基点と同じ位置に作成して、ギズモとヘルパーのZ回転をワイヤパラメータで繋ぐ。最後にヘルパーをルックアットコンストレイントでカメラの方に向くようにしたら完成。

※※間違えました。コメントにて指摘されて気づきました。修正ついでにちょっと詳細に書き直します。※※

  正しくは↑の手順後、ダミーを作成してUVWマップのギズモの基点に位置を合わせる。さらに、エクスポーズTmというヘルパーをシーンのどこでもいいので適当に1つ作成して、エクスポーズTmのパラメータ内の"エクスポーズするノード"にダミーを選択する。これでダミーの回転値をエクスポーズTmが取り出してくれるようになる。
 このエクスポーズTmの"オブジェクト→ローカルオイラーZ"とギズモの"z回転"をワイヤパラメータで繋げば、ダミーをz回転させると、ギズモもz回転するようになる。
101105a.jpg101105b.jpg

 ここまではこんな感じ。自分の場合はワイヤパラメータで繋いだ際、ギズモが180°ずれていたので、+degtorad(180)で調整している。

 次に、カメラを作成して、ハイライトが正しく表示されるように配置する。ハイライトを真正面に向くようにダミーを回転しておいて、カメラも真正面に配置するのがいいかも。
 その状態でダミーをカメラにルックアットコンストレイントをかけてルックアットの設定の"オフセット初期値を保持"をチェック。
 これで完成。

 エクスポーズTmを咬ませる理由は、、ルックアットはIKと同様にそのままでは回転の値が取り出せず、ワイヤパラメータで繋いでも動かないため、エクスポーズTmで値を取り出す必要がある。

※※ここまで追記※※


100927b.jpg

 モデルはこんな感じ。
 一応ちゃんと立体で作ったけれど正面からの見た目以外は調整していないので、他の角度から見るとショボイ。とりあえずフォールオフのトゥーンを試したかっただけなので今回はこれで良し。
タグ:3DCG
posted by 縦横 at 00:15| Comment(10) | イカ娘 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
イカ娘他の作品すごいです!かわいいです、ちびイカ娘寿命150年もつくってほしいです!


突然なんですがしつもんがあります。

"んで、ヘルパーをUVWマップのギズモの基点と同じ位置に作成して、ギズモとヘルパーのZ回転をワイヤパラメータで繋ぐ。最後にヘルパーをルックアットコンストレイントでカメラの方に向くようにしたら完成。"

の設定がいまいちわかりません、ダミーをルックアットするのですがうまくいきませんよろしければ、繊細な事をおしえてください、めんどくさかったらいいです。
Posted by WM at 2010年11月05日 06:02
ヘルパーをUVWマップのギズモの基点と同じ位置に作成して、ギズモとヘルパーのZ回転をワイヤパラメータで繋ぐ

ここまではうまくいきますが ダミーをカメラにルックアウトするとギズモのせっていがリセット?されうまくいきません。
すいませんなども・・・
Posted by wm at 2010年11月05日 06:16
コメントありがとうございます。
すみません間違った説明を書いてしまいました。

ギズモとダミーをワイヤパラメータで直接繋ぐ部分が間違いで、ルックアットはIKと同様にそのままでは回転の値が取り出せず、ワイヤパラメータで繋いでも動いてくれません。

そのため、エクスポーズTmというヘルパーをシーンのどこでもいいので適当に1つ作成して、エクスポーズTmのパラメータ内の"エクスポーズするノード"にダミーを選択します。これでダミーの回転値をエクスポーズTmが取り出してくれるようになります。
このエクスポーズTmの"オブジェクト→ローカルオイラーZ"とギズモの"z回転"を繋げばダミーをカメラとルックアットで繋いでもちゃんと動くようになると思います。

あまり意味のある画像では無いですがこんな感じです。
http://siden-j.up.seesaa.net/image/101105a.jpg

申し訳ないです。
他にもうまくいかない、良くわからない等ありましたらお気軽にコメントしてください。
Posted by 縦横 at 2010年11月05日 22:57
ありがとうございます、さっそくやってみます。
日本ではこの手のサイトでレベルの高いのはすくないですが(外国のサイトはチュートリアル多くて羨ましい)、SIDENさんはレベル高くて尊敬しますたまたま見つけたサイトですがたまにこれからもお邪魔させていただきます。
Posted by WM at 2010年11月06日 05:39
はじめまして。
非常に参考になりました。
ありがとうございます!
Posted by pnc at 2011年04月20日 20:32
お役に立てたならなによりです。
もう少しわかり易い文章が書けたらとはちょっと思ってます。
Posted by 縦横 at 2011年04月22日 01:45
はじめまして、3DCGの勉強をしている学生です。
Ink'n Paintでは思うようにいかずにPencil+の購入を検討していたのですが、色んなアプローチがあるのですね……。

このブログの応援も兼ねてコメントさせて頂きます。
Posted by 己巳弥生 at 2011年06月01日 00:55
コメントありがとうございます。

3DCGは覚えるのがかなり面倒ですが、慣れてしまえばゲームグラフィックっぽいものや写実的なもの、イラストっぽいものまでいろいろ作れてとても楽しいですね。
勉強がんばってください。
Posted by 縦横 at 2011年06月02日 00:19
えっ、これはマテリアルは何を設定すればいいのですか?
こんなに見事なのははじめてみました。
レンダー回りも含めて詳しく教えてほしいのですが。
Posted by YMZK at 2016年11月29日 16:18
コメントありがとうございます。

記事に書いた事以外は特別な設定とかはしていません。
陰影は拡散反射マップにフォールオフを、輪郭線はメンタルレイのコンタを使って入れています。
Posted by 縦横 at 2016年11月29日 22:30
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。