Trajectory Layout ノードを使用する

設定された軌跡に沿ってアイテムを配置するには、Trajectory Layout ノードを使用します。

Kanzi Studio には、いくつかの種類のトラジェクトリがあります。異なる種類のトラジェクトリが必要な場合は、サードパーティツールでスプライントラジェクトリを作成し、それを Kanzi Studio プロジェクトにインポートしてください。トラジェクトリ (Trajectories) を参照してください。

../../_images/trajectory-layout.gif

Trajectory Layout ノードの作成

Trajectory Layout ノードを作成するには:

  1. Node Tree で、Trajectory Layout ノードを作成したいノード Alt を押しながら右クリック を選択し、Trajectory Layout 3D または Trajectory Layout 2D のいずれかを選択します。

    ../../_images/node-tree-create-trejectory-layout-2d.png

    3Dノードは、Scene ノードのような3Dノード内でのみ作成でき、2Dノードは2Dノード内でのみ作成できます。

    ヒント

    トラジェクトリを表示するには、Preview で image-analyze-off をクリックして Analyze モードに入り、image-analyze-on を右クリックして Debug objects を選択します。

    ../../_images/visualize-mode-debug-objects.png
  2. Node Tree で、前のステップで作成したレイアウトに子ノードを追加します。

    例えば、Trajectory Layout 3D ノードを作成した場合、いくつかの Sphere ノードを追加します。Trajectory Layout 2D ノードを作成した場合、いくつかの Image ノードを追加します。

    ../../_images/node-tree-trajectory-layout-2d.png

    子ノードを追加すると、Trajectory Layout ノードは、Trajectory Layout ノードによって使用される軌道に沿ってそれらを配置します。

    ../../_images/trajectory-layout-element-position.gif
  3. (オプション)

    Kanzi Studio はデフォルトで円のトラジェクトリを作成して使用します。角度、弧、円、楕円、直線、長方形、スパイラル、スプライン、または台形のトラジェクトリを使用できます。トラジェクトリ (Trajectories) を参照してください。

    ../../_images/trajectory-layout-types.gif

レイアウトを埋めるためにトラジェクトリをストレッチする

デフォルトで、Trajectory Layout ノードで使用されるトラジェクトリのサイズは、レイアウト内でトラジェクトリが占めるスペースの量を決定します。たとえば、Circle Trajectory では、Radius プロパティがトラジェクトリのサイズを決定します。

トラジェクトリをレイアウトに合わせて拡張するには:

  1. Trajectory Layout ノードを選択します。

  2. Properties で、Trajectory Layout > Stretch プロパティを追加して有効にします。

../../_images/trajectory-layout-stretch.gif

Trajectory Layout ノード内のアイテム間の距離を調整する

Trajectory Layout ノードは、その子ノード間の距離を自動的に計算します。

Trajectory Layout ノード内のチャイルドノード間の距離を調整するには、

  1. Trajectory Layout ノードを選択します。

  2. Properties で、Trajectory Layout > Override Distance プロパティを追加して設定します。

../../_images/trajectory-layout-override-distance.gif

Trajectory Layout ノード内のアイテムの位置を調整する

デフォルトで、Trajectory Layout ノードはトラジェクトリスプラインの始点から子ノードを配置します。

Trajectory Layout ノードの子ノードのトラジェクトリ上の開始位置を調整するには:

  1. Trajectory Layout ノードを選択します。

  2. Properties で、Trajectory Layout > Start Offset プロパティを追加して設定します。

../../_images/trajectory-layout-start-offset.gif

Trajectory Layout 2D ノードの外観を設定する

2D ノードの外観を設定するには:

APIで Trajectory Layout ノードを使用する

Trajectory Layout 3D ノードを作成するには:

// Create a Trajectory Layout 3D named Trajectory.
TrajectoryLayout3DSharedPtr trajectoryLayout = TrajectoryLayout3D::create(domain, "Trajectory");

トラジェクトリを作成し、Trajectory Layout 3D ノードで使用するには:

// Create a circle trajectory named Circle with radius of 4 device independent units.
// Set the trajectory layout to use it.
TrajectorySharedPtr trajectory = Trajectory::createCircle(Vector3(), Vector3::positiveY(), 0.0f, 4.0f, domain, "Circle");
trajectoryLayout->setTrajectory(trajectory);

Trajectory Layout 3D ノードにアイテムを追加するには、

// Create cube meshes and add them as items of the trajectory layout.
// Items on the trajectory appear in the order you add them to the trajectory layout.
Model3DSharedPtr item1 = Model3D::createCube(domain, "item1", 1.0f, ThemeRed);
trajectoryLayout->addChild(item1);
Model3DSharedPtr item2 = Model3D::createCube(domain, "item2", 1.0f, ThemeGreen);
trajectoryLayout->addChild(item2);
Model3DSharedPtr item3 = Model3D::createCube(domain, "item3", 1.0f, ThemeBlue);
trajectoryLayout->addChild(item3);
Model3DSharedPtr item4 = Model3D::createCube(domain, "item4", 1.0f, ThemeOrange);
trajectoryLayout->addChild(item4);
Model3DSharedPtr item5 = Model3D::createCube(domain, "item5", 1.0f, ThemeGray);
trajectoryLayout->addChild(item5);

Trajectory Layout 3D ノード内のアイテムを手動で配置するには、

// Position an item in the middle of the trajectory.
TrajectoryLayout3D::setOverrideOffset(*item2, 0.5f);

// Set the distance between the items to one third of the length of the trajectory.
trajectoryLayout->setOverrideDistance(0.3f);

詳細については、TrajectoryLayout3D クラスおよび TrajectoryLayout2D クラスを参照してください。

Trajectory Layout プロパティタイプとメッセージ

Trajectory Layout ノードの利用可能なプロパティタイプとメッセージのリストについては、Trajectory Layout 2D と Trajectory Layout 3D を参照してください。

関連項目

Flow Layout ノードを使用する

Stack Layout ノードを使用する

レイアウトコントロール (Layout control) ノード

Trajectory List Box 3D ノードを使用する

角度トラジェクトリを使用する

アークトラジェクトリ (Arc Trajectory) を使用する

サークルトラジェクトリ (circle trajectories) を使用する場合

楕円トラジェクトリ (ellipse trajectories) を使用する

ラインのトラジェクトリを使用する

レクタングルトラジェクトリ (Rectangle Trajectory) を使用する場合

スパイラルトラジェクトリを使用する

スプライントラジェクトリ (spline trajectories) の使用

トラペゾイドトラジェクトリ (Trapezoid Trajectory) を使用する

トラジェクトリ (Trajectories)