![見出し画像](https://assets.st-note.com/production/uploads/images/41360756/rectangle_large_type_2_6c0529966e1f95ac26682b27f8e22889.jpg?width=1200)
Cinema 4D R23: シーンノード
Cinema 4D R23から追加された新機能の一つに「シーンノード」を使って何が出来るのか,または何が出来そうなのかを探っていきたいと思います.
今回はとりあえずクローナーのようにたくさん複製して何か作ってみました.
こういう場では日本語UIで書いていきたかったのですが,何故か日本語パックをインストールできず...直ったら次回以降はなるべく日本語版で書いていきます
シーンノード用レイアウト
まずは新規シーンファイルを作り,シーンノード用レイアウトに変更します.右上のレイアウトから「Nodes」を選択してNodes用レイアウトにします.この段階ではノードは何もないので,「Scene Nodes Editor」アイコンをクリックしてノードエディタをアクティブにします.
これでシーンノードを作成できるようになります.
ノードエディタ左側には作成可能なノード郡がカテゴリごとに分類されていますので,この中から必要なノードを選択してエディタにドラッグ&ドロップ,またはダブルクリックで追加できます.ノードエディタ上で「C」キーを押して検索窓から必要なノードを作成できるので,慣れたらこちらの方が早いです.
プリミティブをシーンに追加する
プリミティブOpを追加して(ここでは立方体)みますが,まだシーンには何も表示されません.シーンノードで作成した結果をシーンへ渡す必要があります.プリミティブOpの「Op Output」を「Scene」に接続すると,シーンに立方体が表示されます.大きな違いは従来のようにオブジェクトマネージャには立方体が追加されるわけではない点でしょうか.
オブジェクトマネージャに何もないのにエディタにオブジェクトがあるのはCinema 4Dを使ってきたユーザーからするとちょっと違和感がありますが,シーンノードはこのような構造になっているようです.
Distribution Opで複製してみる
Distribution Opを使うとクローナーのように複製できます.「Op Output」から「Op Input」へ接続して,シーンに渡します.Distribution Opの分配タイプは様々あります.画像は線形です.クローナーと似ているといっても,パラメータは結構違います.
下の画像はタイプを〈スパイラル〉にしたもの.こちらは「カラーカウント」なるパラメータがあり,自動でカラーが付きます.
Radial分配後に,各オブジェクトの位置をランダムにしてみる
分配後に,ランダムエフェクタを加えるだけ...というお手軽な感じではいかないようです.
手順として,DistributionノードからMatrixを取り出し,Decomposeノードへ渡します.Decomposeノードはマトリックスをベクトルに分解するノードで,位置,スケール,回転を個別に取り出せます.
Sample Noiseを作成して,TranslationからValueへ渡し,その値にノイズを加えてResultから取り出します.
その値をRange Mapperノードへ渡し,ランダムの下限と上限を設定し出力し,ComposeノードのTranslationへ渡します.
ComposeノードはベクトルをMatrixへ変換するノードです.Matrixが出来たら,Matrix Opノードを作成してMatrixへ渡します.Op Inputは分配のOp Outputから接続してあげます.
と,通常のクローナーにランダムエフェクタを~という方法よりちょっと手間がかかりますが,こんな感じで分配後の位置をランダムにできます.
このDecomposeとComposeは頻繁に使うので覚えてくとよいです.Xpressoでもよく使うマトリックス→ベクトル変換のあれと同じです.
組み合わせてみた状態です.分配を2回使ってます.これほど大量にオブジェクトを複製してもクローナーより断然軽いです.この後Timeノードを使ってアニメーションも作りましたが,エディタの再生でも非常に軽く動作します.
忘れてはいけないのが,最後のMaterialノードでマテリアルをセットしておくことです.オブジェクトマネージャには何もないため,シーンノード内でマテリアルをセットしておく必要があります.今回はRedshiftマテリアルを使っています.
レンダリング
一応レンダリングした画像も.最近Redshiftのボリュームにハマっているのでそのテストも兼ねて.調子に乗るとボリュームかけすぎてしまいます..
シーンノードはまだ触り始めたばかりなので実はよく分からない点が多いので少しずつ勉強していきたいと思います.
この記事が気に入ったらサポートをしてみませんか?