ウィンドウに表示
お気に入りに追加
ホーム: Autodesk Maya オンライン ヘルプ
OpenFlight > ライト ポイント法線の編集(OpenFlight > Edit Light Point Normals)
Maya OpenFlight のインポート/エクスポート
サポートされている OpenFlight Beads
ワークフローでの考慮点
Maya で OpenFlight ファイルを扱う場合、ワークフローに関して次の事項を考慮しておく必要があります。
ファイルのエクスポート時
ここでは、Maya から OpenFlight ファイルをエクスポートする際の制限についていくつか挙げます。
- モデルは常に RGB モードでエクスポートされます。
- 単位は常にメートルです。
- アニメーションはすべてエクスポートできません。
- カメラもすべてエクスポートできません。
- エクスポータは、1 つのフェースにつき 1 つのテクスチャ マップのみをサポートしています。レイヤ化されたテクスチャは、最初のテクスチャだけがエクスポートされます。
- 2D や 3D のプロシージャ テクスチャはエクスポートされません。
- Maya のレンダリング パラメータには、OpenFlight では同等のパラメータがないものが多くあります。
- Degree of Freedom Beads は、Maya の Group/Transform ノードで Limits が設定されている場合のみ作成されます。
- 外部参照のノードのトランスフォームは OpenFlight フォーマットには保存されません。カレント シーンから参照されているファイルをトランスフォームするには、参照ファイルの DAG ノードのルート オブジェクトをグループ化して、トランスフォームをすべてそのグループ
ノードに適用する必要があります。
モデルのシェーディング時
フラット シェーディング
OpenFlight オブジェクトにはフラット シェーディングのフラグがあります。これは、オブジェクトをフラット シェーディングで描画するか、Gouraud(スムース)シェーディングで描画するかを指定します。このフラグは、Maya のポリゴンのスムース シェーディング(Smooth Shading)アトリビュートにコネクトされるようになりました(アトリビュート エディタ(Attribute Editor)のシェイプ(Shape)ノードのレンダリング詳細(Render Stats)セクション参照)。
OpenFlight は、フェース レベルとオブジェクト レベルの両方でフラット シェーディング フラグをサポートしますが、Maya では、オブジェクト レベルのフラグのみをサポートします。このため、Maya にインポートするオブジェクトのフラット
シェーディング フラグは、オブジェクトとそのすべてのフェースで必ず等しい値に設定する必要があります。
照明
OpenFlight オブジェクトの照明フラグは、オブジェクトを近くのライトで照らすか、自己照明のみを適用するかを指定します。
自己照明オブジェクトをインポートすると、該当する Maya オブジェクトの次のアトリビュートがオフになります: シャドウの投影(Casts Shadows)、シャドウの受像(Receive Shadows)、反射に現れる(Visible in Reflections)、屈折に現れる(Visible in Refractions)。インポートされたオブジェクトが自己照明オブジェクトではない場合、これらのアトリビュートはすべてオンになります。
Maya オブジェクトを OpenFlight にエクスポートすると、Maya オブジェクトのシャドウの受像(Receive Shadows)アトリビュートがオフになっている場合に限り、自己照明フラグが設定されます。
スイッチ ノードの使用時
Maya では OpenFlight スイッチ ノードがサポートされています。スイッチ ノードでは、グループのトランスフォーム(Transform)ノードに適用される表示マスク配列が許されます。表示マスクでは、子ノードが 1 ビットで表示されます(カレントの実装でサポートされているのは、32
個までの子ノードです)。
スイッチ ノードがグループ トランスフォーム ノードに適用され、ハイパーグラフ(Hypergraph)を通して見たり、選択したりできるヘルパー(Helper)ノードとして実装されています。現在選択されているマスクは、スイッチ ノードに関連するアトリビュート エディタ(Attribute Editor)を通して修正できます。
スイッチ ノードは、スイッチ ノード付きの OpenFlight データベースが Maya に読み込まれるときに自動的に作成されます。また、このノードは、Maya モデリング環境内で fltSwitch コマンドを使用して作成することもできます。
スイッチ ノードのアトリビュート
ロング ネーム(ショート ネーム) |
タイプ |
デフォルト |
フラグ |
outputVis(out)
|
Tint32
|
0
|
R
|
curMask(in)
|
Tint32
|
0
|
RWSK
|
maskWidth(mkw)
|
Tint32
|
0
|
RWS
|
numMasks(nmk)
|
Tint32
|
0
|
RWS
|
masks(mks)
|
Tint32
|
0
|
ARWS
|
fltSwitch コマンド
- 書式
-
- 戻り値
-
[string[]](作成時のオブジェクト名またはノード名)
- 説明
-
このコマンドは、Maya でスイッチ ノードの作成、編集、または照会を行う際に使用されます。
- フラグ
-
-p(c)親グループのトランスフォーム ノード
-cm(eq)カレントのスイッチ ノード マスクの設定または照会
-n(ceq)扱うノードの名前
-am(e)選択されているオブジェクトに応じたマスクの追加
-em(e)選択されているオブジェクトに応じたアクティブなマスクの編集
-dm(e)カレント マスクの削除
例
// Create a Switch node
fltSwitch -n sw1;
// After some geometry has been added under sw1, masks maybe created by selecting the geometry to be visible under the switch for the mask and and then using the fltSwitch command as follows.
fltSwitch -e -am -n sw1;
// Setting the current mask to the desired switch will enable that mask.
fltSwitch -e -cm 0 -n sw1;
ライト ポイント(Light Point)を使用する場合
Maya では OpenFlight ライト ポイント(Light Point)がサポートされています。ライト ポイントを使用して、レンダー プロパティのないライトの配列を作成することができます。
この光源は、OpenFlight ファイルにインポートおよびエクスポートすることができます。ただし、次の制限があります。
インポート
- モデリング ライトはサポートされません。
- OpenFlight 無限ライト(OpenFlight Infinite Light)は、ディレクショナル ライトとして Maya にインポートされます。
- OpenFlight ローカル ライト(OpenFlight Local Light)は、アンビエント ライトとして Maya にインポートされます。
- OpenFlight スポット ライト(OpenFlight Spot Light)は、スポット ライトとして Maya にインポートされます。
エクスポート
- ディレクショナル ライトは無限ライトとしてエクスポートされます。
- アンビエント ライトはローカル ライトとしてエクスポートされます。
- スポット ライトはスポット ライトとしてエクスポートされます。
- OpenFlight でサポートされていないライトのタイプ(エリア ライト、ポイント ライト)は、無限ライトとしてエクスポートされます。
- モデリング ライトはサポートされません。
注:
- 1 つの光源ごとに 1 つのライト パレットが作成されます。
- ライト パレットの方向は常に Yaw = 0、Pitch = 0 になります。
ライト ポイントは Maya のシェイプとして実装されます。ライト ポイントは、ライト ポイント付き OpenFlight データベースが Maya に読み込まれる際に自動的に作成されます。または、OpenFlight のメニュー コマンドや
MEL コマンド fltLightPoints を使って Maya で作成することもできます。
LightPointShape にはそれぞれ、任意の数のライト ポイントを含めることができます。LightPointShape を選択してそのアトリビュート エディタ(Attribute Editor)を開くと、ライト ポイント アトリビュートがすべて使用可能な状態になります。このアトリビュートには、Maya では可視となるエフェクトがなくても編集、保存、エクスポートはできるものがたくさんあります。
ライト ポイント アトリビュート
ロング ネーム(ショート ネーム) |
タイプ |
デフォルト |
フラグ |
LightPointsMin(lpmn)
|
double3
|
0
|
RWS
|
LightPointsMax(lpmx)
|
double3
|
0
|
RWS
|
SurfaceMaterialCode(smc)
|
Tint16
|
0
|
RWS
|
FeatureId(fid)
|
Tint16
|
0
|
RWS
|
BackColor(bc)
|
Tint32
|
0
|
RWS
|
DisplayMode(dm)
|
enum
|
0
|
RWS
|
Intensity(ity)
|
float
|
0
|
RWS
|
BackIntensity(bit)
|
float
|
0
|
RWS
|
MinimumDefocus(mndf)
|
float
|
0
|
RWS
|
MaximumDefocus(mxdf)
|
float
|
0
|
RWS
|
FadingMode(fm)
|
Tint32
|
0
|
RWS
|
FogPunchMode(fpm)
|
Tint32
|
0
|
RWS
|
DirectionalMode(drm)
|
Tint32
|
0
|
RWS
|
RangeMode(rm)
|
Tint32
|
0
|
RWS
|
MinimumPixelSize(mnps)
|
float
|
0
|
RWS
|
MaximumPixelSize(mxps) |
float |
0 |
RWS |
ActualSize(aps) |
float |
0 |
RWS |
TransparentFalloffPixelSize(tfps) |
float |
0 |
RWS |
TransparentFalloffExponent(tfe) |
float |
0 |
RWS |
TransparentFalloffScalar(tfs) |
float |
0 |
RWS |
TransparentFalloffClamp(tfc) |
float |
0 |
RWS |
FogScalar(fs) |
float |
0 |
RWS |
SizeDifferenceThreshold(sdt) |
float |
0 |
RWS |
DirectionalType(drt) |
enum |
0 |
RWS |
HorizontalLobeAngle(hla) |
float |
0 |
RWS |
VerticalLobeAngle(vla) |
float |
0 |
RWS |
DirectionalFallofExponent(dfe) |
float |
0 |
RWS |
DirectionalAmbientIntensity(dai) |
float |
0 |
RWS |
AnimationPeriod(ap) |
float |
0 |
RWS |
AnimationPhaseDelay(apd) |
float |
0 |
RWS |
AnimationEnabledPeriod(aep) |
float |
0 |
RWS |
Significance(sig) |
float |
0 |
RWS |
Calligraphic(call) |
Tint32 |
0 |
RWS |
Flags(flgs) |
Tint32 |
0 |
RWS |
XanimRotateAxis(xra) |
float |
0 |
RWS |
YanimRotateAxis(yra) |
float |
0 |
RWS |
ZanimRotateAxis(zra) |
float |
0 |
RWS |
LightColors(lc) |
Double3 |
0 |
ARWS |
LightNormals(ln) |
Double3 |
0 |
ARWS |
InputLightPoints(ilp) |
0x58000014 |
0 |
RW |
OutputLightPoints(olp) |
0x58000014 |
0 |
RS |
WorldLightPoints(wlp) |
0x58000014 |
0 |
ARS |
CachedLightPoints(clp) |
0x58000014 |
0 |
RWS |
DisplayNormals(dn) |
Boolean |
false |
RWSK |
DisplayLobe(dl) |
Boolean |
false |
RWSK |
ライト ポイントの機能が拡張されて、表示されるライト ポイント シェイプのアトリビュートがいくつか増えました。
- ライトの方向性 > タイプ(Light Directionality > Type)
- ライトの方向性 > 前面の強度(Light Directionality > Front Intensity)
- ライトの方向性 > アンビエント強度(Light Directionality > Ambient Intensity)
- ライトの方向性 > バック強度(Light Directionality > Back Intensity)
- ローブ角度 > 水平(Lobe Angle > Horizontal)
- ローブ角度 > 垂直(Lobe Angle > Vertical)
- ローブ角度 > ロール(Lobe Angle > Roll)
- 表示 > 法線(Display > Normals)
- 表示 > ローブ(Display > Lobe)
表示 > 法線(Display > Normals)と表示 > ローブ(Display > Lobe)には共に Creator に該当するオプションがありません。これらは、Maya 内でシーンを作成するときに、法線の可視性とライト ポイントのローブを制御する場合に使用します。全方向ライトのローブを表示することはできません。
現在のところ、実際に設定されている値に関係なく、背景のカラーは赤でのみ表示されます。ただしこのデフォルト カラーは、背景およびアンビエント強度に反応します。これにより、さらに高度なシミュレーションを行うことができます。
fltLightPoints コマンド
- 書式
-
- 戻り値
-
[string[]](オブジェクト名またはノード名)
- 説明
-
このコマンドは、Maya でライト ポイントを作成するときに使用します。
- フラグ
-
-d(c)ライト ポイント間の距離
-c(c)作成すライト ポイント数
-n(c)作成するノードの名前
-p(c)親グループのトランスフォーム ノード
-nt(c)これが指定されている場合、親のトランスフォーム ノードは作成されません。この場合、親も –p フラグで指定する必要があります。
-clr(ce)作成されたすべてのライト ポイントに適用される RGB のカラー値。それぞれの値は 0.0 から 1.0 の範囲になるはずです。編集モードでは、ライト ポイントが選択されていなければ、-n を使ってライト ポイント シェイプの名前を指定する必要があります。
-nml(ce)作成されたすべてのライト ポイントに適用される法線。編集モードでは、ライト ポイントが選択されていなければ、-n を使ってライト ポイント シェイプの名前を指定する必要があります。
-dt(ce)タイプは、"OMNIDIRECTIONAL"、"UNIDIRECTIONAL"、または "BIDIRECTIONAL" のいずれかでなければなりません。デフォルトでは、ライト ポイントは全方向(OMNIDIRECTIONAL)になります。
-dnml(ce)は、法線の表示の有効/無効を切り替えます(true/false)。
例
// Create 3 light points spaced 0.5 UI units apart
fltLightPoints –c 3 –d 0.5/
/ this creates a light point string with 5 light points and visible normals
fltLightPoints -c 5 -dnml true;
// this makes the normals of the selected light points string invisible and
// changes the light type to be Unidirectional.
fltLightPoints -e -dnml false -dt UNIDIRECTIONAL;
fltLightsOnCurve スクリプト
- 書式
-
fltLightsOnCurve [arguments]
- 戻り値
-
- 説明
-
このスクリプトは、既存のカーブを使用し、配置のガイドとして現在選択されているカーブを使って、指定された数のライト ポイントを作成します。ライト ポイントはこのカーブに沿って均等な間隔で配置されます。
注: このカーブは構築専用であり、このスクリプトで変更されます。
このスクリプトを使用するには
- カーブを作成してライト ポイントを配置する際のガイドとして使用します。
- カーブを選択してこのスクリプトを実行します。
例
// Create 3 Red Light Points equally spaced along the selected curve
fltLightsOnCurve 3 1.0 0.0 0.0;
- 引数
-
Arg1 作成するライト ポイントの数を指定する整数
Arg2 ライト ポイントに割り当てられたカラーの赤(Red)コンポーネントを指定する浮動小数点(0.0~ 1.0)
Arg3 ライト ポイントに割り当てられたカラーの緑(Green)コンポーネントを指定する浮動小数点(0.0~ 1.0)
Arg4 ライト ポイントに割り当てられたカラーの青(Blue)コンポーネントを指定する浮動小数点(0.0~ 1.0)
DOF(Degree Of Freedom)ノード
Maya のトランスフォーム ノードはすべて DOF ノードを表すことができます。DOF ノードにはそれぞれ使用できる情報に制限があり、デフォルトではそれぞれ独自の座標空間で動作します。
Maya トランスフォーム ノードから DOF を作成するには
- アトリビュート エディタ(Attribute Editor)でグループのトランスフォーム ノードの制限を設定します。
LOD(Level Of Detail)ノード
Maya の LOD ノードの動作は、OpenFlight の LOD ノードとは若干異なっています。OpenFlight の LOD ノードの動作をシミュレーションするには、LOD ノードで制御される単一のグループのトランスフォーム ノードに、OpenFlight
LOD ノードの子をすべてグループ化します。Maya の switch in/switch out 要件にあわせて制御さした LOD ノードの前や後に、null のトランスフォーム ノードを挿入することもできます。
注:このノードを削除すると、LOD が正しく動作しなくなります。
また、Maya の LOD は特定のカメラに関連付けられています。OpenFlight ファイルをインポートする際に、fltLOD という名前のカメラが作成されます。LOD の動作を有効にするには、このカメラを使用する必要があります。Maya で新しい LOD ノードが作成されると、同様に LOD カメラに関連付けられます。