ラベル 3dsMAX の投稿を表示しています。 すべての投稿を表示
ラベル 3dsMAX の投稿を表示しています。 すべての投稿を表示

2016年6月27日月曜日

multi channel EXR from VFB (3dsMax)

VRay Frame Buffer から MultiChannel EXR を書き出す
multi channel EXR from VFB (3dsMax)

2015年6月4日木曜日

3dsMax テクスチャを読み込まずにファイルを開く

大きなテクスチャが大量に貼られているシーンを開くと、ファイルオープン時にテクスチャをロードしてしまってシーンが開かれるまでに10分とか20分とかかかってしまうことがあります。

そんな時は以下の方法で保存して、次のオープン時にテクスチャを読み込まないようにできます。

1.ビューポートの表示をObjectColorかWireframe表示にしておく
2.テクスチャ/マテリアルのビューポート表示をOFFにする。テクスチャがOFFでもマテリアルがONだと読み込まれてしまうのでマテリアルもOFFにします。

この2点を設定しておけばサクサクファイルが開くようになります。
テクスチャ/マテリアルの表示をOFFにするScriptを作っておけば楽ちん。

2013年4月10日水曜日

Layer 周り -MaxScript


【レイヤー周りのスクリプトメモ】

レイヤーに選択オブジェクトを入れる:
add objects to layer:

NL = LayerManager.newLayerFromName "My New Layer"
for obj in selection do NL.addNode obj


レイヤーをアクティブにする:
set layer active:


setLayer = LayerManager.getLayerFromName "A-WALL"
  setLayer.current = true


レイヤー内のオブジェクトを選択する:
select objects in layer;

selectLayer = LayerManager.getLayerFromName "A-WALL"
selectLayer.nodes &selArr
select selArr

2013年4月9日火曜日

selectMore

MAXScript

selectMore

で追加選択します。
選択リストに追加する形です。

selection colloction に追加するコマンド。

2013年3月1日金曜日

FumeFX 質感づけ -VRay

【FumeFXの質感づけinVRay】

■レンダリング準備
・FusionworksRenderer が Enviroment&Effect に追加されていること
・ライトはStandardのみ対応している。Photometric系はNG(VRayライト含む:MRは??)
・ライトのShadow設定でAtmosphereのチェックを入れておく(影が出ません)
・VRayShadowでも影が出るが、セルフシャドウだけで、オブジェクトの影はFumeに乗らない
・GIに対応。ろうそくの炎であたりをGIで照らすことができる。

■Smoke
・StepSize:ボクセルの分割数を決める。小さいほうが細かくなり、精度アップ=重たい
・Threshold:数値のクリップ。その値以上、以下を切り捨て、透明度の限界にクリップする。
レベル補正のようなもの。上限と下限を決めて、その間を使って表現される。

2012年1月12日木曜日

コンテナ概要

【コンテナ Container】

ver2010からの新機能
ver2011からもろもろ強化された

■ どんなもの?
オブジェクトのコレクションを作成し、制御するヘルパーオブジェクト

■ 何ができるか (マニュアルによれば…)
・シーンオブジェクトをグループ化して整理する
・オブジェクトやそれが所属するレイヤーの表示設定に関係なく、
コンテナ独自の表示方法を採用できる
(例えばレイヤーが非表示でも、コンテナで表示をOverrideすることで表示したり)
・コンテナの中身は外部参照であるため、
1.シーンのファイルサイズ軽減、結果的に、ファイルのロード/セーブが早くなる
2.一時的にアンロードすることでオペのパフォーマンスアップ
が可能
・プロキシモデルと本番モデルとの切り替えをすばやく行える
・データの変更を共有できるのでワークフローの後ろにすばやく伝達できる
・コンテナは参照している人のシーンの都合で変更を加えることもできるし、それを大元のデータに還元することも可能

■ 個人的な解釈
クラウドコンピューティングに近い感覚
ソースデータはみんなが共有できる形でサーバーに保存されていて、実際に作る人はコンテナの中で作業をする。
作業した結果は、みんなに共有されるので、再読み込みしなくても最新データでの作業が実現する。
後はパイプラインにどう組み込みか、という工夫だけど、、、、


・Lightwave のオブジェクトのような概念である。
・パイプラインで利用するというよりは、みんなで1つのものを作り上げる際に、パートごとにコンテナで作業を進めるような、並列作業に向いている。
・次々とデータを更新しながら次の工程に渡していくような直列の流れには対応できていない。
・XRef ともっとも違うところ
XRef はシーンに読み込むことしかできないが、
コンテナは今作業しているシーンのオブジェクトを外部参照に変換できる
(この仕様は Photoshop のスマートオブジェクトに近い)


■ 検証
・モデリングされたキャラクターをコンテナで参照して、セットアップをする
・セットアップされたキャラクターをコンテナで参照して、アニメーションを流し込む
---->NG

コンテナは外部シーンとして扱われるため、シーン内の他オブジェクトは干渉できない。
上記二つの場合、
1.モデルに skin モディファイヤを適用後、シーン内で作った(ローカルオブジェクト) bone がモデルに干渉するため NG
2.ボーンにアニメーションデータを流すには、キー情報を付与する必要があるためNG

いずれの場合も、同じコンテナの中に bone やアニメーション情報を含めれば機能するが、これはあまり有用な使い方ではない。

■ 使いどころ
・並列に作業を行う場合には強力(ロボットを複数人でモデリングしたり)
・データの量が大きいシーンで、各ブロックをコンテナで参照ファイル扱いすることで作業シーンそのもののファイルサイズは小さくてすむ。
 →後日検証結果11/01/20:大量にコンテナで参照させたシーンのロードセーブが異常に重たくなる。実用化不能なほど。この時点ではちょっと使い道が見いだせない。
・各パートで完成したものをコンテナで渡すことで、スムーズなデータの受け渡しが可能である(気がする)

■リニアワークフローと3DCGのガンマ補正のはなし

■リニアワークフローとか3DCGのガンマ補正の話 メモ


■理解する上で一番大切なことは
3DCGのソフトが、ライトなどの光を計算する場合、その計算式はリニアで行われているということ。それはつまり、いままでの方法でレンダリングした画像は、なんとリニアスペースで作られた画像そのものだった、ということ!

■問題は
自然界を見ている人の目も、写真も、リニアスペースで作られた画像(自然界の光)をそのまま見ているわけではないってところ。
感度が違う。

比較的暗いところの方が、網膜の神経は敏感。明るいところでは明るさの差をあまり感じ取れない。逆に暗すぎても分からなくなる。
懐中電灯を太陽の光の中で使っても明るくてらしたところが分からないのはそのせい。暗い中ではすぐ分かるのに。

■さらにややこしくなった原因 = テレビモニターのガンマ
人の目が自然界を見た時と同じようにテレビモニターを見たときも自然に感じるためには、テレビモニターも自然界と同様に、リニアスペースで色を発光させる必要がある。
しかし、モニターを作る時の技術的な問題から、モニターは光をリニアで表示できない特性を持って生れてしまった!

■撮影したリニアな画像をガンマ補正する
そこで、カメラで撮影した映像をテレビで見るときに自然に見えるようにするために、あらかじめ撮影した画像にテレビの発光特性と逆の特性を持たせて、テレビの特性をうち消すことにした。

■逆ガンマ
リニアカラースペースのものをガンマ2.2の特性をもつモニタで自然のままの色で表示するためには、モニタに送る信号に0.45の逆ガンマをかける。するとモニターはガンマ2.2の特性を持つので、強制的に発光する光には2.2のガンマがかかり、元のリニアスペースの色と同じになって自然に写る、という寸法。

■ノンリニアスペースとリニアスペース
  • ノンリニアのもの
    • 人の目
    • アナログフィルム(銀塩フィルム)
    • テレビやPCモニター(最近のものはsRGBを採用していて、これはガンマ2.2)
    • プリンター
  • リニアのもの
    • デジタルカメラのRAWデータ形式
    • HDR画像フォーマット(32bitの浮動小数点系のものはそう)

■3DCGソフトでは光をリニアスペースで扱う
何も設定していなければ、3DCGソフトでは光をリニアスペースでレンダリングする。
これが落とし穴。CGのライティングでできる陰影は、人が普段感じている自然な光よりも中間色が落ち込み、コントラストが高くなる。
ソフトウェアのガンマの扱いはそれぞれ違うので、何をしているのかを理解しなければいけない。実はリニアワークフローそのものを理解するよりもこれが難しい気がする。

■ガンマ補正?
ガンマ補正を行うと、最も明るい色と最も暗い色はそのままで、中間色が変更される。Photoshopのトーンカーブと同じ原理。2.2などの数値はガンマ曲線にかかる係数のことで、曲線のゆがみを規定する。
フィルムや人の目のガンマ係数はだいたい2.2らしい。これは暗い光に対して敏感で、明るくなるにつれて感度が鈍くなるような曲線だ。


■導入してみたい理由

1.フォトリアルな絵を作るためには光を正確に再現するべきで、そのためには現実に即したワークフローを採用すべきだから
1.ライティングに対して人間が感じる自然なコントラストはガンマ2.2であるから
1.ガンマ2.2で作業をするとガンマ1.0での作業より中間色の明るさが増すのでライティングの手数を減らせるのではないかと期待するから
1.今後のスタンダードになりうるから
1.上記理由から、より柔らかい光の演出を作りやすく、空間を感じさせるような絵作りに向くと思うから
1.後処理でレベル補正をする際に、中間色がしっかり出ているので劣化を押さえながら色を転ばせることができそうだから

これは実際の世界をカメラで撮影する作業工程と同じ。写真のフィルムや人間の目などのアナログ媒体は、光を非線形で捉えている。例えば、写真に映っている色で明るさが2倍違う領域同士は、本来の撮影場所では数字的には2倍以上の差がある。「露出量(EV)」は数字が2倍になれば明るさも2倍になるが、これは2倍に明るくなる露出量を2倍に表記しているにすぎず、本来の光の強さが2倍の強さとは限らない。つまり、光そのものは線形で表されるが、目や写真に写る色は非線形に補正されているということだ。銀塩フィルムや人間の目は光に対してほぼ同様の感度を持つ。デジタルカメラは、センサーが捉えるリニアな色をガンマ補正して従来のフィルムや人が感知している色に合わせているのだ。
CGソフトで作成している絵は実際の世界と同じで、光の強さをそのまま格納しているリニアスペースである。リニアワークフローではこれを撮影(レンダリング)するときにガンマ補正をかけて、本来人間が知覚している色で出力する。

■デジタル画像とガンマ補正
普段取り扱っている画像はすべてガンマ補正が画像の色に焼き込まれている状態である。デジタルカメラで撮影した画像はほとんどがsRGB空間で補正されており、これはガンマ2.2に相当する。パソコンで描いた絵もそのモニターのガンマで最適化されている。例外なのは写真の生データであるRAWとHDR画像で、これらはガンマが1.0となっている。RAWの場合は編集ソフト側で撮影時のデータからガンマ補正がされるが、データそのものはリニアで保存されている。

■3DCGソフトで扱うテクスチャの問題
このようにすでに補正されているテクスチャを貼付けている場合(ほぼすべてがそうなんだけど)、ライトによる陰影はガンマ補正がされていないために問題となる。リニアワークフローを採用しようと思ってソフト環境をガンマ2.2にすると、ライティングは正しくガンマ1.0 -> 2.2 となるのに対し、テクスチャなどの既に補正されているものはさらにガンマ補正をすることになってしまうからだ。

■逆補正を行ってテクスチャをガンマ1.0に補正する
そのために、リニアワークフローで作業する場合には作業環境をリニアスペースに保つために補正されているテクスチャに逆ガンマ補正を行う。ガンマ2.2の画像を1.0にするには単純に1/2.2 = 0.4545… を掛ければ良い。
こうすることですべてがリニアスペースのカラーとなり、ライトへの反応も正しくなる。注意すべき点は補正するべきテクスチャはカラーに関係のあるものだけだということ。diffuse、specularColor、reflectionMapなどで、bumpやdisplacementには逆ガンマは不要。そもそもそれらはリニアスペースだから、明るくなってしまう。

■補正なし=ガンマ1.0の作業環境から補正あり=ガンマ2.2の作業環境へ
「リニアワークフロー」という単語で初め勘違いしていたのは、私自身の認識としては作業はリニアではなく、ガンマ補正がされているガンマ2.2の状態で行うということだ。3DCGソフトにもいろいろあるので、扱い方はそれぞれだが、リニアなのは内部的な話であって、レンダリングされる画像はばっちしガンマ補正されてる。つまり、この言葉の意味するのは「レンダリングする直前までの行程をリニアスペースで行う」という意味での「リニアワークフロー」である。3DCGソフトでの作業環境で起こる大きな変化は、全体的にマテリアル等が白っぽくなるという点だが、これはライトの光量を考えるとむしろ正しい結果だといえる。
これまでのCG制作でガンマ補正をしていない状態というのは、デジタルカメラで撮影した画像をガンマ補正せずにリニアスペースで見ていたということと同じで、最終的に補正を行って光を正しく(人間の目と同等の感度で見るという意味で)再現しよう、というのがリニアワークフローの中核である。
ただし、従来通りの方法でもライトをうまく使って光量そのものをあげれば十分に美しい絵を作ることができるのでリニアワークフローを採用しなければならない、というほどのことでは無いかもしれない。
唯一気に留めておきたいのは、テクスチャなどの素材は補正されているが、ソフトでライティングされて生まれる陰影は補正されていないということだ。このギャップを良しとするか、違和感を覚えるかはこれまた人それぞれかもしれない。


■導入にあたってのあれこれ
モニターをガンマ2.2に設定する。最近のモニターは大抵がsRGBを採用しているので問題は無いはず。MacでもOS10.6以降はデフォルトでガンマが2.2になっている。
テクスチャ素材に逆ガンマを掛ける必要がある。これは自動化スクリプトを作る等すればさほど問題ではない。さらに、これまでの色を数字で再現できなくなる点での慣れが必要になる。
リニアワークフローではレンダリングするまで正確な色は表示できない。ただしこれに関しては今までとさほど変わらないと思う。
カラーピッカーで選ぶ色はライティングによって初めて正しい色を返すということ。
真っ白と真っ黒に近い色はこれまでとさほどかわらない。中間色が大きく持ち上がる。
なんだかんだ言ってもやることは意外と単純で、複雑なプロセスは無い。理解が大事。
Maya2011からはMentalRay限定でカラープロファイルを設定できるようになっている。これによってテクスチャに逆ガンマ補正を掛けたり、レンダラーの出力ガンマを設定しなくてもすむようになっている。レンダリングが重くなるそうだが、未検証。従来通りのsoftwareRendererは手動で行う必要があるが、swではそもそもリニアワークフローで制作しないだろうなぁ。そういう理由でswには未対応なのだろう。ただ、手動でリニアワークフローを構築した場合と、カラープロファイルを指定して補正をする場合とでは若干手動のほうが明るくなる理由が分からない。
MentalRayの場合はgamma設定をframeBufferで指定すると、自動的にカラーテクスチャにその値で補正を掛けてくれる。簡単に試した結果、bumpMapには補正が入っていなかった。
露出系のユーティリティと併用するのが一番良い結果を生むらしい。ただ、建築などのビジュアライズと違い、メディアアートはそこを省いても良さそうである。
主に、光の回り込みを柔らかく表現したい場合、自然に感じられるような光の挙動を作りたい、という場合に導入を検討すればよい。

Ruben Mayer

Ruben Mayer
VFX TD/Artist




MaxScript が数点
Tutorial も少々

FumeFX のシミュレーションを複数同時に行えるスクリプト:
http://www.aespid.com/aespid/scripts/3ds-max/86-fumefx-multirun.html

2011年12月26日月曜日

hairFX furFX VRayRenderer +Maxヘアー系プラグイン

■MAXのプラグインの hairfx (今は ornatrix とくっついて hairtrix)

【VRayのレンダリングに必要な設定】

●render bucket を square ではないものにする <-- squareだと非常に時間がかかる
●外部参照マテリアル XRefMaterialはスペキュラーを出さない
必ずhairfxのマテリアルはシーンにマージしておく

【VRayでサポートされない機能】
●VRayMtlOverwrapやVRayObjectPropertiesはサポートされない
毛でマスクをとることはできないので、オブジェクトで取って反転する
●Depth NG
●Velocity NG

【VRay 2.0 VRayOrnatrixMod
このモディファイアを使うとVRay でのレンダリングがより良く
http://lionsfootprint.blogspot.com/2011/12/hair-fur-vray-20.html

【他のHairプラグイン】
●Maxのmodifierにあるhair & fur modifier
ベースはShave and a Hair cut だそうだが、最低限の機能を盛り込んだだけの簡易版。
ただでついてくるので文句は言えないが、プロユースでは物足りない
奇麗なアンチエイリアス、高いサンプル数、Zdepth、materialの柔軟性、レンダリングスピード、幅広いライト・シャドウへの対応、というような機能が欲しいところ

VRay 2.0 での hair & fur のレンダリングについて
http://lionsfootprint.blogspot.com/2011/12/hair-fur-vray-20.html

hair farm というHairプラグインがレンダリング周りに強そう。
フローティングライセンスで1本(+5レンダリングノード)10万円($999)

2011年12月8日木曜日

MAXUI の menu を MAXScript で 追加する

■MaxのMenuBarにmenuをMAXScriptでついかするには
■Create menu to Max menu bar with MAX Script

CGTalkのスレッド↓
http://forums.cgsociety.org/showthread.php?t=609379


macroScript PutMeOnAMenu category:"Forum Help" --some macro script
(
print "I do nothing, but I am on a Menu!"
)
theMainMenu = menuMan.getMainMenuBar() --get the main menu bar
theMenu = menuMan.createMenu "Forum Help" --create a menu called Forum Help
theSubMenu = menuMan.createSubMenuItem "Forum Help" theMenu --create a SubMenuItem
theMainMenu.addItem theSubMenu (theMainMenu.numItems()+1) --add the SubMenu to the Main Menu
theAction = menuMan.createActionItem "PutMeOnAMenu" "Forum Help" --create an ActionItem from the MacroScript
theMenu.addItem theAction (theMenu.numItems()+1) --add the ActionItem to the menu
menuMan.updateMenuBar() --update the menu bar

2011年10月18日火曜日

特殊文字が入った名前

特殊文字の入った名前は「'」 でくくる

$'nameSpace:ObjectName'

これでスクリプト内でちゃんと認識してくれます

例えば

select $'*:ObjectName_some_*'

でネームスペースがついた名前でも、名前検索で選択できる。

2011年6月29日水曜日

3dsMax RenderElements needs Antialiasing On

要素(RenderElements)がレンダリングされない。
MAXのヘルプ曰く

-----------------------------------------------------------------------
NoteWhen using the default scanline renderer, Antialiasing must be on in order to render elements. With Antialiasing off, rendering elements is disabled.
-----------------------------------------------------------------------


AntialiasingはOnにしておかなければならない。

2011年6月17日金曜日

Ptex

Ptex とは
Disney Animation Studio が開発したテクスチャーを3Dモデルに貼付ける手法

http://www.ousam.com/blog/2010/01/17/597

3dsMax、Maya Plugin http://www.mankua.com/Stripes/Stripes.php

Maya の ViewPort2.0 では Ptex を表示できるが、レンダリングは未サポート。
上記 Stripes の Shader を導入するなど、プラグインが必要。

今のところ
Mudbox Mari 3DCoat などのペイントソフトが Ptex 出力ができる。

2011年6月16日木曜日

Ghost trail MaxPlugin

http://www.ghosttrails.net/index.php/home.html

スプラインアニメーションやパーティクルの軌跡をメッシュで出力できるプラグイン

2011年4月12日火曜日

3dsMax Track View フィルターの設定 カーブエディタ

■3dsMax の curve editor、 TrackView の設定
デフォルトだと直感的に選択中のカーブが表示できない。
Maya の curve editor のような挙動にしたい!

具体的には、
・非表示オブジェクトでもカーブを表示する
・選択オブジェクトのカーブのみを表示する
・アニメーションが付いているカーブのみを表示する

エディターのフィルタリングの設定で以下のようにするとそれっぽくなる。


World Tracksは消せないが、下のボタンでもマスク設定ができる


2011年4月11日月曜日

Max2010 Animation Layer と Render Presets

Maxのシーンファイルが壊れてしまいます。

■手順
1.アニメーションレイヤーを使う
2.レンダリングプリセットをRenderSettingsで適用する

animation layer の設定が壊されてしまいます。そのままで作業はできるので、知らずに保存するとそのファイルは以後正常に開けなくなります。レンダープリセットを使う方はご注意ください。

上記手順で保存したシーンを開くとノードは読み込まれますが、オブジェクトもグリッドも表示されない状態で開くようになります。animation layer も消えています。Maxが不安定になり、果ては強制終了されます。

Max2010 のバグでしょうか…?
Max2011 は大丈夫でした。

■検証シーン

1.box を作り、
2.AnimationLayerを使ってアニメーションをつけて、
3.RenderSettingsでプリセットを読み込む
(組み込みのプリセット 3dsmax.scanline.no.advanced.lighting.draft を読んでみました)
4.保存して、
5.読み込む
6.正常に開かれない


2011年4月1日金曜日

リニアワークフローまとめ記事

一番分かりやすかった記事
Gamma 2.2 setup or linear workflow V-ray 2.0 tutorial page1

ガンマ補正の話し
http://w3.kcua.ac.jp/~fujiwara/infosci/gamma.html

リニアワークフローのまとめ記事
1:http://elloneil.blog82.fc2.com/blog-entry-186.html
2:http://elloneil.blog82.fc2.com/blog-entry-187.html

林田 豪元 AERA Japan 記事:
第1回:リニアワークフローについて<その1>
第2回:リニアワークフローについて<その2>
第3回:リニアワークフローについて<その3>
第4回:リニアワークフローについて<その4>
※冒頭の概念の話しの部分がちょっと良く分からない。
作成した画像を一度明るくガンマ補正して、その後で2.2ガンマでをかけてリニアスペースで表示させる、と???

■リニアワークフロー(Linear Workflow)
効果を一言で言うと

「中間色が奇麗にレンダリングできる」

ということ。
http://lionsfootprint.blogspot.com/2011/04/3dcg.html


元ブログ:http://www13.ocn.ne.jp/~elloneil/index.html

2011年2月1日火曜日

Wind リファレンス

スペースワープ:風 wind のパラメーターメモ
Turbulence:乱流の強度。大きいほうが激しく変化する
Frequency:パターンが変化するスピード。小さいほうがゆっくり変化
Scale:パターンの粗さ(細かさ)。小さいほうがパターンは大きくなる=滑らか
スケールに関してはNoiseテクスチャをイメージするとわかりやすいかも。
Noiseのパターンの細かさの変化。

2011年1月12日水曜日

KRAKATOA control density or color by particle age

【KRAKATOA】 密度(透明度)とカラーをパーティクルの年齢(age)で制御する

1.KRAKATOAパーティクルをディスクキャッシュする(作業を安定させるためで必須ではない)
キャッシュしない場合については備考を参照
キャッシュ項目は















2.CreateでPRTLoaderを作成し、キャッシュデータを読み込む。
この時点でPFなどはOFFにしておく。

3.KCM(Krakatoa Channel Modifierたぶん…)をモディファイアとして追加する。
設定をDensityに。











4.MagmaFlowEditorを開いて、
channel age と lifespan を追加。
それぞれ toFloat を経由して、
divide に繋ぐ。上に age。
これを curve に接続して好きなようにカスタマイズ後、
OutDensity に繋ぐ。











5.KCMをもうひとつ追加。color を設定する。
InChannel で density を選び、vector を経由して OutColorに繋ぐ。














以上

ランプテクスチャを使った制御。(ramp は傾斜という意味だったんだね。ななめの、とか)

上記5.から
KCMで color ではなく textureCoordinate を選ぶ。それ以外は同じ。

6.standardMaterial Diffuse に Ramp テクスチャを張って、PRTLoaderにアサインすればOK。


-備考-

キャッシュしない場合、カラーオーバーライドで同じことができる。
この場合、マテリアルは必要とせず、テクスチャを所定のスロットに張ればよい。
すぐしたのOverrideで新規にカスタマイズチャンネルを追加、上記のように設定すればテクスチャ座標が定義され、rampなどでグラデーションがつけられる。
ただしこの方法だとKrakatoaでレンダリングされるパーティクルがすべて同じになるので個別に制御したい場合は工夫が必要。