気まぐれ過ぎて方向性がよく分からない一応3DCGのブログ
カレンダー
01 | 2025/02 | 03 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
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 |
ブログ内検索
最新記事
(05/08)
(04/24)
(10/22)
(06/19)
(05/06)
カテゴリー
アーカイブ
Pixiv
デイリーランキング100
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
今月10日発売のCGWORLD(vol.166)でヘアに関する記事を書かせていただきました。
先月号から始まった「3ds Maxプロダクションワークフロー」っていう連載記事です。
先月は会社紹介の記事だったんですが、今月号からCG的な内容に入っていきます。
ワークフローと言っても内容はその入り口のための初歩的な内容になってます。
これから始める人とかに向けて参考にっていうかんじです。
今回はぼくが書かせていただきましたが、うちの会社の人が交代で書いていく予定です。
今後もきっと比較とか検証を中心に単発で載せていくことになるので気になる内容があったら見てみてください。
先月号から始まった「3ds Maxプロダクションワークフロー」っていう連載記事です。
先月は会社紹介の記事だったんですが、今月号からCG的な内容に入っていきます。
ワークフローと言っても内容はその入り口のための初歩的な内容になってます。
これから始める人とかに向けて参考にっていうかんじです。
今回はぼくが書かせていただきましたが、うちの会社の人が交代で書いていく予定です。
今後もきっと比較とか検証を中心に単発で載せていくことになるので気になる内容があったら見てみてください。
PR
ついに僕のブログにも広告が現れました。
長文にするほどのネタってなかなかないのですが、更新やめちゃったわけじゃねぇんだぜアピールとしてちょっとした小ネタを書こうと思います。
残念ながらモデリングもアニメーションも関係ないネタです。そしてmaxのお話です。
ここ1ヶ月くらいシーンがやたら重く、酷いデータは開くたびに昼飯行くくらい時間がかかっていました。
んで、やっとその原因がわかったよイェーィってお話。
症状としてはこんな感じ
「reactorのコリジョン情報が溜まってた」ちゅうことでした。
Utilities > reactor > Collisions にある「**** collisions stored」ってやつですね。
Clearボタンをポチッとしてあげればきれいさっぱり快適な生活を取り戻せます。
何だそんなことかよって感じですが、
コリジョン情報を持ったシーンから別のシーンにマージすると、コリジョン情報も一緒についてきてプラスされるようです。
カメラだろうがライトだろうが何をマージしてもついてきます。
内容が同じものでもプラスされます。
元が小さくて大したことなくても、いろいろマージしているうちにいつのまにか膨大な量になっているわけですね。
もちろんreactorを使用し且つコリジョン情報を保存しなければ空っぽのままですが、マージすると勝手に付いてくるってことはどこから紛れ込むか分からないです。
キャラとかカメラとかいろんな人が使うデータにこれが入ってるとシーン制作のときに掻き集めて皆で重いデータを量産してしまうかもー。
バグか仕様かよく分かりませんが、2010と2011で確認しました。
2012は触ったことないですがreactorじゃなくてMassFXに変わってるので関係ないかも・・・?
以上、BipedのCopyCollectionといいこれといいどうもmaxはゴミを集めて増やすのが得意なようで、チェック項目が増えたよ。というお話でした。
長文にするほどのネタってなかなかないのですが、更新やめちゃったわけじゃねぇんだぜアピールとしてちょっとした小ネタを書こうと思います。
残念ながらモデリングもアニメーションも関係ないネタです。そしてmaxのお話です。
ここ1ヶ月くらいシーンがやたら重く、酷いデータは開くたびに昼飯行くくらい時間がかかっていました。
んで、やっとその原因がわかったよイェーィってお話。
症状としてはこんな感じ
- シーンを読み込むとき(OpenやMerge等)シーン内容のわりにメモリ使用量がはんぱない。やたら時間かかる。眠くなる。
- セーブもそこそこ時間かかる。開くときよりはいくらかまし。少し眠くなる。
- シーンデータの容量がちょっと大きい。シーン内のオブジェクト全部消しても数メガ残る。これは気付かない。
「reactorのコリジョン情報が溜まってた」ちゅうことでした。
Utilities > reactor > Collisions にある「**** collisions stored」ってやつですね。
Clearボタンをポチッとしてあげればきれいさっぱり快適な生活を取り戻せます。
何だそんなことかよって感じですが、
コリジョン情報を持ったシーンから別のシーンにマージすると、コリジョン情報も一緒についてきてプラスされるようです。
カメラだろうがライトだろうが何をマージしてもついてきます。
内容が同じものでもプラスされます。
元が小さくて大したことなくても、いろいろマージしているうちにいつのまにか膨大な量になっているわけですね。
もちろんreactorを使用し且つコリジョン情報を保存しなければ空っぽのままですが、マージすると勝手に付いてくるってことはどこから紛れ込むか分からないです。
キャラとかカメラとかいろんな人が使うデータにこれが入ってるとシーン制作のときに掻き集めて皆で重いデータを量産してしまうかもー。
バグか仕様かよく分かりませんが、2010と2011で確認しました。
2012は触ったことないですがreactorじゃなくてMassFXに変わってるので関係ないかも・・・?
以上、BipedのCopyCollectionといいこれといいどうもmaxはゴミを集めて増やすのが得意なようで、チェック項目が増えたよ。というお話でした。
あいた時間にちまちま進めてやっと完成といえる段階まで持ってこれましたー
ぺたり
今回は実験もかねてマルチパスで出力してみました。
(※ちゃんとマルチパスでやったのは髪以外です!髪だけはメンタレ重いので案の定ソフトウェアでし^q^)
前の記事にも書きましたがパスはほぼカスタムで組みました。
どうやってんのかってのを説明するのめんどくさいんですけど、
http://www.pixelcg.com/blog/?p=98
この辺参考にしてます。
renderSetting の passes で custom color ってのを作って、writeToColorBufferノードを使ってマテリアルから拾ってきたカラーを書き込むわけですぁ。
mia_material_x_passesの output には diffuse_level とか indirect_raw とかいろいろ揃ってるのでだいたいここから持ってきてます。
SSSはmisss_fast_skin_mayaのoutValueから持ってきてます。misss_fast_shader_x_passes使ってばらばらに拾ってきてもいいかも。
fresnelとかdepthのパスは自分で surfaceShader 作ってoutcolorから持ってきたり。
depthパスは
http://bbs.cgpower.com.cn/post/view?bid=17&id=212802&sty=1&tpg=32&age=0
この辺参考にしてたりします。
普通にdepthChannel出せばいいじゃんって言われたらそれまでなんですが、depthChannelはエッジが汚いのが気に入らなかったのでー
(※ちなみにdepthChannelにはそもそもアンチエイリアスとかかからんもんだそうです。最初はなんできたねぇんだこのやろう!って思ってたんですが、深度情報なので当たり前なのでした。)
Depthだけソフトウェアで出すならレンダーレイヤのプリセットにあるLuminanceDepthを使えば範囲も自動でやってくれちゃうんですが、MentalRayではこの自動で範囲を割り出してくれちゃうSamplerInfoの隠しアトリビュート(CameraNearClipPlaneとCameraFarClipPlane)が機能しないので手打ちになります。
↑のリンクでいうSetRangeのOldMin、OldMaxです。カメラにSphereをペアレントしてスケール値とコネクトしたりしたら視覚的に分かりやすくていいかも。
あとあれだ、rawとかのパスはhdrで出してます。
以下ヘルプから引用
合成式は
どこかに
sss = overall * ( back + subdemal + epidermal + diffuse)
も「スクリーンでやれや」的なこと書いてあったけど32bitじゃない場合ってことだったんじゃろな。
肝心なところ見落としてたかもしらんプー
ふぅ、まーた長々と書きましたが、
結論:めんどくさいから次からやっぱり一発+αに戻そう^^
ということですぁ。勉強にはなった、うn。
ぺたり
今回は実験もかねてマルチパスで出力してみました。
(※ちゃんとマルチパスでやったのは髪以外です!髪だけはメンタレ重いので案の定ソフトウェアでし^q^)
前の記事にも書きましたがパスはほぼカスタムで組みました。
どうやってんのかってのを説明するのめんどくさいんですけど、
http://www.pixelcg.com/blog/?p=98
この辺参考にしてます。
renderSetting の passes で custom color ってのを作って、writeToColorBufferノードを使ってマテリアルから拾ってきたカラーを書き込むわけですぁ。
mia_material_x_passesの output には diffuse_level とか indirect_raw とかいろいろ揃ってるのでだいたいここから持ってきてます。
SSSはmisss_fast_skin_mayaのoutValueから持ってきてます。misss_fast_shader_x_passes使ってばらばらに拾ってきてもいいかも。
fresnelとかdepthのパスは自分で surfaceShader 作ってoutcolorから持ってきたり。
depthパスは
http://bbs.cgpower.com.cn/post/view?bid=17&id=212802&sty=1&tpg=32&age=0
この辺参考にしてたりします。
普通にdepthChannel出せばいいじゃんって言われたらそれまでなんですが、depthChannelはエッジが汚いのが気に入らなかったのでー
(※ちなみにdepthChannelにはそもそもアンチエイリアスとかかからんもんだそうです。最初はなんできたねぇんだこのやろう!って思ってたんですが、深度情報なので当たり前なのでした。)
Depthだけソフトウェアで出すならレンダーレイヤのプリセットにあるLuminanceDepthを使えば範囲も自動でやってくれちゃうんですが、MentalRayではこの自動で範囲を割り出してくれちゃうSamplerInfoの隠しアトリビュート(CameraNearClipPlaneとCameraFarClipPlane)が機能しないので手打ちになります。
↑のリンクでいうSetRangeのOldMin、OldMaxです。カメラにSphereをペアレントしてスケール値とコネクトしたりしたら視覚的に分かりやすくていいかも。
あとあれだ、rawとかのパスはhdrで出してます。
以下ヘルプから引用
ほとんどの出力は、xxx_result、xxx_raw、および xxx_level のパターンに該当します。"result" は最終的な成分、"raw" はスケールされていない成分、"level" はスケーリングです。"level" は、入力パラメータ(または組み合わせ)に関連付けられることが多く、マテリアルのエネルギー保存の特性に従うために変更されています。ちゅうことです。
raw 出力は、ダイナミック レンジを維持するために、浮動小数点で保存および合成する必要があります。level 出力は常に 0.0 ~ 1.0 の範囲内で、浮動小数点で保存する必要はありません。
合成式は
Beauty = diffuse_level * (diffuse_raw + (indirect_raw * ao_raw)) + spec_level * spec_raw + refl_level * refl_raw + refr_level * refr_raw + tran_level * tran_raw + add_resultこうですが、スクリーンとか使わずに式のとおりに加算と乗算で合成するには32bit環境で合成しないと白くぶっ飛びますよ、と。
どこかに
sss = overall * ( back + subdemal + epidermal + diffuse)
も「スクリーンでやれや」的なこと書いてあったけど32bitじゃない場合ってことだったんじゃろな。
肝心なところ見落としてたかもしらんプー
ふぅ、まーた長々と書きましたが、
結論:めんどくさいから次からやっぱり一発+αに戻そう^^
ということですぁ。勉強にはなった、うn。
今までほとんど素材分けずに一発+αばかりやっていましたが、
やっぱレンダーしなおすのだるいし、後で細かくいじりたいよねー
ちゅうこって、
とりあえず肌のシェーディングをパスレンダしてみました。
ライト3つは色を個別に変えられるようにスペキュラーも含めて分けてます。
で、finalA、B、Cがライトの強さ+色を変えたテスト3パターン。
SSSパスってチュートリアルとかでよく見るやつはテクスチャ使ってない単色っぽいけど、
どうなんだろあれ・・・ぱっと見違い分からんから軽いほうでやろうってことなんかなー;
一応全てMentalrayのレンダーパス使ってますが、SSSパスがなかったり(普通は無いか・・)いろいろ足りてなかったのでほぼカスタムのパスで組みました。
まだいろいろ模索中ですが、
気が向いたらハイパーなシェードのキャプを晒してみるかもしれません。
みんなどうやってんじゃろなぁ。。。
---------- 追記(11.05.07) ----------
後で気付いたんですが、バックライトの強度を2とかにしたままだったのでめっちゃ素材が白飛びしてました。
どうせ後で強さいじるんだからライトは全て1でいいんですね。
あーでもそうするとSSSパスとかの結果も変わってくるか・・・
どうしよう。やっぱSSSもFrontとかBackとか分けるべきか・・・ぬぅ・・・・・
やっぱレンダーしなおすのだるいし、後で細かくいじりたいよねー
ちゅうこって、
とりあえず肌のシェーディングをパスレンダしてみました。
ライト3つは色を個別に変えられるようにスペキュラーも含めて分けてます。
で、finalA、B、Cがライトの強さ+色を変えたテスト3パターン。
SSSパスってチュートリアルとかでよく見るやつはテクスチャ使ってない単色っぽいけど、
どうなんだろあれ・・・ぱっと見違い分からんから軽いほうでやろうってことなんかなー;
一応全てMentalrayのレンダーパス使ってますが、SSSパスがなかったり(普通は無いか・・)いろいろ足りてなかったのでほぼカスタムのパスで組みました。
まだいろいろ模索中ですが、
気が向いたらハイパーなシェードのキャプを晒してみるかもしれません。
みんなどうやってんじゃろなぁ。。。
---------- 追記(11.05.07) ----------
後で気付いたんですが、バックライトの強度を2とかにしたままだったのでめっちゃ素材が白飛びしてました。
どうせ後で強さいじるんだからライトは全て1でいいんですね。
あーでもそうするとSSSパスとかの結果も変わってくるか・・・
どうしよう。やっぱSSSもFrontとかBackとか分けるべきか・・・ぬぅ・・・・・
次のページ
>>