募集要項

  • ■ボイスの募集は終了しました。

    非常に沢山のご応募ありがとうございました!

     結果はこちら
2017年5月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

« 【Maya Tips】 Maya2016新機能ざっと触ってみた所感 | トップページ | 【Unity Action】 平らな地面からの脱却 »

2015年4月29日 (水)

【Maya Tips】 Mayaでの頂点カラーを使ったシェーダー調査

先週の記事で、地形のテクスチャをRGBAに持たせるという
ネタを書きましたが、
実用に当たって、Maya上でも同様のシェーダーを再現できなくては
という事で調べてみました。

ちなみに、「Maya(もしくはそれに類するツール)持ってないわ」だったり、
「Unityで頂点カラー設定するからいいわ」
といった人は、

Vertex Painter & Vertex AO($5)
http://u3d.as/content/pixelstudio/vertex-painter-vertex-ao/2wo

あたりを購入すればUnityだけでも行けます。多分(有料なので試してない)

それはそれとして、本題としては、
「Maya上で頂点カラーに応じて違ったテクスチャを反映させるシェーダー作りたい」
(かつ、Unity上でライトマップも同時に使える)

です。

1からシェーダー書ける人はそれで良いですが、
私は簡単なのしか書けません(キリッ

なので、MayaのShaderFXのお世話になってみます。
ぶっちゃけ今まで使ったこと無かったんですが、
Shder Forgeとほぼ同じだったので入りやすかったです。

↓頂点カラーを使ったテクスチャブレンドの例

■ShaderFX(Maya)
0001_shaderfx

■ShaderForge(Unity)
0001_shaderforge


上記はどちらもdiffuseのみの「最低限の構成」なので、
ノーマルやらスペキュラやらも使う場合は別途追加が必要です。

というわけで適当にヌリヌリと試してみた所、
ちゃんとUnityで反映させる所まで行けました。

感覚的にはTerrainのテクスチャペイントと同じ感覚で行けます。すばらしい。
0001_maya_2

ただ、1点詰まった所がありました。
ShaderForgeで今回作ったシェーダーに対して、
ライトマップ使用のチェックを入れても
ライトマップを実際に焼くと正しく表示されなかった点です。

これは、一応エラー箇所のソースを直に編集して潰したら
ちゃんと表示されました。

色々なシェーダー作る勉強にもなりましたし、
頂点カラーによるブレンドもなんとか使えそうな流れになって来ましたヽ(´ー`)ノ
(贅沢しなければ・・・)

« 【Maya Tips】 Maya2016新機能ざっと触ってみた所感 | トップページ | 【Unity Action】 平らな地面からの脱却 »

Maya Tips」カテゴリの記事

コメント

カラスさん

今回の記事も永久保存版です。
ありがたや~(-人-;)

Mayaには手が出ませんが(遠い目)、頂点カラーはBlenderでも出来そうですね。

ShaderForge(Unity)の設定例も画像が大きくて、とても解りやすいです!
ライトマップに関するエラーはC#やシェーダーのソースが読める程度なら直せますかね?

ともあれ、いつも貴重な情報感謝します。

>マルソさん

すいません、完全に返答失念してました・・・(;・∀・)
今更ですが、ライトマップのエラーは見ればすぐ分かるレベルです。
環境によっては出ないかも?

後、上記画像は、アンビエントライトにライトカラー入れてますが、
本来必要ありません。ちょっと見やすくするために入れてたの忘れてました。。。

いつも拝見させていただいています。

Maya LT2016とUnity5でこの記事と同じことをしようとしていたのですが
http://hiko9lock.blogspot.jp/2013/11/mayaltshaderfxunity.html
この方と同じようにそのままインポートできなかったのですが
やはりUnityにインポートするには色々手を加えたのでしょうか?
(個人的にUnityに送信する機能が出来たのに使えないのが気になったので)

因みにVertex Painter & Vertex AOは軽く試してみましたが
メッシュの頂点数に比例してかなり
重くなるようでして、少し使いづらい印象でした。

>takarabako18 さん

ShaderFXに関しては、そのままインポートはできないと思います。
私の場合は、MayaとUnityで、「同じ効果のシェーダーを別々に作成」して
実装しています。

また、Vertex Painter & Vertex AOの感想ありがとございます。
動作が重いんですね・・・。5$ですし、贅沢は言えませんが残念です><;

ご回答ありがとうございます。

なるほど、あくまで表示の確認用ってことですかね。
となるとやはりShaderForgeを使わないとかなりの手間になりそうですね…
私もシェーダーそこまで書けないので
正直Unityなどミドルウェアに親和性が高くなってきたので
このあたりもできれば対応してほしいな、と思わなくもないですが

Vertex Painter & Vertex AOは使い方次第かもしれませんが、今の状態だと
極々小物に限られるかなぁという印象でしたね

すいません少々質問です。
現在映像制作系でmayaの仕事をしている身ですが
UNITYを使っているゲームメーカーの転職狙いでリアルタイムレンダリングの勉強中で
データの作りがプリレンダリングのデータ構成と違うため色々苦難しております。
背景MAPのシャドウを落とす際等も処理を軽くするためテクスチャに影を焼き付けてしまうのが主流なのでしょうか?

> コーディー さん
返信遅くなり申し訳ありません。
リアルタイムシャドウに関しては確かに重いです。

なので、特にモバイルでは影は焼付けが多いのですが、
最近はモバイルのスペックもよくなってきているので、
場合によってはリアルタイムシャドウを使用する場合もあります。

とはいえ、影は焼き付けたほうが他に処理をさけるので、
結局の所、ゲームという括りでは取捨選択。という風に言わざるを得ない感じです。

お返事ありがとうございます、やはり影は重さを見つつ工夫ということなのですね。
後もう1点申し訳ありませんが質問なのですが。
karasuさんはフィールドを作る際の地面はどのように作っていますか?
自分は映画やアニメCGプロダクション出身でプリレンダーすればよかったので
今までポリゴン数とか軽さは完全に無視して製作してきたのですが。
ゲームを作る場合はそこら辺も考えないと行けないと聞きます。

思いつく方法は平面のオブジェクトに繰り返しUVのマテリアルを割当繰り返しUVがばれないようにアルファについた雑草などのテクスチャ平面を更に上からかぶせる。
もしくは建物、壁、地面みたいに全てのテクスチャを1枚にまとめてしまいRPGツクールの
マップチップみたいにポリゴンを張って埋めていくか、と考えてますが、karasuさんはどのようなやり方でフィールド等作っておられますか?

>コーディーさん

対象がPCのゲームであれば、Terrainを使ってもいいと思いますが、
モバイル向けだと、↓の記事が主な分類でしょうか。
http://hideapp.cocolog-nifty.com/blog/2015/04/unity-tips-2c1f.html

基本的にはシェーダーで処理するのが良いかと思います。
とはいえ、作りたいテイストにもよるので、これがベスト!とは言えませんが・・・。

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1500357/59819821

この記事へのトラックバック一覧です: 【Maya Tips】 Mayaでの頂点カラーを使ったシェーダー調査:

« 【Maya Tips】 Maya2016新機能ざっと触ってみた所感 | トップページ | 【Unity Action】 平らな地面からの脱却 »

Twitter等

  • にほんブログ村 ゲームブログ ゲーム制作へ

メールフォーム

  • 直接コンタクト取りたい方はこちらからどうぞ

サイト内検索
ココログ最強検索 by 暴想