躍動感2:反射する空間

躍動感

はじめに

先々回のblog「躍動感1:オブジェクトからの視線」で、オブジェクトが作る軌道のある地点(少し過去)からオブジェクトを観る視点を取り入れると、「躍動的」な映像ができることを述べました。この指摘自体は、「ビジュアルクリエータのためのTOUCHDESIGNERバイブル, 著 河村健一 他2名, 誠文堂新光社」によっています。そこで「躍動感」が生じる別の視点はないものかと考えました。注目したのが、2025.12.21のblog「梵が一如2」です。このblogでは空間からオブジェクトが放出されてくるような映像を紹介しています。動きがあるという共通点があります。このblogの動きを作っているのは、TouchDesignerのray SOPによるものです。立方体の中をオブジェクトが繰り返し反射させることが動きの元です。この使い方と視線の設定を組み合わせると「躍動感」が作れるのではないかと思いました。今回はこの手法について紹介致します。「躍動感1:・・・」が時間に着目した方法に対して、今回は空間に着目した方法です。
もう一つ「躍動感」とは違いますが、視点移動の観点では関係があるので、ray SOPの興味深い別の使い方を紹介致します。2025.08.09のblog「偶然性」の「宇宙駆逐艦」の節の映像で、宇宙駆逐艦がビームを放つ場面に使った方法です。本来ray SOPは2025.12.17のblog「パーティクルとポテンシャル・・・」等で用いている、ポテンシャル分布を描くような手法がメインです。これに対してユニークな使い方ではないかと思います。

回転する図形の面にターゲットを設定する方法

「梵我一如2」のblogの「「擾乱を伴う反復系」+「放出」」の節の中でray SOPの第1インレットにオブジェクト、第2インレットに回転するbox SOPを使った場合を示しています(ray SOPのパラメータであるPoint Intersection NormalはReflected Rayに設定します)。今回説明するのもこの構成です。これは内部の面反射により動きを作り出すことができます。この構成において、視線のターゲットがbox SOPを構成する一つの面の中心に設定し、カメラをbox SOPの中心に設定した場合にどのように見えるか試しました。ray SOPは第1インレットの形状を第2インレットに投射する機能ですので、box SOP内を反射して動き回っているオブジェクトのポイントを、一つの面をターゲットとして、box SOPの中心から見ていることになります。今回の場合の構成を次に示します。

「梵我一如2」は第1インレットのオブジェクトは第2インレットのboxよりも小さく、boxの中に入っていました。今回は第1インレットのtorus SOPは第2インレットのbox SOPよりもサイズが大きく、torusを構成するpointの一部がbox SOP内に入ります。そのためbox SOP内部のtorus SOPのpointが反射してbox SOP内を動き回ることになります。またtorus SOPのサイズを可変にしてbox SOP内部に入るポイントの数を変えています。
次にbox SOPの一つの面をカメラのターゲットにする方法について述べます。group SOPを使って一つの面を選択し、sop to chopでその面の4つの頂点を求めます。それをanalyze CHOPで平均化すると面の中心が求まります。これをカメラのターゲットにして、カメラをbox SOPの中心に置きます。これによって、中心から選択した一つの面に投射された映像を観測することができます。lay SOPの後にparticle SOPを使ってポイントを粒子化し、point SOPで色の設定をしています。そして位置と色情報をインスタンシングします。geoの内部にはインスタンシング対象であるbox SOPが入っており、これはz方向のサイズが可変になっています。ray SOPの第2インレットに繋ぐbox SOP内のポイントは反射し様々な方向に移動していますが、box SOPの外のポイントはtorus形状の法線方向に飛びます。box SOPの回転による反射の変化と内部のポイントの数の変化、そして特定の面をbox SOPの中心から観る視線が特徴です。それでは映像を見ていただきましょう。

「躍動感」のある映像が得ることができました。よくみると、並んで規則的に動いている直方体と上下左右にばらけて動いている直方体があることが分かります。並んでいるのは、第2インレットのbox SOPの外にあるturus SOPのポイントから放射した粒子です。上下左右にばらけて動いているのは、ray SOPの第2インレット入力されたbox SOP内のturas SOPのポイントに由来した粒子です。直方体のサイズが変わっていくのは、geo COMPのbox SOPのz方向を可変にしているからです。
次にray SOPの第2インレットに繋いているbox SOPの形状を次のような図にました。

5角錐を上下反転して接続したような形状です。この中の一つの面をカメラのターゲットとした場合です。映像は次のようになりました。

これも「躍動感」のある映像が得られています。

ray SOPによるビームの作り方

この節で述べるのは「躍動感」とは違いますが、ray SOPの珍しい使い方を紹介致します。上の説明がray SOPを中心にしていたので、ray SOPについての補足です。
まず映像をみてください。

ビームアレイが対象に向けて放射されています。この映像もray SOPを使って作製しています。ray SOPはポイントを球に対して投射します。ray SOPのパラメータである。Roint Intersection DistanceパラメータをabsTime.seconds * 0.3 %1に設定しています。absTime.secondsはどこからでも使えるグローバル変数でTouchdesignerが起動してからの時間経過が得られます。これに0.3掛けて1で割ったあまりを求めています。0.3を掛けtいるのは速度を遅くするためです。1で割った余りということは、小数点以下の値になります。これによって、0~1の間の値を繰り返し得ることができます。1の時ビームは球にまで達し、0の時消えます。球が移動するのに対してビームの方向が動くのは、ビームを出す面と球の中心との角度をobjec CHOPを使って求め、この角度をビームを出す面にフィードバックしているからです。

まとめ

ray SOPの本質は第1インレットを第2インレットに投射することですが、単に投射するだけでなく、反射させたオブジェクトを投射させたり、ビームのような映像を作製したりすることができます。反射させることで動的に動く状態を作製し、それを内部から観察することで「躍動感」のある映像が作製できました。「躍動感1:・・・」のblogでは時間的に少し前にカメラを配置し、現在を観察したわけですが、今回は衝突する面、即ち空間をターゲットとしてその面を内部から観察しました。geo COMP内の形状をbox SOPにしていますが、これをshere SOPやとtorus SOP等に変更するとイメージも大きく変わります。またray SOPの後group SOPを使って、発生させるparticleの場所を制限しても様子が変わります。

コメント