ご注意ください:これはドキュメントのベータ版です。記載されている情報は正確ですが、詳細の改善作業中です。
導入
フローエディターのノードグラフは、Compound と呼ばれるファイルに保存されます。これらのファイルは .xcomp というファイル名拡張子を持ちます。
Compoundのユニークな機能として、他のCompound内で開いたり保存したりすることが可能です。
Aximmetryライブラリ
Aximmetryには、多くのCompoundを含むライブラリが付属しています。
これらのCompoundは、Compoundに追加することで複雑なプロジェクトを簡単に設定できます。また、これらのCompoundは開いて編集し、必要に応じてカスタマイズすることも可能です。
独自のCompoundを作成する前に、これらのライブラリを確認し、関連するCompoundが存在するか確認することをおすすめします。
このようなコンパウンドのライブラリには以下のものがあります:
Common\Compounds - 300種類を超える一般的なコンパウンドが含まれており、これらのコンパウンドは通常、モジュールよりも複雑ではありません。
Common_Studio\Camera - スタジオやバーチャルリアリティ制作用のカメラコンパウンドが含まれています。
Common_Studio\Compounds - スタジオやバーチャルリアリティ制作に関連するコンパウンドが含まれています。
Tutorials - 学習用のさまざまな例プロジェクトが含まれています。
Studio - 例用のバーチャルスタジオが含まれています。
NOTE: これらのライブラリをAximmetryのインストールプロセス経由でインストールしていない場合、以下の方法でインストールできます: https://my.aximmetry.com/User/MyPackages
NOTE: ライブラリをインストール後、Preferences->General->Project root foldersから追加する必要があります。
Compound
コンパウンド内に新しいコンパウンドを作成するには、Flow Editorで右クリックし、New Simple Compoundを選択します:
既存のモジュールからコンパウンドを作成するには、グループ選択オプションを使用できます:
新しい複合体を作成した後、複合体内のピンを露出させることで、複合体に新しい入力ピンと出力ピンを追加できます:
複合体のノード上のピンは、モジュールノード上のピンと同様に機能します。他のノードのピンと接続したり、ピン値パネルで編集したりできます。
リンクされた複合体
複合体には、別ファイルに保存された複合体を含めることができます。Aximmetryでは、これらの複合体を「リンクされた複合体」と呼びます。
単純な複合体からリンクされた複合体を作成するには、複合体を保存してリンクオプションを使用します:
注: 「複合体を保存してリンク...」を選択すると、新しい複合体ファイル (.xcomp) が作成されます。
そうでない場合、既存のコンパウンドファイルを別のコンパウンドに追加しても(ドラッグアンドドロップなど)、リンクされたコンパウンドとして配置されます:
ロックされたリンクされたコンパウンド
デフォルトでは、リンクされたコンパウンドはロックモードです。これはチェーンアイコンで確認できます:
ロックモード中は、リンクされたコンパウンドは元のファイル(インポート元)でのみ編集可能です。
注:元のファイルで行った変更は、自動的にリンクされたコンパウンドに反映されます。
編集可能なリンクされたコンパウンド
リンクされたコンパウンドを編集するには、リンクされたコンパウンドをコンパウンドをその場で編集に設定する必要があります:
リンクされたコンパウンドを「その場で編集」に選択すると、チェーン記号が編集記号に変わります:
注:ロックされたリンクされたコンパウンドのノードは、モジュールと同様の丸いエッジで設計されており、直接編集できないことを示しています。一方、編集可能な複合体ノード(単純複合体や編集済みのリンクされた複合体など)は、鋭いエッジで表示されます:
編集できない複合体はリンクされた複合体から読み込まれます。一方、編集可能な複合体(鋭いエッジで識別される)はルート複合体から読み込まれ、保存されます。
リンク解除または編集済みのリンクされたコンパウンドの保存
編集モード中のリンクされた複合体は、リンク解除オプションを使用して単純複合体に変更できます。
編集インプレイス中のリンクされたコンパウンドの変更は、Save In-Place Modificationsオプションを使用して元のファイルに保存できます。
一方、Revert In-Place Modificationsオプションを選択すると、リンクされたコンパウンドがロックされた状態に戻り、すべての編集内容が失われます。
Aximmetryライブラリ内のコンパウンドとの作業
重要:Aximmetryのライブラリ内に存在するコンパウンドに対してSave In-Place Modificationsオプションを使用しないでください!
そうすると、Aximmetryをインストールまたは更新した際に、保存したコンパウンドが上書きされます。
代わりに、コンパウンドのリンク解除を選択し、コンパウンドをAximmetryのライブラリフォルダー外に保存してください:
その後、コンパウンドの保存とリンク...を選択してください:
露出
露出とは、フローエディター内のピンを左右の側に接続することです。
コンパウンド内の複合体において、このような露出された値はダッシュボードや出力に表示されません。
代わりに、コンパウンドのノードの外部から新しいピンとして表示されます:
コンパウンドの内部:
このような露出接続は点線表示されます。点線の露出線は、接続が複合体外のモジュールに接続されていない可能性があることを示します。また、コンパウンド内のナビゲーションを容易にします。
入力側の露出接続は複製できません。そのため、コピーモジュールを使用することをおすすめします:
露出ピン(█ 整数ピンデータ型)のドロップダウンリストを作成したり、他のモジュールや複合体のピンを表示したりできます。詳細は「特殊ピン名」ドキュメントを参照してください。
露出ピンを再配置
ピンを再配置ウィンドウでは、コンパウンドのピンの並べ替えと整理を迅速に行えます。開くには、フローエディターの左側または右側を右クリックします:
ピンを再配置ウィンドウでは複数のピンを選択できます。それらを一緒に移動できます。または一緒に名前を変更することもできます:
コンパウンドナビゲーション
コンパウンドは、コンパウンド階層内に任意の数のコンパウンドを含むことができます。
階層はフローエディターの最上部に表示されます。
階層内の名前をクリックすると、その親化合物のフローエディターが開きます:
階層内の化合物の名前の後の矢印 ▶ をクリックすると、その階層レベル内のすべての化合物が表示されるメニューが表示されます。
NOTE: ロックされたコンパウンドはこのメニューに表示されません:
コンパウンドを離れるアイコン を使用して親コンパウンドに移動します。
バック とフォワード
のアイコンを使用して、以前に開いたコンパウンド間を移動できます(履歴ナビゲーションと同様です):
アレイコンパウンド
アレイコンパウンドは、アレイコンパウンドのアイテムサイズに応じて、特別なアレイモジュールを指定回数実行します。
これにより、1つのコンパウンドと数つのモジュールのみで、多くのデータポイントを含むデータを1フレームで処理できます。
コンパウンドは、Setup Array...オプションを使用して配列コンパウンドに変換できます:
配列加算の例
特殊な配列モジュールは名前が「Array」で始まります。その一例がArray Addです。
この例では、Inピンに値1が設定され、これが5回加算されます:
外部から呼び出された配列コンパウンドの戻り値は5です。なぜなら1+1+1+1+1 = 5だからです:
別のArray Addモジュールを追加すると、最初のArray Addモジュールが5回実行された後に値が加算されます:
したがって結果は25です。最初のArray Addの結果が5であり、これがArray Add 2で5回繰り返されるため(5+5+5+5+5 = 25):
Array Indexの例
Array Indexは、配列内の現在のアイテムのIDを返します。例えば、配列のサイズが5の場合、コンパウンドモジュール内で1、2、3、4、5を返します。
以下の例では、Array Indexが1、2、3、4、5を返し、これらの値がArray Addモジュールで加算されます:
配列複合モジュールは1+2+3+4+5 = 15を返します:
注意:配列コンパウンド内のピンをピーキングする際、最初の配列アイテム(配列インデックスが1)のピン値が表示されます。ただし、Array Addのような特殊な配列モジュール後にピーキングした場合は例外です。
配列ベクター連結の例
以下の例では、Aピンの値は10です。この10の値に、Array Indexの値が5回加算されます。その後、Array Vector Concatモジュールがこれらの5つの値を1つのベクターに格納します:
これにより、5つのアイテムからなるベクターが生成され、各アイテムは10+1、10+2、10+3、10+4、10+5 = 11,12,13,14,15となります:
Array Restrictionの例
配列制限は、コンパウンドモジュール内のモジュールを配列の特定のインデックスで1回だけ実行するように制限します。
例えば、次の配列制限コンパウンドモジュールは、配列内の3番目のインデックスのみを返します。
配列制限コンパウンドモジュール内には、コピーモジュールのみが含まれています:
これは、配列制限コンパウンドモジュール外の配列インデックスモジュールに接続されています。
そして、すべてはサイズ5の配列複合モジュール内に含まれています。
この設定は3の値を出力します。配列制限コンパウンドは、配列の3番目のインデックスで実行された値のみを出力するためです:
これは、配列ベクター連結モジュールを使用して示すこともできます。この場合、配列サイズモジュールを使用し、配列コンパウンドのサイズ(5)を返します。この値(5)は3番目のインデックスに制限されます: