XPresso入門Part 2:データ型の理解

2024-01-18XPresso

QuickVFX Youtube Channelより

準備

  • ヌルオブジェクトを作成。名前を「Xpresso」とし、[Xpresso]タグを追加

以下の4つのエレメンツを作成。重ならいように調整。

  • 円形スプライン
  • ピラミッド(プリミティブ)
  • MoText([MoGraph>MoText]テキストは「Text」に。)
  • ライトオブジェクト

Xpresso編集画面を表示(Xpressoタグをダブルクリック)し、4つのエレメンツをすべてドラッグ&ドロップ。

データ型

入力ポートの追加とデータ型

それぞれの出力ドックに以下の入力ポートを追加する。

  • ピラミッドの出力ドッグに[絶対角度.H]を追加…[出力ドッグをクリック>座標>絶対角度>絶対角度.H](Coordinates>Global Rotation>Global Rotation.H)

出力ポートにカーソルを近づけると、その出力ポートのパラメータとデータ型が表示される。いまであれば、[絶対角度.H]はデータ型の「実数 Real」型を出力していることが確認できる。

  • 円形スプラインの出力ドッグに[分割数]を追加…[出力ドッグをクリック>オブジェクトの属性>分割数](Object Properties>Number)。もしくは属性マネージャから[分割数]を出力ドッグにドラッグ&ドロップ。データ型は「整数 Integer」型である。

  • MoTextオブジェクトTextオブジェクトの出力ドッグに[テキスト]を追加…[出力ドッグをクリック>オブジェクトの属性>テキストスプライン](Object Properties>Text)。データ型は「文字 String」型である。

  • ライトオブジェクトの出力ドッグに[強度]を追加…[出力ドッグをクリック>一般>強度 Intensity]。データ型は「実数 Real」型。

[数式]ノードで「ラジアンで入力された値」を「度数法の値」に変換

以下ではチュートリアル動画通りに進めます。※註!ラジアンを変換する場合は一般的には「計算」グループにある「角度の変換」ノードを使用します。

  • [結果]ノードを作成する。

  • ピラミッドの出力ポート([絶対角度.H])と[結果]ノードの入力ポートをワイヤで結ぶ。

  • ピラミッドをビューポートで回転させたり、属性マネージャでの[R.H]の値を変化させると、結果も変化することをチェック。
  • 属性マネージャで[R.H]の値を「50°とする。すると、結果ノードの値は「0.873となる。

「0.873」は角度を実数で表記する単位「ラジアン」の値(弧度法)である。「50°」は度数法による表記。

180° は弧度法においては π rad(パイラジアン) であり、360° は 2π rad(2パイラジアン)   ※国際単位系(SI)では、「度」を(π/180) ラジアン と定義している。

  • [数式 Formula]ノードを作成する。[編集画面上で右クリック>新規ノード>Xpresso>計算>数式]

  • [数式]ノードの入力ドッグに入力ポートを追加。ポートにカーソルを持っていくと、入力ポートも出力ポートもデータ型は実数型であることが確認できる。※「V」はValue(値)のV

[数式]ノードで、ラジアンで入力された値度数法の値に変換してみる。180°=π radであることから、入力値「V1」をπ/180=「1°のラジアン値」で割ると求められる。

  • [数式]ノードを選択状態で、属性マネージャを見ると、数式フィールドがある。ここに数式を記述する。また、記述において、変数に入力ポート値「V1」を用いるので、[ポート名を変数名に]にチェックを入れる。

  • [結果]ノードを作成する。
  • [数式]ノードの出力ポートと[結果ノード]の入力ポートをワイヤで結ぶ。[結果]ノードには度数法に変換された値が表示される。

この状態で、[R.H]の値を変えると、度数法表記の[結果]ノードは値が一致する。

整数型 Integer

  • [結果]ノードを作成する。
  • 円形スプラインの出力ポート(分割数)と結果ノードの入力ポートをワイヤでつなぐ。

円形スプラインの属性マネージャを確認。[分割数]はデータ型が整数型なので、整数しか入力できない。また。結果ノードと接続しているので[分割数]のアイコンが変化した。

文字型 String

  • [結果]ノードを作成する。
  • [結果]ノードの[データタイプ]を「文字」に変更する。※[結果]ノードのデータタイプの初期値は「実数」

  • MoTextオブジェクトTextオブジェクトの出力ポート(テキスト)と結果ノードの入力ポートをワイヤでつなぐ。[結果]ノードにMoTextの[テキスト]で打ち込んだ文字が表示される。

  • MoTextオブジェクトTextオブジェクトの属性マネージャで[テキスト]を変更してみる。

MoTextのテキストを別の値とリンクさせる

  • MoTextオブジェクトと結果ノードの接続を切る(入力・出力どちらかのポートをダブルクリック)
  • MoTextオブジェクトの出力ポート(テキストスプライン)を削除する(ポートをダブルクリック)
  • MoTextオブジェクトの入力ドックに[テキストスプライン]を追加。[入力ドッグをクリック>オブジェクトの属性>テキストスプライン]

  • ピラミッドの出力ポート(絶対角度.H)とMoTextオブジェクトの入力ポート(テキストスプライン)をワイヤで接続する。

すると、以下のようにピラミッドの[絶対角度.H]がMoTextオブジェクトのテキストスプラインとなり、ビューポートの表示にそれに従う。

  • ビューポート上で、ピラミッドの[R.H]が変わるようにピラミッドを回転させると、MoTextの値もリンクされているのでアップデートされる。
  • オブジェクトマネージャで「MoText」を複製する(Ctrl+ドラッグ)。「MoText.1」オブジェクトが出来る。位置をオフセットする。
  • オブジェクトマネージャから「MoText.1」オブジェクトをXpresso編集画面にドラッグ&ドロップ。
  • 「MoText.1」の入力ドックに[テキスト]を追加。[入力ドッグをクリック>オブジェクトの属性>テキストスプライン]
  • ピラミッドの[絶対角度.H]を度数法表記に変換している[数式]ノードの出力ポートと「MoText.1」の入力ポートを接続する。

以下のようになる。

ピラミッドを回転すると、どちらのテキストもリンクされて表示される。

 

  • [結果]ノードを作成し、ライトの[強度]とワイヤでつなぐ。
  • 属性マネージャで、[強度]を76%とする。

  • 結果を%にしたい。
  • [計算]ノードを作成し、ライトと結果の間に配してワイヤでつなげる。
  • 属性マネージャで計算の[演算タイプ]を「乗算」に、パラメータの入力[2]を「100」とする

ブール型

  • オブジェクトマネージャからピラミッドを編集画面にドラッグ&ドロップ。出力ポートに[オブジェクトの状態 有効]を追加。

  • 結果ノードを作成し、データタイプを「ブール」に変更する。

結果ノードに入力ポートを作成し、ピラミッドとワイヤでつなげる。

属性マネージャで[オブジェクトの状態 有効]をクリックする。

するとビュー画面でピラミッドは消えて、[結果]は「FALSE」となる。

時間型 time

  • Xプールより時間ノードを作成する。

  • 結果ノードを新規に作成し、データタイプを「時間」にする。

  • 時間ノードと結果ノードをワイヤでつなぐ。

  • 結果は秒であらわされる。プロジェクト設定で25fpsにしている場合、40Fで結果が「1.6」となり、50Fで「2」となる。
  • プレビュー再生すると同時に再計算するためには[再計算>アニメーションにしたがって再計算]にチェックを入れる。

XPresso

Posted by ASADA