openFX Designer ランダムメモ

お楽しみプログラム

openFX の Designer を使っての細々としたことを書いていく予定です。


概要

モデルの構成

モデルは、幾何情報(面/辺/頂点)、マテリアル、マップ、マップで使用する画像、スケルトン、モデル中心ポイント、フォローポイント、それから、取って付けたような曲面情報からなります。これらは、一まとめに*.MFXファイルとして保存します。アニメータは、このモデルのファイルを読み込んで動作します。

モデルの幾何情報は、基本的には、頂点と辺と面からなり、面は必ず三角形です。頂点と辺はレンダリングされません。 面には表面の表現として、基本色、マテリアル、マップの属性を与えます。基本色は必ず与えられていますが、マテリアルとマップの指定は任意です。基本色は以前のバージョンから引き継いだもので、現在はあまり使用しませんが、マテリアル、マップがない場合にはこの色で面がレンダリングされます。

マテリアルはシェーディング設定と、カラーの指定、それから計算テクスチャでの表現があります。計算テクスチャは、内蔵のものと、プラグインのものがあり、カラーとBump(でこぼこ)あるいは、その両方に働きます。プラグインテクスチャは最大4つまでレイヤーできます。

マニュアルでは64個までと書いてありますが、実際には制限が無いようです。

マップは、いわゆる画像マップを張るもので、カラーマップ、反射マップ、Bumpマップ、透明マップの四種類を同時に使用できます。マッピングの方法は、平行投影、円筒投影、球面投影と、それから、頂点にテクスチャ座標を貼り付けるUVマッピングが出来ます。

現在はUVマッピングの使用頻度が高いようですが、通常の投影マッピングでも、モデルに座標が追随するので、変形しないオブジェクトならば、投影マッピングでも十分です。

マップで使用する画像は、動画も静止画も可能です。静止画に関しては、通常は、モデル内に取り込まれます。動画はファイル名を記憶するのみのようです。

スケルトンは、よくある、木構造の関節回転式のアニメーションをするためのものです。デザイナーで関節を仕込み、アニメータでロボットとして読み込んでロボットのコスチュームに振り付けをして動かします。このとき、関節の影響度をデザイナー側で指定できるので、人体のようなやわらかいものから、剛体的な動きまで取り扱えます。

また、スケルトンをモデルの変形ツールとして使用する使い方も出来ます。
スケルトンを階層ビューワーで見るときには、ノード(関節)ごとに、表示のオン・オフ、選択のオン・オフが出来るので、モデリングでの階層ツールとしても使えます。

モデルの中心ポイントフォローポイントは、ただの空間上の点ですが、アニメータで大きな働きをします。中心ポイントはアニメータで動かすときのモデルの座標がこの点を示します。アニメータでモデルをモデルで追尾させることが出来ますが、そのとき、追尾するモデルはターゲットのフォローポイントに自分の中心ポイントを重ねるように動作します。

曲面情報はちょっと異質で、Nurbsの曲面です。曲面のモデリングも出来るわけです。ですから、厳密に言えば、幾何学的な情報は、ポリゴン式の面と曲面の二つを同時に持つことが出来ます。ただ、曲面は、マテリアルや、マップの設定も出来ないので、最終的にはポリゴンに変換することを前提にしているようです。

もう一つの機能

デザイナーは、モデリングだけではなく、アニメーションで使えるパスファイル(*.pth)を作る場合にも使用します。これは、単に点を繋いだ折れ線でパスを表して保存します。これをアニメータ側で読み込んで、モデルなどの移動のためのパスとして使用できます。

パス自体は、アニメータでも作成/編集できるのですが、モデルに沿ったアニメーションパスなどは、デザイナー側で作る方が簡単です。

頑固な三面図モデリング

モデリングは基本的には三面図上で行います。このため、斜めの面の上での込み入ったモデリングなど、精密なモデリングはあまり得意ではありません。

作業は全て三面図上で行うし、回転、拡大縮小などのコマンドのほとんどがワールド軸に平行にしか行えません。この点はちょっと、オールドファッションで不便すぎます。

三面図上だけでの作業だと、頂点が重なることも多いのですが、この場合は、大胆に頂点を隠して作業したほうが楽なようです。

三面図であるがゆえに、座標の指定が一度で済まないことが多いので、3Dカーソルを通しての操作が多いのも特徴です。

チクタクモデリング

ポリゴンの作り方は色々ありますが、心強いのは、頂点を縫って辺を作り、三角形を作れば面になるという原始的な方法が出来る点です。つまり、最後は力ずくでなんとかできるわけです。


モデリング

三次元カーソル

モデリング作業中のマウスカーソルで指定できるのは二次元の情報なので、三次元の位置を表すには向いていません。大抵のソフトでは、暗黙の奥行方向の指定とかがあるのですが、OpenFXのデザイナーでは、三次元カーソルがその役割を果たします。

といっても、特殊な作業が必要なわけではなく、三次元カーソルの移動は、三面図のどれかをマウスでクリックし、そこへ、三次元カーソルが移動させるというものです。このとき、クリックした平面の奥行方向の三次元カーソルの位置は変わりません。

選択や、描画などではマウスカーソルで行えます。描画の際には、奥行の位置が三次元カーソルのある深さとなります。

その他にメニューからのコマンド実行で位置を示すためにも使われます。

グリッド・スナップ

画面位置への吸着は表示されているグリッドに対して行われます。

グリッドの設定で指定した値そのままではなく、画面に表示できるグリッド線の本数が10本程度になるように、粗さが調整されます。この調整は10倍単位で行われます。

細かい方は、グリッド設定の1/10まで表示されます。ですから、標準のグリッド間隔1.0の場合には、0.1間隔が限界となります。

このグリッドは原点を中心にした3次元のグリッドです。操作中の画面(TOP/REAR/SIDE)平面上だけではなく、この平面に垂直な方向にもグリッドスナップが効いています。

さて、困ったことに、グリッドが不正確です。システムの計算方法に問題があるようです。例えば、グリッド間隔を1.0にして、グリッドスナップを使って(1.0,1.0,0)に置いた点と、グリッド間隔を0.1にして(1.0,1.0)に置いた点は位置がずれてしまいます。

ある程度数値にこだわったモデリングをする場合にはグリッドは信用できません。

ちなみに、メニューの Actions > Explode Polygons では、選択した頂点をグリッドにスナップする機能がありますが、こちらは、かなりきちんと計算された位置に頂点を移してくれます。

ヴァーテックス・スナップ

既存の点に対するスナップ機能が隠されています。これは Draw ツール / Plot ツールで有効です。つまり、線を描くとき、既存の点を指定できる機能です。

開始時に既存の点をクリックするとその点から線を始めます。開始時以外に既存の点をクリックすると底に線を繋いで、線を終わらせます。

このとき、対象の点は「選択状態」のものに限ります。(マニュアルに書いてない!)

さらに、実はこの操作、本当のスナップではないのです。3Dカーソルは現在の操作面と垂直方向には移動しません。例えばTOP画面(XY)で既存の点をクリックしても、線はその点に繋がりますが、カーソルのZ座標は元のままです。これは、注意点です。

Explode Polygons コマンドが、とても、重要

Menu > Actions > Explode Polygonsで実行するコマンドです。主な機能は、爆発。つまりポリゴンを散らかせる機能なのですが、ここに、付随的に重要な機能が仕込まれています。

爆発よりも、この付随機能のほうが、はるかに高い頻度で使用します。これらの機能は、ラジオボタンで選択して実行するだけで、ダイアログの他のパラメータはまったく触る必要がありません。

まったく、コマンドの名前を変えてほしいぐらい。

Horizontal plane at 3D cursor

選択されている頂点の Z 座標を3Dカーソルの Z 座標に合わせます。

3Dカーソルのある水平面(XY面に平行)に移動します。

Vertical Plane[Front/Back] at 3D Cursor

選択されている頂点の X 座標を3Dカーソルの X 座標に合わせます。

3Dカーソルのある前後面(YZ面に平行)に移動します。

Vertical Plane[Left/Right] at 3D Cursor

選択されている頂点の Y 座標を3Dカーソルの Y 座標に合わせます。

3Dカーソルのある左右面(ZX面に平行)に移動します。

Move verices to nearest grid point

選択されている各頂点はもっとも近接したグリッド位置に移動します。

グリッドの原点は(0,0,0)で、Menu > View > Grid Setting で指定したグリッドサイズを使います。ここで重要な点は、Designerのグリッド機能と違って、とても精度が高いこと。

この機能を使ってグリッドスナップすればとても正確なのですが、逆に、表示上のグリッドとは、ズレてしまいます。これが頭が痛いところですが、きちんと寸法で作りこむ場合には、この機能は欠かせません。

3Dカーソルを操る

ちょっと凝ったことをするときには、3Dカーソルを操作することが多い。つまり、これがOpenFXの癖ともいえるところです。

次のキー操作は、頻繁に使うので覚えておきましょう。

F2キー

一番近い選択中の点に3Dカーソルを移動する。

F3キー

選択中の(複数の)点の中央に3Dカーソルを移動する。

あっさりと点の中央と書いていますが、中央というのは、バウンディングボックスの中心です。つまり、頂点のうち最大のX座標と、最小のX座標の平均が中心点のX座標です。Y,Z座標も同様。

以下の操作は、Menu > Action > Snap Cursor > の後ろに並んでいるコマンドです。メニューが深いところにあるのが玉に瑕。キー操作ならば、Alt+A,S,S,→で選べるようになります。

To Center

すべての頂点の中心へ3Dカーソルを移動する。

To Center Selected F3キー。選択中の点の中心へ3Dカーソルを移動する。

To Centroid

すべての頂点の重心へ3Dカーソルを移動する。

すべての座標を加算して頂点個数で割ったものが重心です。

To Closiest

(選択中で無い頂点も含めて)最も近い頂点へ3Dカーソルを移動する。

To Closest selected

F2キー。選択中の(複数の)点の中央に3Dカーソルを移動する。

To Horizontal Plane

3DカーソルのX,Y座標を、選択中の点の中央のX,Y座標に合わせる(Z座標は変わらない)。 水平面(XY面に平行)上での位置あわせ。

これだけだと使い方が特殊のように見えますが、ある一点が選んである場合、3Dカーソルが現在点の高さを維持したまま、その真上(または、真下)に移動できます。ここで、Ctrl+Fで垂直線が引けます。

Move by...

移動量を数値指定して3Dカーソルを移動します。

座標表記は、(Left/Right) -> X , (Back/Front) -> Y , (Up/Down) -> Z を表します。

Store Cursor Location

現在の3Dカーソルの位置を記憶します。残念ながら記憶場所はひとつしかありません。

画面をクリックすると3Dカーソルは移動してしまうので、その前にこのコマンドで覚えておくと便利です。

To Stored Value

上のコマンドで記憶した位置へ3Dカーソルを移動します。

To Coordinate

数値指定した位置へ3Dカーソルを移動します。

座標表記は、(Left/Right) -> X , (Back/Front) -> Y , (Up/Down) -> Z を表します。

また、現在の3Dカーソルの位置が5~6桁の数字で表示されるので座標を見る場合には便利です。 特定の頂点の正確な座標を知る場合には、F2かTo Closiestでその頂点に3Dカーソルを移動して、このコマンドを使います。

Vertical Plane(F/B)

3DカーソルのY,Z座標を、選択中の点の中央のY,Z座標に合わせる(X座標は変わらない)。

前後面(YZ面に平行)上での位置あわせ。

Vertical Plane(R/L)

3DカーソルのX,Z座標を、選択中の点の中央のX,Z座標に合わせる(Y座標は変わらない)。

水平面(ZX面に平行)上での位置あわせ。

3Dカーソルの位置を変えずに頂点を選択する / 選択を解除する

TOP / REAR / SIDE で選択操作をすると、3Dカーソルの位置が変わってしまいます。姑息ですが、これを回避する方法があります。

  1. 選択を「View」画面で行う。

    Rect選択だけですが、View画面上でも選択が出来ます。選択中はView画面は角度の変更が出来ないので、選択モードに入る前にView画面を見やすい角度にしておきます。

  2. Menu > Edit > Hierachy Joints で呼び出す階層メニューで操作する。

    階層メニューは、ノードに頂点を登録でき、その表示のオン・オフ、選択のオン・オフを制御できます。ここに事前に登録しておけば、階層メニューの操作だけで選択が出来ます。

3Dカーソルの位置を複数記憶する

記憶ボックスは一つしかないのですが、解決法はあります。

現在位置を記憶するには、「.」(ピリオド)キーを押します。
これで、3Dカーソルの位置に孤立した頂点が一つ打たれます。この位置を使うときには、この頂点のそばに移動して、F2か、To Closiestを使ってそこへ移動します。


マテリアル

マテリアルの基本項目

マテリアルの基本的な項目は次の通りです。

Colour

基本色。表面の色です。イギリス式の綴りですね

Second Color

テクスチャ色。テクスチャによっては第二色としてこれが使われる。

Ref/Index

屈折率。レイトレースの時だけ有効。透明な面の屈折率。

Smoothing

チェックボックス。オンにするとレンダラーで指定した角度の範囲をなだらかにする。オフにすれば、ポリゴンは平らに見える。

Shiny Hotspots

スペキュラー(ハイライト)を使用する。

Glass Edge Effect

スキャンラインレンダリングで、透明の縁を強調する効果。

Use Vertex Mapping

この項目は、たぶん、もう使われていないと思います。

Glossiness

スペキュラー(ハイライト)の度合い。値が小さいとハイライトが大きくなり、値が大きいとハイライトが小さくなります。

Reflectivity

反射率。

Transparency

透明度。スキャンラインレンダリングでは、透明度が左端以外にあると内蔵テクスチャが無効になる。

Texture Parameter

テクスチャによってはこのパラメータで調整できるものがある。

プラグイン・テクスチャと内蔵テクスチャの指定があります。どちらか一方をチェックボックスで指定します。

Non Optical Propertiesという多くのパラメータが指定できるようなのですが、これは、他のソフト(Vtkというものらしいのですが)でレンダリングする際に使用するパラメータのようです。触る必要は無いでしょう。

テクスチャのマッピング

マテリアルの座標系を二つの軸(三点)で指定できます。座標の向きだけでなく、軸の長さがテクスチャのスケールを決めるものになっています。

これだけでは、テクスチャは2次元のように思えますが、実際には、3次元テクスチャです。二軸で決定される平面と、それに直交する軸を持っています。この三軸で決定される三次元空間にテクスチャがおかれ、物体の表面が横切るところで、対応するテクスチャの値が決定されることになります。
指定できる二軸を斜めにクロスさせると、テクスチャ自体も斜めになるし、二軸に直交する方向で、表面を移動するとテクスチャの形状が変化していくことから、このことは確認できます。

ここで問題なのが、マップ(画像マッピング)と併用する場合。少なくとも現在のバージョン(2.4)では、面にマッピングが使われていると、そちらの座標系が使われるようになっています。ですから、マップと併用すると、マテリアルの座標軸を使った調整がまったく出来なくなってしまいます。

内蔵テクスチャの問題点

透明の処理をレイトレースに指定しない場合(レンダラのダイアログでTrace GlassがOff)、透明度を少しでも上げると内蔵テクスチャの指定は無視されて、Planeと同様に基本色での描画のみになります。

スキャンラインでは、当然ながら、屈折率も働かないので、透明が入る画像では、レイトレースと決めておいたほうがよさそうです。

内蔵テクスチャの一覧

なんと、マニュアルの掲載と、内蔵テクスチャは異なっています。とりあえず、一覧しました。 wood+Flashing が無くなって、BrickFire が増えています

Agate

瑪瑙(めのう)。カラーテクスチャ。

基本色を黒にしてみると解るが、白と茶色の濃淡のある二色の縞にタービュランス(乱流)がかかっているのが基本図形。

基本色を変更するとこれに加算合成をしているような雰囲気。

本質的には、3Dテクスチャ。テクスチャ軸二つは、方向とスケールを示す。第一軸(T軸)は直交方向のスケールも示している。

TextureParameterは無効。

Aztec

アステカ。Bumpテクスチャ。

高低二面の段差を持つ表面。TextureParameterで高さが変化する。

Blend

混合。カラーテクスチャ。

Brick

煉瓦。カラーテクスチャ。

Bumpy

でこぼこ。Bumpテクスチャ。

Cloudy

雲。カラーテクスチャ。照明の影響を受けない輝度テクスチャ。

Dents

へこみ。Bumpテクスチャ。

Fire

炎。カラーテクスチャ。

Granite

花崗岩。カラーテクスチャ。

Luminous

輝度。カラーテクスチャ。照明の影響を受けない。

Marble

大理石。カラーテクスチャ。

Plain

デフォルトの何もしないテクスチャ。

Spotted

斑点。カラーテクスチャ。

Wood

木目。カラーテクスチャ。

Wrinkled

しわ。Bumpテクスチャ。

プラグインテクスチャの一覧

プラグインテクスチャは、*.TXFファイルから選びます。マニュアルにはほとんど記載がありません。

*.TFX Dialog Name Description on Dialog
BLISTERS.TFX Blisters and Random Bumps

Place irregular bumps over the surface. Simulate blistering paintwork for example.

ぶつぶつを表面に置く

BRICK2D.TFX 2D Bricks

Draw weathered bricks in the plane of the texture axis.

煉瓦模様

CARVED.TFX Carved

Give the surface the appearance of being carved.(e.g. like a stone-age tool).

曲がった表面。

CARVING.TFX Carving

Give the impression of a carving a ringed pattern into the surface.

掘り込みを入れたような表面

CAULIE.TFX Caulieflower

Cauliflower surface.

カリフラワー

CAUSTIC.TFX Underwater(Caustics)

Simulate the appearance of light playing on underwater surfaces.

水面下の模様

CHECKS.TFX Checks

Three dimesional checks.

立体チェック模様

CONTOURS.TFX Contours

Draw randoms contours for example as found on a map.

等高線のような縞

CRACKED.TFX Cracked Surface

Give the appearance of cracked surface.

ひび割れ

CRSPOTS.TFX Randomly Placed Spots

The CRSPOTS shader draws randomly placed and colored spots throughout the volume. As the spots increase in size they "crystallize".

カラフルな斑点

CRUMPLED.TFX Crumpled

Crumpled surface (e.g. crumpled aluminium foil)

しわくちゃ

CRUSTED.TFX Crusted Surface

Produce a crusted surface

塊のでこぼこ

FACETED.TFX Faceted

Faceted surface.[Minerals – Gemstones] A little like the crumpled texture.

がさがさのでこぼこ

FCCDOTS.TFX FCC Crystal Array of Colored Dots

Place regular array of colored dots the pattern of a Face Centered Cubic Crystal[FCC] structure.

規則正しいカラフルな斑点

FPLASMA.TFX FPlasma Field

The fplasma shaders produces a segment plasma.

サイケな縞模様

HCPBUMPS.TFX Regul;ar HCP Bumps

Rgular array of bumps or dimples arrange in a Hexagonal Close Packing [HCP] Format.

蜂の巣状のへこみ

HEXDMP.TFX Honeycomb

Honeycomb structure.

蜂の巣

HONEY.TFX Honeycomb Hexagonal Ridges

Draws hexagonal ridges or hexagonal bumps.

蜂の巣状のでっぱり

LEATHER1.TFX Leather1

Looks like one form of the texture of leather.

皮革

LEATHER2.TFX Leather2

Looks a form of the texture of leather with random whorls.

皮革

LEOPARD.TFX Spotted Pattern

Pattern of spots that has the apperance of animal markings.

豹柄

LIQURISH.TFX Liqourice Pattern

Pattern of twisted cylindrical colored pathces aligned in the up/down direction.

縦方向の円柱

MOON.TFX Moon!

Simulate cratered surface A.K.C. The surface of the moon.

モノクロな月面

ORANGES.TFX Orange Peel

On orange surfaces at about unit axis length looks like the surface of an orange.

オレンジの皮

PAVING.TFX Paving Stones (Flagstones)

Simulate irregular paving stone.

石の舗装

PEAS.TFX Peas

On green surface looks like a collection of peas. Can also approximate to frothy bubbles.

PLANET1.TFX Gaseous Planet

Looks like a gaseous type of planet or prot-star.

惑星

PLASMA.TFX Plasma Field

The plasma shaders is like the Bozo shader but with gradual color mixtures.

サイケな縞模様

PLATES.TFX Rectangular Plates

Bevelled edge plates.

縁の付いた四角形模様

REGBMPS1.TFX Regular Cubic Array of Pimples

Place regular array of bumps over the surface in a BCC Crystal pattern.

整列したピンプル(出っ張り)

REGDMPL1.TFX Regular Cubic Array of Dimples

Place regular array of bumps over the surface in a BCC Crystal pattern.

整列したディンプル(へこみ)

REPTILE.TFX Reptile

Simulate the appearance of the scales of reptile, amphibian or fish skin.

爬虫類、両生類、魚類の肌

SPRAY.TFX Spray Paint

Spray paint onto surface.

スプレー

STUCCO.TFX Stucco

Simulate a stucco texture over the surface.

漆喰

STUCCO1.TFX Grooves Cut Into Surface

Cut Grooves into the surface

漆喰

STUCCO2.TFX Ridge on Surfaces

Add ridges to the surface. The ridges can be smoothe or lumpy. The surface can be smooth or undulating.

漆喰

STUCCO3.TFX Pits and Zits

Add pits into surface or rough raised patches.

漆喰

TEST.TFX ----

このテクスチャは存在しない

V_BOZO.TFX Bozo Shader

The BOZO shader is a simple fractal texture that mixes three colors together.

三色の縞模様

V_BRICK.TFX Brick Shader

 

煉瓦

V_DIMPLE.TFX Dimple shader

The DIMPLE shader creates the effect of making dimples in the surfaces to which it is applied. The dimples are colored with the shader color of the faces.

丸いでっぱり

V_DOTS.TFX Simple Dots External Shader

 

斑点

V_RIPPLE.TFX Ripple Shader

the RIPPLE shader produces a ripple effect over a number of frames [period].

動くはずの波紋。テストした範囲では動かない。

VEINS.TFX Veined Surface

Give the appearance of a network of veins. When the vien object is tranparent can give the appearance of leaded glass.

メニューへ戻る
アルゴ算法堂へ戻る