2010年11月23日火曜日

ライティング Tips

【Lighting Tips ライティングティップス】

■減衰を利用する

・奥行きを出したいとき
・やわらかい光を表現するとき(反射光など)

などなど。

2010年11月5日金曜日

遠近感について

【遠近感について】

■空間の広さを出すためには

1.意識する
これは遠い、これは遠い、、
と、感覚を持ち続けること

2.大きさの変わらない物を使う
影のぼけ足は変わらないので、遠くから見ればみるほどエッジが立つ
雲や水などの自然のもののディテールは一定である

3.パースを感じる構図にする
目には
重なるものは後ろ
小さくなっていくと離れていく
かすれていくと離れていく
動きがゆっくりな物は遠い
と感じることを利用する

4.「遠い=彩度が低い」は間違い
空中のチリが見えるため、遠いものは霧がかる。つまり、空気遠近法とは空中のチリを描くことに他ならない。単純に彩度が低くなるわけではない

2010年11月1日月曜日

Schematic Material Editor 3dsMAX

■3dsMax のマテリアルスケマティックエディター SME
Maya Hypershade のようなことをMaxで行うプラグイン

http://www.lumonix.biz/helium.html

2010年10月23日土曜日

パンに絵

http://www.breadartproject.com/#/home

Skin Wrapのエラー

【SkinWrapエラー】

■Modifier SkinWrap 使用時に、ラップしているオブジェクトが外れることがある

→対策

・SkinWrap に使用しているオブジェクトに TurboSmooth など、いらない Modifier がついている場合、それを削除しておく

例えば TurboSmooth を Off in view port などに設定している場合、テストレンダリングを行った時に ラップオブジェクトの分割数が変化するので SkinWrap が無効になってしまうため、ラップが外れる。

・シーンに同じ名前のオブジェクトは存在させないようにする

人為的なミスを無くす為。同名をサポートしないプラグイン対策。

VRay パス別レンダリング~コンポジット

【VRay multi-path rendering composite】Vray 素材分けレンダリング コンポジット

用紙のサイズ(mm)

■印刷紙サイズ(mm)リスト
■A判サイズ(mm)
A0:841 x 1189
A1:594 x 841(A全サイズ)
A2:420 x 594
A3:297 x 420
A4:210 x 297
A5:148 x 210
A6:105 x 148
A7:74 x 105
A8:52 x 74
A9:37 x 52
A10:26 x 37
A11:18 x 26
A12:13 x 18
■B判サイズ(mm)
B0:1030 x 1456
B1:728 x 1030(B全サイズ)
B2:515 x 728
B3:364 x 515
B4:257 x 364
B5:182 x 257
B6:128 x 182
B7:91 x 128
B8:64 x 91
B9:45 x 64
B10:32 x 45
B11:22 x 32
B12:16 x 22
■ハトロン版サイズ
900 x 1200
【菊判/四六判サイズ】
菊全判:939 x 636
菊半裁:636 x 469
菊4切:469 x 318
菊8切:318 x 234
菊16切:234 x 159
四六全判:1091 x 788
四六半裁:788 x 545
四六4切:545 x 394
四六8切:394 x 272
四六16切:272 x 197
【新聞サイズ】
■ブランケット判
813 x 546
■タブロイド判
546 x 406
【書籍サイズ】
■四六判
188 x 127(四六判32取り:一般書籍)
■菊判
218 x 152(菊判16取り:一般書籍)
167 x 148(A判20取り)
■三五判
148 x 84(A判40取り:地図帳)
140 x 74(A判48取り)
206 x 182(B判20取り:重箱判)
171 x 121(B判36取り)
■新書判
173 x 106(B判40取り:新書)
■三六判
171 x 91(B判48取り)
■AB判
257 x 210(ワイド:判雑誌)
■小B6判
174 x 112(コンパクト判)
【名刺・葉書類サイズ】
■名刺
55 x 91
■官製ハガキ
100 x 148
■大判ハガキ
120 x 235
■往復ハガキ
200 x 148
■レター
216 x 280
■CDジャケット
120 x 121
【カンバスサイズ】
F3:273 x 220
F4:334 x 242
F6:409 x 318
F8:455 x 379
F10:530 x 455
F12:606 x 500
F15:651 x 530
F20:727 x 606
F25:803 x 651
F30:909 x 727
F40:1000 x 803
F50:1168 x 910
F60:1303 x 970

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

2010年8月31日火曜日

VRay Ambient Light

【VRay Ambient Light】

ver1.5 SP4 から搭載された VRay ambient light

MAYAのように指向性を持たせることはできなかった

2010年8月30日月曜日

collect パラメーターの収集

【collect】

■ パラメーターの値を配列に格納する

選択オブジェクトの名前を格納したい場合


objName = for s in selection collect s.name


where でフィルターをかけることもできる。例えば、camera の名前だけを取得することも可能


objName = for s in selection where isKindOf s camera collect s.name