PROJECTS

« Orihalcon Framework | GLRC Library »

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 でフィールドの作成や接続が可能
  • 時刻出力フィールド、線形補間フィールドなどのサンプルを同梱

スクリーンショット

時刻表示フィールド

関連リンク

外部リンク

« Orihalcon Framework | GLRC Library »

ページの先頭へ