TEN24でフリーのモデルをダウンロードしてみたところ、すぐUE4で使えなそうだったので、セールしていた別のヘッドモデルを購入してみました。
ZBrushのデータ、SSSのテクスチャのデータもはいっているので、参考になります。
ランチしてポストエフェクトがかかった状態だと、もう少し綺麗なのですが目のマテリアルがなぜか剥がれてしまったので、エディターからのキャプチャになります。
スキンはsubsurfaceProfileを使用していて、モデルと一緒にはいっていたテクスチャを適当にアサイン。
使用しているのはColor,Normal、Roughness,Specの4枚。
metalはsubsurfaceProfileでは無効のため使用せず、SSSとなっているテクスチャは試しにOpacityにアサインしてみたもの。
2015年2月11日水曜日
2015年2月8日日曜日
[ZBrsuh]4R7をつかってみる
ZClassroomで公開されている、ZModelerチュートリアルをみてみました。
エッジのべベルだけど、一度に適用させることができなそうなので、部分部分に適用させて
Stichとか調整なんでしょうか。
Dynamic subdivでも全体的にべベルを適用することができるので、こっちでもいいかも。
エッジのべベルだけど、一度に適用させることができなそうなので、部分部分に適用させて
Stichとか調整なんでしょうか。
Dynamic subdivでも全体的にべベルを適用することができるので、こっちでもいいかも。
2014年11月3日月曜日
[ZBrush]スキンのレンダリング
以前つくったモデル、ウォルターをToolBag2,UE4にもっていってスキンマテリアルのテストをしました。
ポリペイント前のZBrush
ZBrushのBPRでレンダリング、PSで少し調整
ToolBag2でポリペイントのデータそのままレンダリング
SSSの設定はしている
UE4のsubsurfaceを使用
ちゃんとテクスチャつくんないとですね。
ポリペイント前のZBrush
ZBrushのBPRでレンダリング、PSで少し調整
ToolBag2でポリペイントのデータそのままレンダリング
SSSの設定はしている
UE4のsubsurfaceを使用
ちゃんとテクスチャつくんないとですね。
2014年6月15日日曜日
[ZBrush]これでできるスキンマテリアル チュートリアル
ここ最近ZBrushのスキンマテリアルの試行錯誤をしてました。
参考になりそうなチュートリアルを探していたらちょうどよいマテリアルをみつけたので
記載しておきます。
□Zbrush Matcap for Skin tones
参考になりそうなチュートリアルを探していたらちょうどよいマテリアルをみつけたので
記載しておきます。
□Zbrush Matcap for Skin tones
このスキンマテリアルを適用してみたのがこちら。
あとスキンをポリペイントするさいのチュートリアルもすごく参考になりました!
試してみたのはこちら。
skinShader4にポリペイントしてますが、いい感じです。
2014年4月27日日曜日
[Maya]ShaderFXでCustom Codeをつかってみる
カスタムコードを使用するにはshaderFXエディターを
アドバンスモードに変更する必要があります。
shaderFXエディターで右クリック、tools>toggle Advance Modeを
選択してアドバンスモードに変更します。
アドバンスモードに切り替えると使用できるノードとグループの展開が
可能になります。グループに四角いアイコンが追加されるのでクリックすると
グループが展開できるようになります。
HwShaderNodes>various>Custom codeでノードを作成します。
customCodeNodeのアトリビュートのeditボタンでコードを編集する
ウィンドウが表示されます。
こちらからサンプルファイルがダウンロードできます。
◇ShaderFX
https://gist.github.com/hiko9lock/11342282
Uniform変数を使用にするにはCustomCodeノードの
Texture,Sampler Stateが必要となります。
HwShaderNodes>Texture>Texture Component
HwShaderNodes>Texture>Sampler Stateでノードを作成して
Custom CodeノードのTexture,SamplerStateに接続します。
また、カスタムコード関数の引数にfloat2 uvを指定しているので
HwShaderNodes>Inputs common>UV Setでノードを作成して
Custom Codeノードのuvに接続します。
14行目の
指定されたuniform変数となります。
すべての環境をサポートするにはifステートメントを使用する必要
があります。詳しくはヘルプ参照で。
◇Maya2015オンラインヘルプ
shaderFXカスタムコードノード
今回作成したカスタムシェーダーをplaneに適用させたものになります。
customCodeでフィルター処理もできるので、シェーダー作成も
面白くなりそうですね。
アドバンスモードに変更する必要があります。
shaderFXエディターで右クリック、tools>toggle Advance Modeを
選択してアドバンスモードに変更します。
アドバンスモードに切り替えると使用できるノードとグループの展開が
可能になります。グループに四角いアイコンが追加されるのでクリックすると
グループが展開できるようになります。
HwShaderNodes>various>Custom codeでノードを作成します。
customCodeNodeのアトリビュートのeditボタンでコードを編集する
ウィンドウが表示されます。
こちらからサンプルファイルがダウンロードできます。
◇ShaderFX
サンプルの様にテクスチャーをカラーとして扱うときはいいのですが、
テクスチャーをUniform変数として渡したい時があります。
下記はそのやり方です。
https://gist.github.com/hiko9lock/11342282
Uniform変数を使用にするにはCustomCodeノードの
Texture,Sampler Stateが必要となります。
HwShaderNodes>Texture>Texture Component
HwShaderNodes>Texture>Sampler Stateでノードを作成して
Custom CodeノードのTexture,SamplerStateに接続します。
また、カスタムコード関数の引数にfloat2 uvを指定しているので
HwShaderNodes>Inputs common>UV Setでノードを作成して
Custom Codeノードのuvに接続します。
14行目の
output+= tex2D( SFX_SAMPLER0, UV+float2(i*dist, j*dist)).xyz;ですが、これはCGFX用の書き方となり、SFX_SAMPLER0は
指定されたuniform変数となります。
すべての環境をサポートするにはifステートメントを使用する必要
があります。詳しくはヘルプ参照で。
◇Maya2015オンラインヘルプ
shaderFXカスタムコードノード
今回作成したカスタムシェーダーをplaneに適用させたものになります。
customCodeでフィルター処理もできるので、シェーダー作成も
面白くなりそうですね。
2014年4月24日木曜日
[Maya]Maya2015 ShaderFXでフレネルを使ってみる
Maya2015でShaderFXが使えるようになったので、使ってみました。
今回はフレネルを作成したいと思います。

Fresnel multiplerをEmissiveへ接続したいのですが、型が違うためコネクションできません。
黄緑はfloat,水色はfloat3のため変換が必要になります。
フレネルはカメラと法線からフォールオフ値を計算します。
このフォールオフ値をマスクと利用するためLinearInterpolateMixのmixに
マスクとしてコネクションします。
Hw Shader Node>math>LinearInterpolateMixで作成します。
Fresnel multiplerをmixにコネクションします。
LinearInterpolateMixのアウトプットはfloat4となっているので、さらに変換が必要になります。
Hw Shader Node>values>vectorComponentを選択してvectorComponentを作成します。
このノードはfloat4から任意の成分を抜き出すことができます。
vectorComponentのインプットにLinearInterpolateMixのResultを接続、
vectorComponentのXYZがRGBのfloat3になっているので、これでやっと
Emissiveと接続できるようになりました。
しかし、輪郭だけが白くなっているためフレネルのプロパティの編集が必要です。
グループを開くと、FresnelのMinの値に0.8がはいっていたのが原因のようでした。
グループはTool>ToggleAdvanceModeでアドバンスモードに切り替えるとひらけるようになります。
Fresnelそれぞれの値も調整したいので
Hw Shader Node>values>floatでそれぞれのノードを作成してコネクションします。
これでフレネルっぽくなりました。
またNormalのアトリビュートにNormalMapノードを接続して、
テクスチャーを割り当てるとノーマルマップの法線情報もフレネルに反映されます。
ノーマルに接続されているMultiplyはUVをリピートするために作成しました。
今回ShaderFXを改めて使ってみましたが、実機環境と同じようなシェーダがリアルタイムに使えるのはやっぱりいいなぁと感じました。
今回はフレネルを作成したいと思います。

□ShaderFXマテリアルの作成
- hyperShadeからからShaderFX shaderを選択して、マテリアルを作成します。
- マテリアルアトリビュートからOpenShaderFXを選択してエディタウィンドウを開きます。
- 右クリックでメニューを開き、Hw Shader Node>Lighting>Fresnelを選択します。
Fresnel multiplerをEmissiveへ接続したいのですが、型が違うためコネクションできません。
黄緑はfloat,水色はfloat3のため変換が必要になります。
フレネルはカメラと法線からフォールオフ値を計算します。
このフォールオフ値をマスクと利用するためLinearInterpolateMixのmixに
マスクとしてコネクションします。
Hw Shader Node>math>LinearInterpolateMixで作成します。
Fresnel multiplerをmixにコネクションします。
LinearInterpolateMixのアウトプットはfloat4となっているので、さらに変換が必要になります。
Hw Shader Node>values>vectorComponentを選択してvectorComponentを作成します。
このノードはfloat4から任意の成分を抜き出すことができます。
vectorComponentのインプットにLinearInterpolateMixのResultを接続、
vectorComponentのXYZがRGBのfloat3になっているので、これでやっと
Emissiveと接続できるようになりました。
しかし、輪郭だけが白くなっているためフレネルのプロパティの編集が必要です。
グループを開くと、FresnelのMinの値に0.8がはいっていたのが原因のようでした。
グループはTool>ToggleAdvanceModeでアドバンスモードに切り替えるとひらけるようになります。
Fresnelそれぞれの値も調整したいので
Hw Shader Node>values>floatでそれぞれのノードを作成してコネクションします。
これでフレネルっぽくなりました。
またNormalのアトリビュートにNormalMapノードを接続して、
テクスチャーを割り当てるとノーマルマップの法線情報もフレネルに反映されます。
ノーマルに接続されているMultiplyはUVをリピートするために作成しました。
今回ShaderFXを改めて使ってみましたが、実機環境と同じようなシェーダがリアルタイムに使えるのはやっぱりいいなぁと感じました。
2014年4月19日土曜日
[Maya]ModelingToolKitでシュリンクラップ
以前使ったことはあるのですが、使い方を忘れてのでメモしておきます。
ZBrushでZRemesherでリトポを試みたものの思った通りに
ならなかったのでGoZでMayaにもってきました。
cubeに2回ほどsmoothを適用させてtargetととなるメッシュを作成します。
EditMesh>show modeling toolkitでモデリングツールキットを表示します。
TransformConstraintsからsourceとなるmeshを選択します。
targetとなるメッシュを選択します。
Edit>shringwrap Selectionを実行します。
ターゲットに形状が投影されました!
MayaLTでも同様の操作でOKです。
ZBrushでZRemesherでリトポを試みたものの思った通りに
ならなかったのでGoZでMayaにもってきました。
cubeに2回ほどsmoothを適用させてtargetととなるメッシュを作成します。
EditMesh>show modeling toolkitでモデリングツールキットを表示します。
TransformConstraintsからsourceとなるmeshを選択します。
targetとなるメッシュを選択します。
Edit>shringwrap Selectionを実行します。
ターゲットに形状が投影されました!
MayaLTでも同様の操作でOKです。
登録:
投稿 (Atom)



















