エクスプレッションを使用してジオメトリのサイズとシェイプを変更する

エクスプレッションを使用して、ジオメトリのサイズ、シェイプ、方向のランダム化を操作できます。この方法では、同じジオメトリを複数回インスタンス化できますが、各インスタンスはシーン内で異なって表示されます。

インスタンス化されたジオメトリに簡単に変化をつけるには、ランダム化エクスプレッションを使用します。

ツイスト(Twist) アトリビュートをランダム化するには

  1. プリミティブ アトリビュート(Primitive Attributes)セクションで、ツイスト(Twist) の横にあるこのアイコン をクリックします。
  2. XGen エクスプレッション エディタ(XGen Expression Editor)で、次のエクスプレッションを入力します: rand(0,360)

  3. 適用(Accept)をクリックします。

    これで各ツリーに独自の固有 ツイスト(Twist) 値が設定されました。

コレクション エクスプレッションを使用して変化をつける

ランダム化する別の方法は、コレクション エクスプレッションを作成することです。このタイプのエクスプレッションは、コレクション内のすべてのディスクリプションの異なるプリミティブ アトリビュート値に適用できます。

この例では、コレクション エクスプレッションを使用してスライダ コントロールを持つカスタムの XGen アトリビュートを作成します。スライダ コントロールを使用することで、LengthWidthDepthTwist などのアトリビュートに適用できる、ランダム化された値を生成することができます。

  1. XGen ウィンドウで、エクスプレッション(Expressions)タブをクリックします。
  2. 名前(Name)の横に、randomizer などのカスタム エクスプレッションの名前を入力します。

    float 値を使用するため、このエクスプレッションは浮動小数(Float)に設定されたままにします。

  3. アイコンをクリックしてアトリビュートを作成します。
  4. アトリビュートの横にある アイコンをクリックします。
  5. XGen エクスプレッションエディタ(XGen Expression Editor)で次のように入力します。

    $a=;

    これにより、アトリビュート用のスライダ コントロールが作成されます。

  6. 次の行に、次の式を入力します。

    $a*rand(0.1, 3.0)

  7. 適用(Accept)をクリックします。

    このエクスプレッションでは、スライダ値がランダム化関数によって乗算されています。これで、プリミティブ アトリビュートを設定して、エクスプレッションによって生成されたランダムな値を使用することができるようになりました。

  8. プリミティブ(Primitives)タブをクリックし、長さ(Length) の横にある アイコンをクリックします。
  9. XGen エクスプレッションエディタ(XGen Expression Editor)に表示された内容をクリアし、カスタム アトリビュート名に続けて()を入力します。例: randomizer()適用(Accept)をクリックします。

    長さに割り当てられる値が、カスタム アトリビュート スライダの設定に基づいてランダムに生成されるようになりました。

  10. 上記の手順を 幅(Width)深度(Depth)ツイスト(Twist) に繰り返します。
  11. エクスプレッション(Expressions)タブをクリックし、カスタム アトリビュート スライダを使用して適切な値を生成します。

    また、randomizer()エクスプレッションを使用して、シーン内の草束のサイズと方向に変化をつけることもできます。