2014-09-08

NaN の話

いろいろ作業をしていると[NaN]という数値(?)を持ったピクセルに出くわすことがある。NaN → http://en.wikipedia.org/wiki/NaN



原因はいろいろだけど、expressionなどで 0÷0(0割る0) みたいな計算があるとなるし、一見expression等がなくてもGizmoに含まれていることもある。
これがナカナカ厄介で、これをblurなどのピクセル拡張系のノードで処理すると拡大する。




これを回避する方法がnukepediaにも載っている(http://www.nukepedia.com/expressions/dealing-with-nan-pixels)、この方法だと、広範囲だったり、数ピクセルの間で点在している場合は回避しづらいので、そういう場合はMergeExpressionなどを使って原因となるノードの一つ前のノードをAにコネクトして、



nukepediaでの手法と同じくisnan()関数をもちいて、

isnan(r)?Ar:r

とかやれば回避しやすいです。

2014-09-02

nuke.pluginAddPath

init.pyに


nuke.pluginAddPath(ディレクトリ)


を加えると、その指定したディレクトリのinit.py, menu.py, ToolSetsフォルダを読みにいく。
ちなみに、

nuke.pluginAddPath(./Gizmos)

とかにしておくと、そのinit.pyの存在するディレクトリにあるGizmosフォルダを追加する。

2014-09-01

viewing LUT に cineon を追加する。

init.py に


nuke.ViewerProcess.register("Cineon", nuke.createNode, ("ViewerProcess_1DLUT", "current Cineon"))


を追加。