« Orihalcon Framework | GLRC Library »
更新日 2007.08.13
osgField NodeKit(osgField ノードキット)
OpenSceneGraph に汎用のアニメーション機能を付加する機能拡張(ノードキット)です。
この osgField NodeKit を使うと、OpenSceneGraph の osgIntrospectionによるリフレクション機構を利用して、シーングラフ中のあらゆるプロパティやメソッドをフィールドとして定義することができるようになります。フィールドはそれぞれ入力と出力の型(数値、文字列、3次元ベクトルなど)を持ち、同じ型同士の入出力を繋げてフィールド同士を連結すると、フィールドの値変化が連鎖的に伝搬します。これは OpenInventor や VRML2 のフィールド/イベント機構、あるいは Maya のディペンデンシーグラフに相当する機能です。これによってシーン中の任意の要素の連携やアニメーションが可能になります。
例えば、時刻を入力としてファイルから読み込んだカーブに従って3次元ベクトルを補間出力するフィールドに Transform ノードの position プロパティフィールドを接続すると、ノードが移動するアニメーションになります。現在時刻を出力する関数フィールドにシーン中の文字列ノードを出力すると、シーン内にデジタル時計を作成することができます。
osgField NodeKit 自体も osgIntrospection によってリフレクションされているため、Orihalcon Framework の osgDirector でグラフィカルに値の設定やフィールド間の接続を編集できるとともに、スクリプトによるフィールドの接続やアニメーションの制御も可能です。
この osgField NodeKit をベースに独自のフィールドを作成することで、アイデア次第で様々なアニメーションやアルゴリズムをシーングラフ内に実現することが可能になります。
- 動作環境
- Windows / Unix
主な機能
- 任意のプロパティや関数をフィールドとして定義可能
- フィールドの出力を多数の他フィールドに接続可能(1入力多出力)
- フィールドの値は入力が変化するまで一時値をオーバーライト可能
- サブクラス化して独自のフィールドを作成可能
- osgDirector を使って GUI でフィールドの作成や接続が可能
- 時刻出力フィールド、線形補間フィールドなどのサンプルを同梱