この記事はtraPアドベントカレンダー2020 7日目(11/20)の記事です。
19のでっていう(@d_etteiu8383)です。普段は3DCGで遊んだりしてます。本記事ではBlenderにおけるプロシージャルマテリアルとNodevemberというイベントについてご紹介したいと思います。
なお、この記事ではBlenderのノードエディタの細かい操作の解説はしていません。あくまでもプロシージャルの概念の紹介に留めた記事となっているので、具体的な操作方法や制作過程を知りたい方は別の記事をご覧ください。
11月ですね
突然ですが本日11月20日が何の日だかご存じでしょうか?そうです、真中らぁらさんの誕生日ですね。
真中らぁらって誰?
真中らぁらとはプリティーシリーズ第2弾にあたるトレーディングカードアーケードゲーム『プリパラ』の登場人物、およびこのゲームを原作としたタツノコプロ・DONGWOO A&E制作による同名のアニメ作品の主人公です。愛媛なおさんも誕生日おめでとうございます。
プリティーシリーズって何?
プリティーシリーズとはタカラトミーアーツおよびシンソフィアが共同開発しているアーケードゲーム『プリティーリズム』『プリパラ』『キラッとプリ☆チャン』や、これらのスピンオフ作品・メディアミックス作品をまとめた名称です。
100円玉を握りしめ、ムシキングカードを収めたファイルを抱え、オシャレまほうカードを収めたファイルを抱え、ゲームセンターを駆けた記憶があなたにもあるのではないでしょうか。大型甲虫が欲しかった、ラブ派だった、ベリー派だった、友達とカードを交換した、学校にムシカードを持ち込み没収された――そんな思い出があなたにもあるのではないでしょうか。
セガが生んだ子供向けトレーディングカードアーケードゲームの大ブームはとどまる所を知らず、競合他社でも続々と同様のゲームが開発されました。その中で2010年に『プリティーリズム』、2014年に『プリパラ』、2018年に『キラッとプリ☆チャン』が誕生しました。いずれのゲームもコーデアイテムを集めてかわいく・かっこよくキャラクターをコーディネートして遊ぶゲームです。メディアミックス作品として各シリーズのアニメも放映されており、現在はキラッとプリ☆チャンのアニメが放映されています。この機会にぜひプリティーシリーズに触れてみてはいかがでしょうか。
それはそれとして(本来真中らぁら生誕祭に絡めた内容にする予定でしたが内容変更)11月も終盤に差し掛かりましたが、皆さんはNodevemberというイベントをご存じでしょうか?
Nodevemberとは?
Nodevemberとは、毎年11月(November)に行われるいいかんじのプロシージャル作品を作りまくるお祭り期間のことです。
Nodevember is all about procedural awesomeness!
Challenge yourself to improve and show off your procedural skills.
Anything procedural is welcome. If you can call it nodes, you can call it Nodevember!(公式サイトより引用)
毎日提示されるお題に沿った作品をSNSに上げよう!という自身の技術向上を目的としたイベントで、作品の優劣をつける大会のようなものではありません。
...プロシージャルってなんだ......?
プロシージャル(Procedural)とは?
聞き慣れない単語が出てきましたね...「Procedural」は日本語で「手続き」という意味を持つ単語です。3DCG分野においては、"ある特定の手続きの組み合わせ"を行うことで半自動的に3Dモデルやテクスチャを作成することをプロシージャルと呼んでいます(少なくともこの記事ではこれをプロシージャルの定義とします)。もう少し具体的にプロシージャルの概要(特にプロシージャルテクスチャ)とその利点を見てみましょう。
例えばよくある例として、一枚の黒いパネルに白い円を描いた3Dモデルが欲しいとします。よくありますね。この程度ならペイントソフト等を用いて作れば解決するかもしれません。実際にFigmaというソフトを使い、256px四方の黒背景に半径100pxの白い円を描いてみると以下のようになりました。
しかしこれを実際にテクスチャとして使用してみると...
遠くから見れば気にならないかもしれませんが、解像度の低さが少し気になりますね。
さらによくある例として、ドット柄のテクスチャが欲しい時にラスター画像を使用すると...
一つ一つの円の半径が小さくなると解像度の低さがより際立ってしまいます。もちろんテクスチャとして使用する画像の解像度を上げればいいのですが、もう少しクレバーな方法を考えたいですね...
ここでプロシージャルテクスチャを利用してみましょう。blenderにおけるプロシージャルテクスチャは、ノードを使用したマテリアルにより利用できます。今回の例では、以下のようなノード(手続き)をつなげることでパネルの中央に円を描くことができます。
左から順に各手続きを説明すると、
- UV座標を取得
- UV座標上の各点について、点(0.5, 0.5, 0)との距離を計算
- 計算した距離が 0.4 より小さいなら 1 を、大きいなら 0 を返す
- 入力された値が 1 なら白色を、0 なら黒色を返す
- 渡された色を表示する
このような手続きの組み合わせ(ここがプロシージャル)を行うことで、以下のようなテクスチャが得られます。
プロシージャルテクスチャはレンダリング時に計算が行われることで生成されるため、実質無限の解像度を持ちます。そのため画像テクスチャでは実現できなかった解像度に縛られない表現が可能です。例えばカメラすぐ近くで表示させたいオブジェクトに対して有効です。
さらに、各種手続きのパラメーターを調整するだけで出力を変えることができるのもプロシージャルの強みです。上の円を描く例では、3番目の手続きの閾値を変えるだけで円の半径を変えることができます。欲しい出力の数だけ画像テクスチャを用意していてはきりがありませんがプロシージャルなら大丈夫。
プロシージャルテクスチャが持つもう一つの利点は、規則性を持った表現に強い点です。手続きによって生成されるという仕組み上、繰り返しや法則を持った模様を作るのが非常に簡単です。例えば下図のような手続きの組み合わせにより...
正六角形による平面充填も計算により可能です。これを手描きしろと言われたら大変ですし計算させるに限ります。
これを利用すれば...
このようにホログラムでいい感じのシールドみたいなものを作れたり。
あるいは「不規則な値を与える」という手続き(ノイズ)を利用すれば
手軽に地面のような表現ができたりします。もっといろいろ組み合わせれば...
完全プロシージャルで世界を作ってみたりできちゃいます。幾何学的な模様に強いのは当然ですが、そもそもこの世に存在する物の大体は物理法則という規則の下で生まれたものなので、自然の物も結構表現しやすかったりします。手続きの組み合わせで世界を表現するプロシージャル、少し面白いと思いませんか?
プロシージャル(テクスチャ)まとめ
- プロシージャルとは?
- 手続きの組み合わせにより、機械的に何かを作ること
- プロシージャルテクスチャの何が嬉しいの?
- 解像度が実質無限
- 規則性を持った表現に強い
- 幾何学的な模様
- (物理法則によってもたらされた)自然の再現
- パラメーターの変化のみで出力を変えることができる
プロシージャルな制作が可能なソフトとして、以下のソフトが挙げられます。
- Blender(プロシージャルテクスチャ)
- 本記事の例で使用
- 無料ソフト
- モデリング、アニメーション、レンダリングまで大体全部できるいわゆる統合型のソフト
- Substance Designer(プロシージャルテクスチャ)
- テクスチャ作成専用ソフト
- Houdini(プロシージャルモデリング)
- ノードベースの統合型ソフト
- 高レベルのプロシージャルモデリングが可能
このほかにも様々なソフトで制作が可能です。
改めて...Nodevemberとは
さて、ここまで読んでいただいた方には何となくプロシージャルについて理解していただけたかと思います。改めてNodevemberについて紹介しましょう。
...と言っても公式サイトに書いてあることがすべてなので一度公式サイトもご覧ください。要約すると、
- Nodevemberはプロシージャルを利用した制作の練習・共有しまくる強化月間
- 毎年11月に開催され、一日一つ公式で発表されるお題に沿った制作をし、#nodevember と #nodevember2020 のハッシュタグをつけてSNSに投稿する(もっぱらTwitter、一部の人はインスタでもやってる)
- (本記事で紹介した)プロシージャルテクスチャの他にも、プロシージャルモデリングやプロシージャルミュージックなどプロシージャルなら何でも投稿可、いずれの場合も外部データを用いないことが望ましいが、あくまでも練習の場なので自分の技量にあった制作をする
- 楽しむ
Twitterで"#nodevember"と検索すると数々の変態的作品を見ることができます。プロシージャルな制作未経験の方も、まずはいろいろな作品を眺めることから始めてみてはいかがでしょうか?
↓私のDay2のお題"Candy"の作品ではディスプレイスメントという魔術を使って形状自体もプロシージャルにつくっています。
↓Day24のお題"Game"の作品では「規則的」かつ「ランダム」要素も持つゲームとして真っ先に思い浮かんだThe Witnessというゲームのパズルを再現してみました。
最後まで読んでくださりありがとうございます。
明日の担当者は@Hmcmchさんです。たのしみ~