2010年9月29日水曜日

雲の作成 V-Ray

【雲の制作】 V-Ray Environment Fog(VEF) で雲を作る

http://vray.info/tutorials/vrayenvfogclouds/
http://www.spot3d.com/vray/help/150SP1/examples_vrayenvironmentfog.htm#ex6

・MayaFluidFXでStaticGridにテクスチャを貼るのと同じ技術

・3Dテクスチャをサポートしたボリュームレンダリングを行えるため、noise などのテクスチャで雲のようなエフェクトも作れる

・Fumeをボリューム情報として渡せればVEFでFumeをレンダリングできるが…?

・GIでのレンダリングがコツ(ただし重い)

2010年9月26日日曜日

2010年9月24日金曜日

2010年9月22日水曜日

同じエフェクトの適用Tip AE

同じエフェクトの適用 小技 AfterEffects

同じエフェクトをいっぺんに複数のレイヤーにかけられる調整レイヤー
でもレイヤーの順序がばらばらなものには調整レイヤーでは対応できない

そこで、

1つコンポジションをつくり、そこに調整レイヤーを使ってエフェクトをかける








そのコンポジションをエフェクトを適用させたいレイヤーとプリコンポ、エフェクトコンポの
コラップストランスフォームを ON にすればOK

2010年9月21日火曜日

3dsMAX WebLinks

【3dsMAX WebLinks】 MAX関係のサイト

■公式
■V-Ray関係

■総合


■主に情報交換など


■主にスクリプト関係のもの

エヴァ

【エヴァンゲリオン】のこと

人間が神様を作った、というお話。

2010年9月18日土曜日

color カラー型

【color r g b (a)】 カラーのデータ型を定義できるコマンド

■使い方
myColor = color 128 32 240 --適当な色を作る

$Box01.wirecolor = myColor --カラーが割り当てられる

--カラー型にはプロパティがあるので、それを変更することで色を変えられる
myColor.h = 0 --色相の指定
myColor.s = 255 --彩度の指定
myColor.v = 255 --明るさの指定

$Box01.wirecolor = myColor --これでボックスは真赤になる

Irradiance Map -VRay

【Irradiance Map】 VRayのGI計算

・放射照度 が日本語訳
ある点(サンプルポイント)が周囲の光からどれくらい照らされているかを計算する手法

・カメラから見えるポイントで計算を行う
・マップとして保存できる
・それとなく計算させることで高速にGIの効果を得る
・比較的、平らな面を早く計算できる
・1次反射までしか計算をしないため、2次反射には使用できない。


■パラメーター

Basic parameters
  • Min/Max rate:計算する解像度。0でレンダリング解像度と同等
    • -100 ~ 100まで入力できた
    • -3 / 0 くらがコストパフォーマンスに優れる
    • この精度が高いと細かい描写を可能にする(HSph.subdivsとの兼ね合いもある)
    • この値ではGI特有のちらつきを抑えることはない
    • 解像度に依存しているちらつきを抑える
  • Clr/Nrm/Dist thresh:Min/Max rateの増加の感度
    • Clrはカラーの差 慎重に設定しないと相当重くなってしまう
    • Nrmは法線方向 地続きのオブジェクト内の話で、地面に埋まってる壁のような別オブジェクトの場合は関係が無い。0.0~1.0で設定でき、0~90度だと思う。
    • Distは距離 オブジェクト同士が近いところの感度
    • ClrとNrmは値よりも大きな差がサンプルポイント間にある場合に反応する(rateをあげる)
    • Distは値よりもサンプルポイント間が小さいとrateを上げ、大きいと無視する(rateをあげない)
    • Clr 0.5 Nrm 0.2 Dist 0.3 を目安にする
  • HSph. subdivs:サンプルポイントの明るさを計算するために、いくつのレイを使うか
    • GIの精度を決める値で、高いほどGIのちらつきを抑えられる
    • ここが高くてもMinMaxRateがここの細かさを表現できるほど高くなければあまり効果を発揮しない。それでもGI特有のちらつきは抑えられる。「1次反射を計算するためのカメラレイの分散数」とも言える
    • 50~ぐらいが実用的。細かいシーンでは100~
  • Interp. samples:最終的な色を決めるための補間に使うサンプルポイントの数
    • 1だと補完しないので斑点がくっきり見えるようになる チェック中は1でもよい
    • 大きすぎるとディテールが失われていくが、ちらつきは減る 20~50くらいがほどよい
    • サンプルポイントの数に比例して高くする
    • 高いほどレンダリング時間は増える
  • Interp. frames:フレーム間の補間
    • Modeの設定でAnimation系を選んでいると設定できる
    • 前後何フレームを補間するかを設定する
    • ちらつきはかなり押さえられる
Options

  • Show calc. phase:計算中の画像を表示する サンプルポイントが見れて楽しい。数秒遅い
  • Show direct light:直接光を計算途中の画像に重ねて表示する 最終の雰囲気が手早く分かって良いが、IrradianceMap自体の計算結果が分かりにくくなる。
  • Show samples:最終レンダリングにサンプルポイントを表示させる
  • Use camera path:シーケンス中にカメラから見える部分から一度にサンプルを取る。フライスルーカメラや、アニメーションシーンなどで静止オブジェクトのサンプルポイントを固定できるのでちらつきを抑えることができる
Detail enhancement

Advanced options
  • Multipass:計算を複数回に分けて行うことで、荒い状態で結果をすばやく確認できる。最終的にはOffにすることによって計算速度は上がる。

2010年9月15日水曜日

as string 文字列として加える

【~ as string】

$.name = "box_test"
x = 0
for s in selection do (
x = x + 1
s.name = append s.name (x as String)
)

■例)連番ネームをつける
増加していく数字を名前の文字列に追加する
このとき、string に int(floatかな?)を足すために、

x as string

で x を文字列として扱っている

2010年9月12日日曜日

netRender ネットワークレンダリング

【netRender】 スクリプトからバックバーナーにアクセスする

■接続して、切断するだけのスクリプト

m = netRender.getManager() --マネージャーへのインスタンス
if ( m.connected == false ) do m.connect #manual "managerIP" --接続されてなければIPへ接続

m.disconnect() --切断

boolian MAXScriptの判定

【boolian】 MXSでのブーリアン型

MAXScriptではブールの値を 0 と 1 では扱わないらしい。
on / off もしくは true / false で判定している。

そのため、boolianの判定をifで使う場合、

if ( testString == 0 ) do something

これはエラーになる

if ( testString == off ) do something
もしくは
if ( testString == false ) do something

なら機能する

2010年9月9日木曜日

MAXScript メソッド

【method】手順・筋道・操作命令

MAXScriptのヘルプを呼んでいるとメソッドmethodというのが出てくる。


MELで言うところのコマンドに相当するもので、MAXの場合はノードに含まれている。


つまり、ライトノード特有のメソッドというのが存在する場合、それはカメラには適用できないということ。
まぁ、あたりまえだけど。

概念として、MELコマンドはノードとは切り離して考えられているけど、methodはノードにくっついているアトリビュートのようなものであるという認識が正しいと思う。

これを知らないとMAXScriptのヘルプが読みにくくてしょうがない…。
まずMAXScriptのリファレンスにはコマンドリファレンスは存在せず、カテゴリー別にmethodが参照されるようになっているのです。

2010年9月8日水曜日

3DCG制作の効率化でアドレナリンを出す

【気持ちをこめる】
この前デッサンでゴーヤを描いた。
1粒1粒のぼこぼこに存在感を与えるには時間が足りない。

でも質量を持たせるには書き込まなければならない。
時間の無い中、粒を紙に浮き上がらせるために手を動かす。

この状況でたぶん脳みそが切り替わったと思う。言語中枢が麻痺して、手が思考を始めるような感覚。粒のニュアンスを表現するために、頭で分かっている粒の情報を、理解や解釈の過程を通り越して手に反射神経的に伝達している感覚。
頭が手についていかないというか、何手も先が分かるけど手が追いつかないというか。
逆のことを言っているけどたぶん両方が本当。

絵を書いていて、気持ちが入り込むときはアドレナリンが出ている気がする。


3DCGの制作ではこういうことは起こりにくい。まず頭の思考スピードにまったくといっていいほどパソコンの操作がついてこない。だから、手から帰ってくるフィードバックが脳みその処理能力を上回っていかない。かなり効率的な操作方法を開発して、その作業に従事するときはこの限りではないが。

であるから、作業の効率を追求することは、表現者としてはやらなければならないことだと思う。
表現したいニュアンスを出すためには脳を右脳で働かせる必要があるからだ。

その点、実はパソコンは人間の処理能力を大きく超えた作業が可能だ。最近のCPUはマルチタスクが基本であるし、並列処理に関しては人間はパソコンに追いつけない。
要は使い方、といってしまえば一言で終わるが、その使い方が一番難儀なのである。

2010年9月6日月曜日

Expose Transform Helper

【ExposeTransformHelper】エクスポーズ トランスフォームヘルパー

ノードを参照させて、その変換情報を教えてくれるヘルパー

■なにができる?
・ローカル、ワールドそれぞれの位置、回転、スケールの情報に簡単にアクセス可能

・そのため、このヘルパーのパラメーターをスクリプトで参照すれば、簡単に変換情報を手に入れることができる

・Wire param などで使うことで座標の情報をワールドで渡したり、ローカルで渡したりと、リグを組む上で便利

・アニメーションがついている場合、参照する時間をオフセットすることも可能 = 遅延アニメーションが作れたりする

2010年9月4日土曜日

SceneExplorer MAXScript

【SceneExplorer MAXScript】

/*
自分の好きな設定で SceneExplorer を作り、
その表示非表示を切り替える
マクロとして登録し、ショートカットその他からアクセスできるようになってます
*/

macroScript ttToggleSceneExplorer category:"user" tooltip:"Toggle Scene Explorer"
(

    sExpName = "Object Vis"
    sExpCollums = #("Name", "Hidden", "Frozen")

    if (SceneExplorerManager.ExplorerExists sExpName) then(
            if (SceneExplorerManager.ExplorerIsOpen sExpName) == false then(
                SceneExplorerManager.OpenExplorer sExpName
            )
            else SceneExplorerManager.CloseExplorer sExpName
    )
        else(
            SceneExplorerManager.CreateExplorer "Object Vis" sExpCollums
    )

)

シーンエクスプローラ SceneExplorer

【Scene Explorer】

MAYA の Outliner のようなリスト形式のシーンノードビューア
LayerEditor よりもシーン内のノードの扱いに長けているので選択などが便利

SceneExplorer MAXScript