2016年3月6日日曜日

sht_hair シェーダー用specular texture blue channel

さっちゃんのガワとアニメ作りがひと段落したのでテクスチャを作っていたのですが
髪の毛用のnormal mapを作り

コレを適用した所

いきなり禿げ散らかしました

れいむを作った時にも似た事が起こったのでデフォルトのまま使っていたスペキュラーテクスチャーのblue channelを0から50ほどに

そして適用

おさまりました

つまりsht_hair シェーダー用specularテクスチャーのblue channelは同じくhair シェーダー用のnormal mapを参照して透過を制御する、と
普通にdiffuseテクスチャーのalpha channelを適用するより凹凸を参照しながら透過させるのでより立体的に見えるようです

謎が一つとけました
でもまあこんなややこしい事はマニュアルにちゃんと書いときやがれください運子!


2016年3月5日土曜日

ShouldersAndHands用アニメの留意点3

まさかこのアニメ関連で三回記事を書くとは思いませんでした

駄マニュアルにはこうあります
HandL_solo_LR: - The left hand moves left and right from the wrist at frames 0 and 30, while going
through idle at frame 15.

idle at frame 15.

他のHand_soloアニメも同じく15.
ではその通り作ってインポート

ずれました

公式に文句言ってやろうかと思いましたが英文考えるのがめんどくさいので止めました
soloアニメを個別にインポートし、ローカルでずれたフレームを検証という苦行を六回繰り返して得た結論

HandL/R_solo_UD = idle at frame19
HandL_solo_LR = idle at frame 19
HandR_solo_LR i= dle at frame 13
HandL/R_solo_Twist = idle at frame 13

これでインポート

誤差はあるかもしれませんが許容範囲

いやはやてきとーな仕事してはりますなww

2016年3月4日金曜日

ShouldersAndHands用アニメの留意点2

faceRigではshift + clickで腕を動かせます
shift + ctr + clickで手首を動かせます

で。
Hand_solo_UDアニメを作りました
手首を上下に動かすアニメです
インポートすると
shift + clickの状態でHand_solo_UDの0フレームが再生されます
これバグじゃねえのかと公式に書こうかと思ったんですが、これをバグとして処理してしまうと既存のアバターのアニメを全部作り直す必要があるのでやらないでしょうし止めました

ですので腕を動かす以下のアニメはHand_solo_UDの0フレームでの手首の回転分を考慮して作る必要があります
HandL_closeDown_LR
HandL_closeMiddle_LR
HandL_closeUp_LR
HandL_farDown_LR
HandL_farMiddle_LR
HandL_farUp_LR
HandR_closeDown_LR
HandR_closeMiddle_LR
HandR_closeUp_LR
HandR_farDown_LR
HandR_farMiddle_LR
HandR_farUp_LR

私はもうめんどくさいのでHand_solo_UD側で手首を上に動かないようにしました

ShouldersAndHands用アニメの留意点

デフォルトで指を曲げているポーズで作りました


手を動かすアニメで開かせました


インポートします

指は動きませんでした

○ァック!!

指を伸ばした状態で作り、スペシャルポーズ等で曲げるのがこの場合の正解でしょうか
もっとも現時点ではスペシャルポーズ・アニメ共にクライアント側の不具合で動きません
Holtech仕事しやがってください

*追記
次の記事に書きましたがshift + clickで腕を動かすとHand_solo_UDの0frameが再生されます
そしてHand_soloアニメだと指が動かせます
ですのでHand_soloアニメで手首を動かすのと同時に指を動かせば手を開けます

次の次の記事に書きましたがHand_soloアニメはidle poseをとらせるframe数がおかしな事になっていますので注意

2016年3月3日木曜日

愚痴る

faceRig用の3Dアバターを三体作ってわかった事

素体有りの場合にfaceRig用に作り変えて使えるようにするのに大体一週間かかります
素体から作るとなるとさらに短くても一週間程度必要です
これはモデリング、リギング、スキニング、アニメート、及びfaceRigの仕様に相当慣れている私の場合です

さて、計二週間。安く見積もって日当1万として14万。技術者としては破格です

仮にアバター一体をDLsiteで税込540円で販売するとして、手取りは一本あたり270円。
つまり519本売れないと14万をpayできません
一本1080円だと手取り648円なので217本でpay出来ますが、私なら買いません
一本108円なら売れそうな気がしますが手取り54円なので2593本出ないとpayできません
まだfaceRigユーザー数が少ない現時点では非現実的な数字です

Live2D用のアバターの場合なら二十時間、三日ほどで何とかなりますから3万として
一体540円で販売なら111本、108円で販売なら555本。
まだ現実的な数字ですが無料で出来のいいアバターが手に入るのに買う人はそう居ないでしょう

つまりfaceRigで商売すんのは無理じゃね?というアレな結論
いやまあひょっとしたら爆売れするかもしれないんで売ってみますが。

フリーで技術投げ売りしてる同業者全滅しねえかな!すぐでいいよ!!

2016年2月11日木曜日

sht_hair シェーダーを使ってみる

可愛いれいむをfaceRig用に作り直しているのですが
sht_hairという名前からして髪の毛用らしいシェーダーがありましたので使ってみました

要素は以下四つ
diffuse("d")
normal("b")
specular("s")
anbient occlusion("ao")

diffuse及びnormalは通常通りでしたので省略
specular("s")用のテクスチャーを作ります

Red channel
さて公式マニュアルにはこの一文があります
-The red channel of the specular texture is not used, it should be set at 255 default value.
「スペキュラテクスチャのR channelは使わないから255にしとけ」

では比較
私はもうこの駄マニュアルは参考程度にしか信じません

Green channel
-used to set values for different materials,from 0 for hair and cloth,to 255 for other material types(metal,plastic,etc).
0は髪や服、255はその他

比較
違いがわかりませんので0にしておきました

Bule channel
-used to specify areas of object that remains unaffected by lighting resulting in a light emitting effect when placed in the shadow (glow in the dark effect), 0 for non emissive and 255 for full emissivity.

とりあえず0にしてみると
禿げる

嫌味か貴様ッッ

禿げるというかカメラから遠い谷になっている部分が透けるようなよくわからない挙動です
25%でも所々禿げ散らかし、50%だと何も無し
一部変形もおこっていますので何か別の用途でしょう
とりあえずemissiveじゃありません

よくわからないので禿げ散らかさないように適当に
Alpha channel
-gives information about the Specular Power 0 for no specular 255 full specular.

テストしてみると
影の部分では変化が無いのでスペキュラーの強さではなく光の影響を制御するようです
明確に境目が出てますので何かしら変わるんでしょうけど正直違いがわかりません

よくわかりませんが境目がでるように適当に濃淡をつけました

結果
faceRigは光が物凄く強い背景がありますので抑えめにしました


次にanbient occlusion("ao")を
通常の3Dだと嘘影用に使われる皆大好きなアレです
駄マニュアルにはこうあります
-The ambient occlusion textur is interpreted like this:
Red channel: Not used, 255 default value.
Green channel: Direct light Attenuation 0 means no direct light (only ambient and radiosity) 255 full direct light intensity.
Blue channel: Not used, 255 default
Alpha channel: Base PPAO

デフォルトのaoテクスチャーは全て255です
Red channel
変化無し。255で良し

Green channel
説明通りdirect lightの影響度の制御のようです
0だと光が当たっても明るくなりません

Bule channel
変化無し。255で良し

Alpha channel
一応影はつくようですが、100%と0%ですらうっすらとした差しか出ません

これGreen channnelだけでいいんじゃねえのとか思いつつ
specular用に作ったグレースケール画像をGreenとAlphaに張り付け
光が当たった時に髪の筋が少し出る程度にしました

ao用テクスチャの説明に限っては間違いは無いようです
最初に説明文読んだ時にウッソくせえ('A`)とか思ってスマンHoltech!

でも疑われないようなちゃんとしたマニュアル作ってくださいやがれHoltech!!

2016年1月29日金曜日

Pseudophysics driven bonesを使って揺らしてみる

Pseudophysics driven bonesはfaceRigで使われる髪の毛やアンテナ等の動くと揺れるボーンです

この特徴は
・振り子運動である。移動による圧縮延伸は起らない
・物理では無くあくまで揺れるだけの物で重力の影響を受けず当たり判定も無い
・現行verでは揺れる角度の制限も出来ない

うん、ごっつ使い辛い!

しかし受動的に揺らすにはコレしかありません

基本的な構造は下記が一セット

(Root > 揺らすボーン) + フラグ用Locator

揺らすボーンは各Root毎に一本限定
フラグ用ロケーターはボーンでも可ですがボーン数には上限があるので出力されないロケーターを使うのがベターです
フラグ用ロケーター名は"Rootボーン名" + "_planeNormal"とする必要があります
フラグ用ロケーターを持つRootボーンの子が揺れるようになります
例: Hair > HairPhys > Hair_planeNormal だとHairPhysが揺れる

フラグ用ロケーターの場所はどこでも関係ないようで、Rootの親にしても揺らすボーンの子にしても認識しました

自分が解りやすい場所に置いておけばいいようです

取りあえず作ってみます

適当に作った角柱にボーンを入れてほどよく曲がるようにウエイトを塗ります

フラグ用ロケーターも忘れずに

インポートしてテスト

揺れました

が。

この構造だと前後と右方向には揺れますが左方向には揺れませんでした
マニュアルにはこうあります
-The Y axis of this third bone represents the normal of a collision plane, which can be used to restrict the physics bone movement.
このthird boneというのがフラグ用ロケーターです
今のロケーターの回転軸を見てみるとこうなってます

Y軸がrepresentsされているのであれば左方向にも動き、後方には動かないはず

マニュアルにはこうもあります
-Beware that in some 3D applications Y and Z axis must be swapped from what Facerig is using.
Z軸が基準となって動くのであれば左方向には揺れない事に説明がつきます

実験
Y軸の方向はそのままにZ軸を変更

そしてテスト

前後左右に動くようになりました
Mayaの場合はZ軸が基準になるようです

つまり揺れるボーンの可動域はオリジナルの角度から+-60度ほどで、かつフラグ用ロケーターにより定められた範囲内に限る、と

これを利用すると髪が顔を貫通しないようには出来ます
しかしおっぱいの微妙な揺れを制御するには絶望的に足りません!
おっぱーとしては機能増強を強く要請します!!

って公式スレッドに書いたら消されるでしょうか