サイケデリック・グラフィックス 0: 紹介
(benpence.com)Psychedelic Graphics 0: 紹介
- このシリーズでは、アニメーションやゲーム向けのサイケデリックなビジュアルを作る方法を紹介する。グラフィックスやプログラミングの事前知識がなくても理解できるように構成されている。三角関数とプログラミングの基礎知識があれば役に立つだろう。
- このシリーズを通じて、動画で使われているサイケデリック・グラフィックスの基本を理解できることを願っている。ほとんどの動画は Blender を使って制作されているが、このシリーズで教える技法は簡単に応用でき、Blender については後でさらに深く扱う予定だ。
UVとは何か?
3Dモデル
- コンピュータグラフィックスはしばしば3Dに見えるが、グラフィックスコードを書くときは2Dとして考える必要があることが多い。3Dモデリングソフトで美しい形を作ったとしても、実際には空間に浮かぶ点(頂点)を作り、それらの一部をつないで立体的な形(面)を作っている。
- 3Dモデルの大半は中が空で、私たちが見ているのは表面だけである。3Dモデルに色を付ける標準的な方法は UV マッピング/テクスチャリング だ。地球の2D投影が少し引き伸ばされたり圧縮されたりして見えるのと同じように、3Dモデルの色が2Dに投影されるときも似たような見え方になる。
テクスチャペインティング
- テクスチャをペイントすると、それが3Dモデル上に表示される。ほとんどのソフトウェアでは、3Dモデルに直接ペイントして画像テクスチャに色を塗れるようになっている。
UV座標
- UVは位置、つまり2D座標として考えることができる。(0, 0) から (1, 1) までの空間を使って UV 座標を定義する。UVマップは、カラー画像テクスチャと3Dモデルの面を結び付けるデータである。
グラフィックスコードの動作の仕組み
グラフィックスの色
- コンピュータグラフィックスの色はしばしば RGB で表現される。赤、緑、青の混合によって、人間が認識できるほぼすべての色を作ることができる。コンピュータグラフィックスでは、赤、緑、青の量は通常 0.0 から 1.0 の範囲で表される。
UVの色
- UV座標を色に変換して可視化や問題解決に役立てる。UVの最初の値(X値)は赤、2番目の値(Y値)は緑として使う。
浮動小数点数とベクトル vec2、vec3
- float は単一の小数点数である。vec はベクトルを意味し、vec2 は2つの小数点数、vec3 は3つの小数点数で構成される。
グラフィックスプログラムの構造
-
グラフィックスは分散的な形で制御しなければならない。コードが1回実行されてすべての色を生成するのではなく、画面のそれぞれの小さな部分に対して何百万回も実行される。プログラミング経験があるなら、これはかなり異なる考え方だ。
-
これで第1部を始める準備が整った。こうした制約条件があっても、興味深いビジュアルを作る方法を第1部で見ることができる。
1件のコメント
Hacker Newsのコメント
David Tristramは1990年代のコンピュータグラフィックス・パフォーマンス集団 Raster Masters の創設メンバーで、Silicon Graphics のワークステーションを使い、Grateful Dead、Herbie Hancock、Graham Nash などのライブ音楽に合わせた合成映像を制作していた
以前は UV テクスチャ座標を変形する方法を研究しており、現在は ShaderToy のようなフラグメントシェーダを使っている
HTML で画像を処理するシェーダを書きやすいのがよい
サイケデリックな体験を視覚的に再現することに強い関心がある
Todd Rundgren は1990年代初頭に Flowfazer という Mac アプリを開発しており、これはユーザーが創作のインスピレーションを得るのを助ける
Tipper と Fractaled Visions の公演は、サイケデリックなビジュアルを最も正確に描写したものの一つだった
WebGL シェーダを書きながら、物理カメラの効果を実装しようと努力している
Jim Crutchfield のビデオフィードバックシステム研究は、複雑な空間および時間ダイナミクスを研究するのに有用な実験システムを提供している