以前つくったモデル、ウォルターをToolBag2,UE4にもっていってスキンマテリアルのテストをしました。
ポリペイント前のZBrush
ZBrushのBPRでレンダリング、PSで少し調整
ToolBag2でポリペイントのデータそのままレンダリング
SSSの設定はしている
UE4のsubsurfaceを使用
ちゃんとテクスチャつくんないとですね。
2014年11月3日月曜日
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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
struct CustomCode1245Output | |
{ | |
float3 color; | |
}; | |
CustomCode1245Output CustomCode1245Func( float2 UV ) | |
{ | |
CustomCode1245Output OUT; | |
float3 output= float3(0.0, 0.0, 0.0); | |
float dist= 0.004; | |
int radius= 4; | |
for( int i= -radius; i< radius; i++ ) { | |
for( int j= -radius; j< radius; j++ ) { | |
output+= tex2D( SFX_SAMPLER0, UV+float2(i*dist, j*dist)).xyz; | |
} | |
} | |
OUT.color= (output/((radius+1)*(radius+1))); | |
return OUT; | |
} |
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です。
2014年4月14日月曜日
[ZBrush]ZRemesherでリトポロジー
先日作ったスカルをZRemesherでリトポしてみました。
200万ポリから2万ポリの削減です。
歯などはポリゴンの流れを考えて作ってないので
丸まってしまってますね、、、手動でリトポしたほうがよさそうです。
TargetPolygonCount以外の数値は変えてません。
部分的にポリゴンの密度を変えられるようなので
あとで調整してみます。
200万ポリから2万ポリの削減です。
歯などはポリゴンの流れを考えて作ってないので
丸まってしまってますね、、、手動でリトポしたほうがよさそうです。
TargetPolygonCount以外の数値は変えてません。
部分的にポリゴンの密度を変えられるようなので
あとで調整してみます。
2014年4月13日日曜日
[UE4]UnrealEngine4がMacで起動しない
複数PCインストール可能ということでMacにインストールしましたが
起動できませんでした。
Windowsは問題ありませんでした。
起動するときLaunchボタンが表示されるのですが、
MacだとSubscribeボタンが表示されダッシュボードに
飛ばされてしまいます。
ANSWERHUBにも同様の症状があがっているようですね。
https://answers.unrealengine.com/questions/28728/epic-official-report-here-if-you-have-a-subscribe.html?page=1&pageSize=15&so
追記
4/13 15:30頃、確認したところ改善してました。よかった!
起動できませんでした。
Windowsは問題ありませんでした。
起動するときLaunchボタンが表示されるのですが、
MacだとSubscribeボタンが表示されダッシュボードに
飛ばされてしまいます。
ANSWERHUBにも同様の症状があがっているようですね。
https://answers.unrealengine.com/questions/28728/epic-official-report-here-if-you-have-a-subscribe.html?page=1&pageSize=15&so
追記
4/13 15:30頃、確認したところ改善してました。よかった!
[ZBrush]頭蓋骨をつくってみた
ZBrushの2回目のスカルプトのテーマに頭蓋骨をつくってみました。
ZBrushのBPRでコンポジットをしたかったのですが、やり方がわからず
Photoshopで加工してしまいました。
操作はBLESTAR先生のおかげで、だいぶ慣れてきましたが
チュートリアルは半分ほどしかできてません。
次回はトルソーとかに挑戦してみたいと思います。
ZBrushのBPRでコンポジットをしたかったのですが、やり方がわからず
Photoshopで加工してしまいました。
操作はBLESTAR先生のおかげで、だいぶ慣れてきましたが
チュートリアルは半分ほどしかできてません。
次回はトルソーとかに挑戦してみたいと思います。
2014年4月5日土曜日
[ZBrush]BrestarZBrushベーシックチュートリアル
先月からBresterのチュートリアルをやっているのですが、大体基本的なとこは理解できたのかなという感じです。
もともとモデラースペックを持ち合わせてないので、どこまでクオリティをだせるかわかりませんが、、、
チュートリアルを参考にしながら作成。。。
もともとモデラースペックを持ち合わせてないので、どこまでクオリティをだせるかわかりませんが、、、
チュートリアルを参考にしながら作成。。。
2014年4月4日金曜日
[UE4]Unreal Engine4のサブスクリプションに登録しました
やっとUnrealEngine4のサブスクリプションに登録しました。
UnrealEngine3とインターフェイスがだいぶ違うので戸惑っています。
とりあえずwindowsのバイナリをインスールしました。
cascadeやMaterialを見た限りでは内容がUE3と同じような印象なので
インターフェイスに慣れれば、それなりに使えるのではないかと思っています。
PBRだと、マテリアルの見え方もぜんぜん違いますね。
UnrealEngine3とインターフェイスがだいぶ違うので戸惑っています。
とりあえずwindowsのバイナリをインスールしました。
cascadeやMaterialを見た限りでは内容がUE3と同じような印象なので
インターフェイスに慣れれば、それなりに使えるのではないかと思っています。
PBRだと、マテリアルの見え方もぜんぜん違いますね。
2014年4月2日水曜日
[UDK]UDKにsubstanceファイルを読み込んでみる
少し前にsteamでsubstanceを購入したのですが、まったく触っていませんでした。
先日参加したsubstanceセミナーを機にこれからsubstanceについて使い方を覚えていきたいと思います。
セミナーではMayaでsubstanceの読み込み方をやっていたので、今回はUDKでのsubstanceの読み込み方を試してみました。
まず、読み込みsubstanceを用意します。
今回はsubstancePlayerに付属しているレンガのsubstanceを使用しました。
□Substance Player
UDKを起動して、コンテンツブラウザーで右クリック、importを実行します。
C:\Program Files\Allegorithmic\Substance\Player\4.x\samplesに入っている
bricks_008.sbsarを選択。
bricks_008.sbsarを選択。
substanceファイルが読み込まれます。
詳細はわかりませんがSubstance Instance Factoryが読み込んだsubstanceのファイルだと思います。
となりのSubstanceGraphInstanceがsubstanceで定義されているパラメータになります。
となりのSubstanceGraphInstanceがsubstanceで定義されているパラメータになります。
パラメータを変更するとリアルタイムにコンテンツブラウザーのテクスチャーが更新されます。
しかしsubstanceを読み込んでもマテリアルが生成されるわけではないのでマテリアルを作成する必要があります。
コンテンツブラウザーで右クリック、New Materialを選択します。
Material Editorでsubstanceで作成されたテクスチャをマテリアルにコネクションします。
Material Editor上で右クリック、Texture>New TextureSampleを選択します。
Diffuse,Speculer,Normal分の3つのノードを作成し、マテリアルを保存。
BSPにアサインしてみました。
マテリアルをアサインしてもsubstanceのパラメータの変更はリアルタイムに更新されます。
2014年3月8日土曜日
[SubstancePainter]Steamで50%のSubstancePainter購入
さっそく買ってしまいました。
SubstanceDesignerもSteamで買ったのでSubstancePainterのSteamでの販売を
待っていたのですが、意外とはやいものでした。
ざっと触ってみましたが、パーティクルブラシ面白いです。
パーティクルが衝突した軌跡にペイントされます。
まだ、うまく制御できませんが、ぼちぼちやっていきたいと思います。
マテリアルも物理ベースとういうことでパラメータもDiffuse,Roughness,Metallicなどの物理パラメータになってます。
SubstanceDesignerもSteamで買ったのでSubstancePainterのSteamでの販売を
待っていたのですが、意外とはやいものでした。
ざっと触ってみましたが、パーティクルブラシ面白いです。
パーティクルが衝突した軌跡にペイントされます。
まだ、うまく制御できませんが、ぼちぼちやっていきたいと思います。
マテリアルも物理ベースとういうことでパラメータもDiffuse,Roughness,Metallicなどの物理パラメータになってます。
2014年2月21日金曜日
[SubstanceDesiner]Mayaでsubstanceファイルを読み込む
Mayaでsubstanceを使うときのメモです。
- HyperShadeから2DTexture->substanceでsubstanceノードを作成。
- substanceTextureAEでsubstanceFileのところに.sbsarを指定。
- createShaderNetworkをボタンを押せば、Materialが作成されます。
SubstanceDesignerは購入したから一度も触ってないので、そろそろ始めたいですね、、、
2014年2月2日日曜日
[カラーマネージメント]グレー18%カードを購入してみた
撮影用にグレー18%カードを購入してみました。
ついでにスペキュラー除去用に偏光フィルターも購入です。
JJC 3in1 デジタル グレーカード ホワイトバランス GC-2 ポータブルカードタイプ
ケースがないので汚れやすそうだし、傷付きやすそうですね。。。
3枚のカードをスキャナで取り込んでPhotoshopCCでカラー値を計測してみました。
左から
R43 G40 B43 grey 17%
R98 G107 B115 grey 45%
R219 G218 B236 grey 93%
スキャナにはEpson PX404Aを使いましたがRGB値にけっこうばらつきがでてしまいました。
思ったよりばらつきがでてしまったのですが、こんなもんなのでしょうか、、、
また別のグレーカードでも試してみたいと思います。
実際撮影には真ん中のグレーカードを使います。
調整時はグレー46% R117 G117 B117(sRGB空間の中間色)に合わせれば正しい明度になるはずです(まだ試してないので、、、)。
ついでにスペキュラー除去用に偏光フィルターも購入です。
JJC 3in1 デジタル グレーカード ホワイトバランス GC-2 ポータブルカードタイプ
3枚のカードをスキャナで取り込んでPhotoshopCCでカラー値を計測してみました。
左から
R43 G40 B43 grey 17%
R98 G107 B115 grey 45%
R219 G218 B236 grey 93%
スキャナにはEpson PX404Aを使いましたがRGB値にけっこうばらつきがでてしまいました。
思ったよりばらつきがでてしまったのですが、こんなもんなのでしょうか、、、
また別のグレーカードでも試してみたいと思います。
実際撮影には真ん中のグレーカードを使います。
調整時はグレー46% R117 G117 B117(sRGB空間の中間色)に合わせれば正しい明度になるはずです(まだ試してないので、、、)。
[アート]PSG Art Tutorial 日本語翻訳版
だいぶ前に翻訳されたチュートリアルですが、これから絵について学ぼうという方、CGをやっていて自分で絵作りをしようとしている方には参考になると思います。
PSGArtTutorial_JP
私もシェーダーを学ぶにあたり、絵について理解を深めてきましが、とても参考になりました。
PSGArtTutorial_JP
私もシェーダーを学ぶにあたり、絵について理解を深めてきましが、とても参考になりました。
登録:
投稿 (Atom)