-- Views
April 13, 26
スライド概要
開催時期:2022 年 4 月~ 2022 年 6 月
新入生向けに 3DCG を解説した勉強会です。 Blender を使ったモデリングや 3DCG の基本的な知識について解説しました。
https://memo.crashrt.work/docs/slides/3DCG2022
3DCG勉強会 2022 担当:crashRT
この新勧講座について 主な目的は3DCGの布教 たぶん 僕が解説→実際にやってみる の流れ 講座部分は録画します 作品鑑賞会を時々やりたい 講座の後もできるだけDiscordに残ります。3DCGに限らず何か質問があればどうぞ。 雑に作業配信とかしてもらえると個人的には嬉しい。
この新勧講座について しばらくBlenderで基礎的な部分(モデリングメイン)をやった後、色々作品作りもできた らなと思っています。 もし、Blender, CINEMA 4D 以外のソフトを使っていて布教したい方がいれば、教えて頂け るととても嬉しいので是非! 実況は #2022-3dcg で
到達目標 3DCG の雰囲気を理解してもらえたらな~というのが一番ですが、 Youtube にあるチュートリアルを理解できるようになるのも一つの目標です。 僕の技術の関係で扱えない分野もかなり多くありますが、その分野の チュートリアルなどで前提とされる知識はカバーできるよう頑張ります。
おことわり できるだけ初心者向けに説明するつもりですが、わかりにくい所もあるかもしれないです 分からないところがあれば、チャットや音声などで質問してください (勉強会が無いときでもチャット、DMなどでいつでも質問OKです) 3DCGは簡単とは言い切れないところがあるので、気軽に質問して下さい
必要なもの ● パソコン(グラボがあると処理が早くなるけど無くてもOKです) ● テンキー(あるとかなり楽) ● ホイール押し込みができるマウス(あるとかなり楽)
パート1
1. はじめてのBlender(導入とか)
今回の目標 ● Blender をインストールする ● 画面の見方の雰囲気を知る ● 視点操作 ● 移動、回転、拡大縮小 ● 画像の出力
Blenderとは? ● 公式サイトは https://www.blender.org/ ● オープンソースの3DCGソフト ● 無料だけどかなり機能が充実している ● 大抵のことはできる上、アドオンなどで強化も可能 ● 特にモデリングに強い、とよく言われる
Blender のインストール 1. https://www.blender.org/ にアクセス 2. Download Blender 3. Download Blender 3.0.x 4. ダウンロードしたものを開いて画面の指示に従う 日本語化はあまりおすすめしません。(色々不便なので)
Blenderのインストール 補足 OK Next チェックを入れてNext→Next→Install デバイスに変更を加えるのを許可しますか?を許可 あとは待つだけ
画面の見方 Menu Outliner 3D Viewport Timeline Property
モード選択 どのモード(後述)で作業するか選択する 3D Viewport ツールバー Tで表示/非表示切り替え ツールが並ぶ エディタタイプ 表示する画面の種類を変更する(今は3D Viewport) ディスプレイとシェーディング ビューポート上でどう表示させるか?を設定 視点操作系 マウスの中クリックが 使えないときは ここから動かす サイドバー Nで表示/非表示切り替え 座標で位置を指定する欄がある 一部のアドオンはここから動かす
3D Viewport (Object Mode) ライト カメラ 3Dモデル 3Dモデルやカメラ、ライトなど(=オブジェクト)を配置したり複製したりするときに使う画面 基本的にモデルの形自体(メッシュ)は編集せず、レイアウトなどを考える画面
3D Viewport (Edit Mode) 用語説明 頂点:(1で頂点選択) 画面の点 エッジ(辺):(2で辺選択) 頂点(画面上の点)をつないだもの ポリゴンなど(面):(3で面選択) エッジに囲まれた面 五角形以上のものをnゴンと呼ぶことも 一般に四角形が良いとされる (三角形のほうが良いこともある) メッシュ:面の集まり メッシュを編集して3Dモデルの形を作っていく画面 「モデリング」の作業は基本的にこの画面で行う。モデリングは次回以降で詳しくやります
座標について Blenderには二つの座標が用意されています 「Transform の部分に表示される座標が同じでも別の位置を指す場合がある」ことを理解して下さい グローバル座標 ( Object Mode ) 物の絶対的な位置 選択している物体によらない ローカル座標 ( Edit Mode ) 物のある物に対する相対的な位置 選択している物体による 原点は選択している物体のObjectModeでの座標
Outliner オブジェクトの一覧が表示されるところ
Property オブジェクトの設定などが表示されるところ 次回以降で詳しく見ていきます
視点操作 中クリック(マウスホイール押し込み):視点変更 Shift+中クリック:並行移動 ホイール回転 or Ctrl+中クリック:ズームイン/アウト Alt+中クリック:座標軸視点などへスナップ Numpad 0:カメラの視点へ Numpad .(ピリオド):選択したオブジェクトの場所へ 他のテンキーのボタンでも視点移動可能
移動、回転、サイズ 移動:G (Grab) 回転:R (Rotate) サイズ:S (Scale) ● G (/R /S ) を押した後にマウスカーソルを動かすと動く ● X, Y, Zを押すとその軸方向に移動などを制限できる ● ミスったときは右クリックかEscでキャンセル ● 気に入った位置に移動できたら、左クリックで決定 Nを押すと表示されるサイドバーから座標などを打ち込んでも良い
オブジェクトの追加、削除 追加:Shift+A 削除:X, Delete 複製:Shift+D Shift+A を押すと色々表示されるけど、とりあえずMeshの中から好きなものを選べばOK EditModeで削除すると、色々表示される。色々選んで試せば多分雰囲気は分かる Dissolve+hogeを選ぶと、できるだけ元の形を維持するように削除される (hogeには任意の文字が入ります)
レンダリング Blender上で作ったものを.pngなどの普通の画像ファイルに変換する作業はレンダリングと呼ばれる 次回以降で扱う「マテリアル」や光などの計算をするのでそこそこ時間がかかる 左上のRenderからRenderImageを選択するか、F12を押せばレンダリングできる このとき、シーン上のカメラから見た状態が出力される
レンダリング Nを押してViewを選択→その中のCamera to Viewにチェックを入れる Numpad 0でカメラ視点にしてあとは通常どおり視点移動すればカメラがついてくる 画像として出力されるのは点線でかこまれた部分 Camera to Viewのチェックを外した状態でホイール回せば 点線で囲まれた長方形の大きさの変更ができる
レンダリング レンダリングしたら、新しく出てきた画面の 左上のImage→Saveから画像を保存できる FileFormatは今回はPNGかJPEGがおすすめ 細かい設定はデフォルトのままでOK
やってみよう 1. オブジェクトを追加する 2. 自由に動かす 3. カメラを移動させる 4. レンダリングする 5. 画像を保存する の流れを一度やってみましょう 完成したものは、Slackの#2022-3dcgに貼ってもらえると僕が喜びます
今回のまとめ ● Blenderをインストールした ● 簡単な使い方を説明した ○ 視点操作は中クリック ○ オブジェクトの追加はShift+A ○ 移動はG、回転はR、サイズはS ○ レンダリングはF12 ありがとうございました!
2. ランプモデリング
やること Blenderでランプのモデリングをします。 - モデリング基礎(細かいところは無視します) - マテリアル基礎(今回はテクスチャは使いません) - レンダリング(EEVEE, Cycles)
実演 実際に Blender の画面で操作しながら解説します 録画しているので、もう一度見たい方はどうぞ 大事な部分はスライドにも残しておくのでそちらも参考にしてみてください スピーカーノートのところにはおまけ的な情報を書いていたりします もし分からない部分、うまくいかない部分などがあれば、 いつでも質問してください (Blender が思い通りに動かないことはかなりあるあるなので気軽にどうぞ...)
1. サイズの確認 Object Mode で Shift + A を押し、立方体を選択して追加します Nを押すと右になんかが出てくるので、 Location, Dimensionsの値を調整します (値は作りたい者の大まかなサイズです 右の値は例なので、自分が作りたいものに合わせて 調整してください) その後、Ctrl + A を押して、Apply の All Transform を選択します
1. サイズの確認 右下のプロパティパネルのObject Propertiesタブを 選択 Visibility のSelectable, Renders のチェックを外し Viewport Display のDisplay As を Wire に変更
モデリングの主な操作 モデリングでよく使う操作をまとめてみました 良かったら参考にしてみてください
頂点、辺、面の選択 ● EditModeではオブジェクトが持つ頂点や辺、面を選択して編集します。 1:頂点選択モード 2:辺選択モード 3:面選択モード のショートカットで何を選択するかを決める(テンキーではありません!) ● ● 複数選択は Shift を押しながら (Ctrl では最短距離の経路上のものを選択します) 他にも選択のための方法はあります(次PのLoopCutなど)
Ctrl+R : LoopCut 面の中に辺を追加するコマンド ホイールで増やす辺の数を増減できる 面が四角形の場合、どんどん対辺へ続いて行きます 三角形、n角形(n>4)に当たるとそこで止まります
I : Inset Faces 面の中に小さい面を作る もう一回Iを押すとそれぞれの面に 対して行う
E : Extrude 面とか辺とか頂点がびよーんって伸びる Alt+E→Extrude Along Normalsとかも 面白いよ
Ctrl+B : Bevel 角を丸くする(辺または頂点を丸くする) ホイール回転でより丸くすることができる (やりすぎると重くなるので注意;2~3本くらいで十分) 平らなとこでやると広がる
Alt+クリック : Loop Select 一周ぐるっと一気に選択できる さっきのLoopCutと同じ感じ
ちなみに EditモードでもShift+Aでメッシュが追加できる
マテリアル モデリングで形を作ったので、次は “マテリアル” というものを設定して、 どのような材質に見えるのか、を設定します。 テクスチャ と呼ばれる画像を使うことが多いですが、今回は使いません。 テクスチャに関しては次回扱います。 また、シェーダーノードも次回に回します。
マテリアル マテリアルは Property パネルのMaterial Property タブで 設定します。 設定する項目が多いですが、今回はよく使う部分だけ 説明します 実際に値を変えながら色々試してみてください。
マテリアル Base Color:ベースとなる色を設定します。 Subsurface:SSS (Subsurface Scattering) というものを適用します。 光が物体の表面ですべて反射するのではなく、一部は中に入り込んで乱反射 する様子を再現します。(皮膚や牛乳などでよく使われる) これを使う場合(0より大きくする場合)、SubsurfaceRadの値はすべて 等しい値を入れるのがおすすめです。 また、Subsurface Color は物体の内部の色を設定します。 (BaseColorと同じにすることも多い)
マテリアル Metalic:金属なら1にします。(値が1の場合さっきのSSSは使えません) Roughness:反射の粗さを指定します (0なら鏡面、1なら何も映らない;0にせず、少しは値を持たせるのがおすすめ) Transmission(Cycles専用):どれくらい透過するかを決めます IOR(Transmissionと併用):透過する際の屈折率を決めます。 Emission:発光します(EEVEEだと周りは照らさない) Normalもよく使いますが、ノードを使う必要があるので次回に回します。
ライティング 3DCGの世界にライトを置き、光で照らすようにする作業を ライティングと呼びます。 最終的な画像のクオリティにかなり大きく影響するとても大事な部分です。
ライティング 3DCGでは、主に4種類のライトが使われます。 ● ● ● ● Point: 全方向を照らす Spot: 三角錐状に照らす;最もよく使われる Area: 光源が広い=影が柔らかくなるのでよく使われる Infinite: 太陽光のような平行光線
ライトの置き方 基本的には現実と同じように置いていけばOKですが、 ポイントライトは複数のスポットライトに置き換えられることも多いです。 (光が照らす範囲を制御しやすいので) 今回はとりあえずモデルが見えるようにライトを 置いてみてください
カメラの設定 テンキーの0を押して、カメラ視点に移動します (もしカメラがないというエラーが出たらShift+Aでカメラを選択して下さい) ホイールスクロールで明るい部分の大きさを調整します
カメラの設定 Nでサイドバー表示 CameraToViewにチェックを入れる これで視点操作にカメラがついてくるように なります。 あとは好きな位置に移動するだけです!
レンダリング いい感じのカメラの位置を見つけたら、次はレンダリングです。 (細かいカメラの設定は飛ばしています) F12を押してみましょう。レンダリングが始まります。 (デフォルトのままだとレンダラは EEVEE です) 少し時間がかかるので水分補給でもして気長に待ってあげて下さい。
レンダリング レンダリングが終わると、レンダリング結果が表示されます。 左上から、 Image→Save を選択し、 好きな名前をつけて保存。 完成です!! Slack の #2022-3dcg に 投稿しましょう!
Cycles について Blender には EEVEE の他に Cycles というレンダラも存在します。 レイトレーシングと呼ばれる手法が用いられているため、非常にリアルな画像が 作れます。 しかし、その分処理が重く、レンダリングに時間がかかります。
レンダラの設定 レンダラの設定は Property パネルの Render Properties タブで行います。 (EEVEEの場合、右の画面のように AmbientOcclusion、ScreenSpaceReflection を ONにするとより良い雰囲気になります) Bloom にチェックを入れるのも良いです。
Cycles の設定 Render Type を Cycles にします。 Cycles は基本的に初期の設定で大丈夫です。
Cycles で GPU を使う 左上の Edit → Preferences → System の中の、 Cycles Render Devices を None から CUDA などに変えます。 その後、Render Engine の下にある Device を GPU Compute に変えると GPUを使って素早くレンダリングできるようになります。
Cycles でレンダリング Cycles でもレンダリングの開始はF12です。 ここからの流れはEEVEEの場合と同じです。 こちらでレンダリングした画像も よかったらSlackに投稿してみて下さい。
今回のまとめ ● ランプのモデリングをした。 ● ポリゴンの編集はEditModeで行う ○ ObjectMode でオブジェクトを作る→EditModeで編集 の流れ ● マテリアルで質感を決める ● レンダラにはEEVEEとCyclesがある
3DCG勉強会2022 3. 腕時計モデリング
今回やること 腕時計をモデリングします ● SDS ● マテリアルの設定
SDS(Subdivision Surface)
SDSとは? NURBSとポリゴンの長所を合わせもったモデリング方法で、滑らかな曲面表現と自由 度の高い面の編集が可能。最初にポリゴンで粗い分割の形状を制作してから、サブディ ビジョンサーフェスに変換して細かく分割する。分割数(滑らかさ)は任意に選択でき、部 分的に尖った形状にすることも可能。 CG用語辞典 / CGWorld 雑にまとめると、 なめらかな面をいい感じに作るのに便利なやつ!!
SDSの使い方 右下 Property Panel のスパナのタブ→AddModifier→Subdivision Surface またはCtrl + n (nは分割数;大きいほどなめらかになるが重くなる)
SDSの例 これが、こうなる (後で右クリックから Shade Smooth を選択すると良い)
SDSの特徴について SDSは隣のエッジが近いほど角ばる。 (EditModeでの画面;周りの黒/橙の線がSDS適用前です) これで滑らかさをコントロールする。Ctrl+R の LoopCut が便利
SDSを使う際の注意点 ある程度形ができてからSDSをかけ、Ctrl+Rで角度を調整するのが良い LoopCutを使うには各面が四角形になっている必要がある 三角形/n角形(n>=5)があるとそこで止まってしまう
円形配置について
円形配置 Blender で円形に配置するのは少し難しいです (CINEMA 4D だととても簡単にできる...※布教) Blender では標準機能だと主に2つの方法があります ● ● Array Modifier を使う方法 Spin を使用する
Array で円形配置 そもそも、Array は直線に並べるもの 応用すると円形配置ができる
Array で円形配置2 Shift+A→Empty→PlainAxes を追加→円形配置の中心へ移動 円形配置したいものにArrayModifierを追加して、画面のようにする Emptyを回転すると、円形配置できる 円の半径は配置するものを EditMode→A(全選択)→Gでいい感じに移動させる
Spin 3Dカーソル(赤白の丸いやつ)が中心になるのを想定してメッシュを動かす 回転させたいものを選択して、左下のSpin→SpinDuplicatesを選択
Spin 2 左下に登場するこの画面で調整する Steps : 増える数 Angle:[Steps]個目が何度のところにあるか 1周なら360でOK 終わったらAで全選択 →M(Merge)→ByDistance でかぶりを消すと良い (上の画面で11, 330を入れても良い)
今回のまとめ ● 腕時計をモデリングした ● SDSは有能 ● 円形配置 実際に作業してみましょう! 完成したものをSlackに貼ってもらえると僕が喜びます
3DCG勉強会2022 4. マテリアルと仲良くなる
今回やること マテリアル 前回・前々回で、3Dモデルの形の作り方を扱いました。 今回は、3Dモデルにおいてもう一つの重要な要素である、マテリアルについて 解説します。
主要用語説明
マテリアル 物体の材質のこと。3DCGでは、物体の光学的特性、材質感のことを指す。 CG用語辞典 / CGWorld その3Dモデルが、どのような素材で作られているように見えるか、を決定するもの cf. PBRマテリアル: 現実世界を模倣して作られたマテリアルで、フォトリアルな作品の制作を可能にする。 (ただ色を決めるだけじゃなくて、反射の度合いとか表面の粗さとか、光学的な性質とかも ちゃんと設定しているマテリアル、くらいの認識でOKだと思う)
テクスチャ 3DCGモデルの質感、模様、凹凸などを表現するために用いる画像やデータのこと。 CG用語辞典 / CGWorld マテリアルを作成する上で用いる画像のこと。複数の種類があり、それぞれ異なる パラメータを表す。 詳細は後述
UV系(UVマッピング、UV展開) テクスチャを3Dモデルに適用する際、3Dモデルのそれぞれの面が画像の どの位置を表示するか、を決める必要がある このどの位置を表示するか決める際に、3Dモデルの面を切ったり曲げたり押し つぶしたりして、2DのUV平面上に展開して設定する。これを “UV展開” と呼ぶ また、UV展開されたモデルにテクスチャをマッピングすることを ”UVマッピング” と呼ぶ https://entry.cgworld.jp/terms/UV%E3%83%9E%E3%83%83%E3%83%94%E3%83%B3%E3%82%B0.html
テクスチャについて
テクスチャの種類一覧 テクスチャの代わりに、プロシージャルにノードとかで生成することもある。 マテリアルの中の重要な部分を表現する albedo (base) 色 AO height 凹凸感 normal roughness 粗さ
Albedo (basecolor) 影や反射を除いた表面の色(影などは計算して後で付け足す) これが元になる
AO (Ambient Occlusion) 奥まった部分に影をつけて暗くするもの ※奥まった部分は環境光(なんども乱反射された全方向から来 る光) が遮られるため影になる Albedoに乗算(Multiply)で合成して使う
height 表面の凹凸を示したもの 実際に凸凹させる(大きい凹凸)ならDisplaceに、 凸凹感で十分(細かい凹凸)ならBumpに使う Cycles・Octane・RedshiftなどのレンダラにあるMictrodisplacement↓ とかで使うのはこれ
normal 狂ったような色のテクスチャがあれば大体NormalMap ポリゴンの法線の角度を色で表している(RGBそれぞれ別の角度成 分) この法線の角度に沿うように表面を凸凹にする 細かな凹凸などをすべてポリゴンで表現しようとすると大量に細分 する必要があり、非常に重くなる。 細かい凹凸はNormalMapか1個前のHeightMapを使ったBumpで対 応 heightもnormalもともに凹凸を表すものだが、別であることが多い (両方適用したほうが良いことが多い)
roughness 表面の粗さを表す 黒いほど鏡のように反射し、白いほどぼかして反射する
テクスチャ配布サイト ● Textures.com ● Poly Heaven ○ HDRIもここからDLすると良い ● cgbookcase.com ● ambientCG 無料だとこの辺がよく聞く気がする 有料だと Polygon, RD-textures, Quixel とかがある
Blenderでのテクスチャの基本的な使い方 基本は以下のようなノードになる。 必要に応じてColorRampやMathなどを加えたり 複数のテクスチャを組み合わせたりして調整する NodeWrangler(アドオン) を有効化していれば、 Ctrl+Tで左の2つは出てくる (画像の移動、回転、拡大縮小などができる)
シェーダーノードの使い方 各長方形はそれぞれ情報を持つ(画像、変換式、シェーダー、・・・) 左が入力、右が出力 となる 線でつなぐ(ドラッグ)ことで、情報が渡されるようになる
シェーダーノードの使い方 (座標情報→)画像など → 変換(色補正、変形など) → シェーダー という流れ(シェーダーは最後に必要なやつ、くらいの認識でOK) → 出力
Blenderでのテクスチャの基本的な使い方 AOはColor2につなげること (拡大) Strengthで凹凸の深さを調整できる ↓MixRGB で Multiply を選択 ←Non-Colorを選択してください
テクスチャのタイリング テクスチャを何枚も繰り返したい場合は、Mapping の Scale を調整して下さい ※ImageTextureのExtention を Repeat にしている必要がある
Principled BSDF ● SubsurfaceはSSSのこと ● Metalnessはそのままの意味 1にすると反射が金属っぽくなる ● Anisotropicは異方性反射 髪の毛とか CD裏に使う ● Clearcoatは表面にツルツルの透明な膜が張られた感じになる ● Transmissionは透過 IORが屈折率 ● Emissionは光らせる (Cycles だと光源になる )
補足2:Pack Resources について .blend ファイルを別のPC(KMCのマシンなど)に送ってレンダリングしたり する際に、テクスチャがうまく読み込まれなくなることが多いです (パスが壊れるため) →右の画像みたいになります
補足2:Pack Resources について これを回避するために、テクスチャなどを .blend ファイルの中に入れる方法が あります。 → File / External Data / Pack Resources を押す
補足2:Pack Resources について 注意点: Pack Resources すると .blend ファイルのサイズが非常に大きくなりがちなので、 KMCのPCなどでレンダリングした際は、使用後に削除したほうが良いです (自分のPCでもストレージを圧迫すると思うので、 Unpack into files → Use files in original location をすると良いです)
Noise について ついでにシェーダーノードに触れてみようの回
Noise Texture 多分めちゃくちゃ使うことになる(主にBump, Roughnessなどで)ノード 雰囲気は理解しておくと良いかも ● 3D→4Dに変えるとノイズのを wという値で変化させることができる ● Scale:値が小さいほど拡大される ● Detail:値が大きいほど細かくなる ● Roughtness:多分強度みたいな感じ 0.7くらいがおすすめ ● Distortion:歪められる 通常は使わないかもしれない
Noise使い方例1 地面とか壁とかにいい感じのザラザラ感を 出すときに使ってる Scaleは自由
Noise使い方例2 金属の表面などに使える bumpにつなげるのもあり
Noise使い方例3 表面がえぐれたような感じ 壁とかに使うと良さ
Color Ramp について [0, 1] → RGB の変換(写像?) として使われることが多い気がする? 左が0, 右が1 マーカーに色を割り当ててグラデーションなどにする
RGB Curves について [0,1] → [0,1] への変換 点を繋いでグラフの形を作る ※線の上を押すと点が増える Cは明るさ、RGBはそれぞれの色について変換
シェーダーノード での色の扱いについて 基本的に、シェーダーノード内では色は RGB それぞれ [0, 1] 区間内の値 (すべて0だと黒、すべて白だと1)※#AE00FF等のカラーコードは使える また、色を値として扱う場合は、輝度に変換される 輝度 = 0.299×R + 0.587×G + 0.114×B (色による明るさの違いを考慮して白黒に変換)
UVの編集
UV展開の気持ち 多分ペーパークラフトに似てる 作った3Dモデルを切ったりして、画像のような 状態にするのが目的 3DモデルとUV展開後で面の形が合同/相似である 必要は無い。 (相似だと歪みは無くせるが、テクスチャの 繋ぎ目を無く方が大事) 画像:https://www.city.kobe.lg.jp/a10878/bosai/shobo/kids/papercraft.html
UVチェッカーについて 以下のサイトなどで作成したUVチェッカーを用いると UVの状態が分かりやすいのでオススメです http://byvalle.com/UVchecker/
準備 上のメニュータブにある “UV Editing” を選択するとUV編集用の画面になります
UV展開 UV展開したい面を選択(全選択多め?) →UV/Smart UV Project でいい感じにUV展開される 8割くらいはこれと調整でうまくいく
Smart UV Project ではうまくいかない場合 切れ目とする辺を選択して、 右クリック→MarkSeam で切れ目を設定してから、 UV/Unwrap で展開できる
編集 右のViewportは Edit Mode にして面を選択すると、その面が左のUVの画面に 表示される 左の UV Editor で 点・辺・面を選択して G/R/S でいい感じに動かす
悪い例 側面の辺で テクスチャが不連続 →違和感の元
貼り付けた感
良い例 側面も繋がっており テクスチャが連続 もちろんどこかでは 切れてしまうので、 見えづらい場所を 切れめにする
繋がっている
HDRI
HDRIとは? 高輝度の光があふれる様子から、暗部の細かな陰影まで、現実世界に近いレンジの明るさを 表現できる画像フォーマット。RGB各16bitの浮動小数値で明るさを表現するため、従来の 8bit整数値よりも格段にレンジ幅が広い。イメージベースドライティングのためのライティ ングの色情報に使うと、実写と合成しても違和感の少ないCGを制作できる。 CG用語辞典 / CGWorld 拡張子は.hdr HDRIはフォーマットの名前だけど、HDRIの画像をHDRIと呼ぶことが多い
なにが嬉しいの? 「反射されるもの」になってくれる 周囲が真っ黒だと反射するものが何もないけど、HDRIを入れるとそれが映る ライティングがいい感じになる 撮影場所はもちろん現実なので、リアルな照明になってくれる
比較
使い方 https://polyhaven.com/hdris などにアクセスして、良さげなものをDL WorldProperties の Color で Environment Texture を選択 Open→さっきDLしたファイルを入れる でOK
調整方法 シェーダーノードの左上で World を選択 Mappingなどを追加して(NodeWranglerを入れてCtrl+T) Rotation:z などを変更
まとめ マテリアルの基礎を扱いました ● テクスチャの使い方 ● シェーダーノード入門 ● UV展開 ● HDRI 今まで作ったもの(ランプ・時計など)や自分で作ったものなどのマテリアルを 調整してみて下さい!
3DCG勉強会2022 5. トンネル作成
トンネルって何? ある一定の区画が繰り返されて通路みたいになってるもの (正式なジャンルでは無いけどよく見かける表現) BGAとかVJとかで特によく使われている 映像では、この中をどんどん進んでいく表現がよくある
トンネルが使われている映像の例 ● ● ● ● ● 限界合作1 / Sugarさんパート https://youtu.be/ZsUeEhELrI0?t=148 A5 Pure Imagination | Motion Graphics https://youtu.be/yTN41PxbS7k?t=17 Bosh / わっふゑさん https://youtu.be/dHUDmh9TKSY?t=14 - Engage-Rex- / わっふゑ vs. でこちんハンマー https://youtu.be/e7Bshyu7z9M ONE / reiyaさん https://youtu.be/M1bffwKAcHU
リファレンス集め 作るもののイメージを固めるために、いろんなところから参考画像を集める Pinterestで探すことが多いけど、BehanceとかArtStation、Dribbbleもおすすめ CGの作品に限らず、いろんなものが参考になる(というか無理矢理にでも参考にしてみると面白い) ● Pinterest: https://www.pinterest.jp/ ● Behance: https://www.behance.net/ ● ArtStation: https://www.artstation.com/ ● Dribbble: https://dribbble.com/
リファレンス集め Pureref は良いぞ https://www.pureref.com/ 参考画像を並べれて表示できるソフト webとかの画像をドラッグ&ドロップすれば追加できる 右クリックドラッグで画面の移動、 中クリックで視点移動 右クリックのメニューで整理したりもできる
実演 ここからは作りながら解説します。 これを第2回くらいでやろうと考えていたときの作りかけスライドが 出てきたのでおまけとしてつけておきます。よかったら参考にしてみて下さい。 また、もし実際に作ってみたという方がいたら是非#2022-3dcgに 貼ってもらえると嬉しいです!
モデリング ここからBlenderを使います まずは儀式として、最初に準備されているデフォルトキューブ等を消します Aで全選択→X→Deleteで削除
モデリング 次に、Shift+Aで立方体を追加 TabでEditモードに変更(→)
モデリング Aで全選択して好きな大きさに変えます(参考:初期状態は1辺2m) ※サイズ変更はEditモードでやるのがオススメです(いらないエラーが減る) Objectモードでサイズ変更したときは、Ctrl+A→Scaleを押すと良い
モデリング 楽に左右対称で作る準備をします。 Ctrl+R(ループ選択)でX軸方向の中線を引く 3で面選択モードに切り替えて、半分の面を選択 Xで削除
モデリング 右下の工具マークを選択 AddModifier→Mirror AxisをYにする (クリックでON/OFF) これで半分作れば自動で反対側にも作られるようになった
モデリング 法線がX軸を向いている2面を選択(Shift)して削除(X) さっきのAddModifier→Array でCountを5とかにしてみる 長くなった!!
モデリング MirrorとかArray(これらのことをモディファイアと呼ぶ) の名前の横にある四角いやつをOFFに Editモードでは効果が消えて、作業しやすくなる これでトンネルの基礎は終わりです。あとは自由に形を変えていきます。
モデリング 今までの講座で扱ったコマンドなどを利用して トンネルにいろんな形をつけてみてください。 もしかしたら途中で変なことになったら、僕を呼んでください。 直せる、、、かもしれないです。 他にもたくさんのコマンドがあります。 もっと知りたい方はYoutubeなどで Blender Tutorial と検索すると 大量の良いチュートリアルが出てくるのでそれを見てみてください ※2.8以降のバージョンを使っている動画推奨
3DCG勉強会2022 第7回 カメラ・ライティング基礎
カメラ
カメラ カメラの設定をする上で特に大事なのは、以下の二点 ● 被写界深度 ● 画角
被写界深度 (Depth of Field ; DOF) ピントが合ってるやつはくっきり見えて、合ってないやつはボケて見えるやつ。
被写界深度 Blender の場合は、カメラのプロパティから設定 Depth of Field にチェックを入れると有効化される Focus Object に設定されたオブジェクトか Distance で設定した距離にあるオブジェクトに ピントが合う。 Empty を作成し それをFocus Object に設定すると 扱いやすいのでオススメ(Empty の種類は自由)
被写界深度 F-Stop でボケの強さ(被写界深度の深さ)を設定 F 値が低いほうがボケは強くなる Blades, Rotation, Ratio はボケの形を決める Blades: ボケの形が n角形に Rotation : Blades != 0 のときの n角形の傾き Ratio: ボケの形が縦長になったり横長になったり cf. アナモフィックレンズ
被写界深度 左:F-Stop = 1.0 右:F-Stop = 4.0 ※画角は 30°
被写界深度の使い方 見せたいものを目立たせるのに 使いましょう! 背景をぼかすことで主役感が出ます 立体感を出すのにも使えます
画角 広角レンズか、望遠レンズか 画角が広いほど、幅広い範囲を写し、 画角が狭いほど、遠い部分を大きく写す ※ 画角が広いほど焦点距離は小さく、 画角が狭いほど焦点距離は大きくなる
画角 上から順に、10°, 30°, 75° 広角であるほど近くのものは歪んで映る → 人物・キャラの顔を近くで撮る時は 広角でない方が良い 望遠であるほど、前後の距離が短く見える → コロナの報道で実際よりも密であるかのように 見せることができる
ライティング
ライティングとは? 3DCG の世界に光源を配置する工程のこと 作ったものをどう見せるかに関わり、作品のクオリティを大きく変える こだわりどころの一つ Lighting Artist と呼ばれるライティング専門の人もいるくらい (映画とかのエンドロールで探してみてね) ここではライティングの基本的な話をします
HDRI について 最も手軽にいい感じのライティングを設定する方法は、HDRI を使うこと Poly Heaven : https://polyhaven.com/hdris から HDRI の画像を DL して、 World Property の Color の横の 黄色の丸を押す →Environment Texture を選択し、 DLした画像を選べば設定完了 困ったら HDRI に頼ると良いかも
シャドウ 影は3次元的な位置関係を表す 影によって球が平面に接しているのか、 浮いているのかが分かる
シャドウ また、影によって立体感を凹凸などが 表される カメラと同じ方向の光は影が見えない 斜め上から当てるといい感じ (最低でも30° はずらすと良いらしい) 詳しくはこの動画を見てね↓ https://youtu.be/cg1K_ZWB0Uw
3点照明 ライティングにおいてよく使われる手法の一つ キャラクターに使われることが多いけど、モデリングシたやつとかに使うことも キーライト、リムライト、フィルライトの3つを使う
3点照明 完成形
3点照明:キーライト メインとなる光で最も明るい光源となる カメラとは異なる方向から照らす 基本的にはキャラよりも上方に置く (下から照らすと不気味) 全体を照らす必要は無い
3点照明:フィルライト キーライトの当たらない部分に光を当てる キーライトよりも広範囲を照らし、 影はより柔らかい(光源が大きい) フィルライトのみ 明るさはキーライトの半分以下 (そこからどれだけ下げるかはコントラストを どれほどつけたいかによる) フィルライト+キーライト
3点照明:フィルライト キーライトの当たらない部分に光を当てる キーライトよりも広範囲を照らし、 影はより柔らかい(光源が大きい) 明るさはキーライトの半分以下 (そこからどれだけ下げるかはコントラストを どれほどつけたいかによる)
3点照明:リムライト 後ろから照らし、オブジェクトの縁に 光による線を作って背景とオブジェクトを分ける キーライト+フィルライト キーライト+フィルライト +リムライト リムライトのみ
3点照明:リムライト 配置方法 カメラから見てオブジェクトの裏側に置いた後、 少しずらしてライトが見える位置に動かす →RenderView などを見ながら微調整
グローバルイルミネーション GI、あるいは大域照明ともよぶ。3DCG空間全体に影響する複雑な照明効果を計算すること で、やわらかく自然な間接光を生成するレンダリング方法のこと。 CG用語辞典 オブジェクトにあたった光は通常はそのオブジェクトを照らして終わるのを 反射後また別のオブジェクトを照らすようにする機能 Blender では、Cycles だとデフォルトで有効化されている EEVEE を用いる場合は色々設定する必要がある (EEVEE でやりたい人は調べて...)
グローバルイルミネーション 青い板を追加すると反射した青い光が スザンヌの下側を照らしている 下側に光を反射するような板を置くことで フィルライトの代わりにしてもいいかも?
まとめ カメラとライティングの話をしました ● カメラ ○ ○ ● 被写界深度 画角 ライティング ○ ○ ○ シャドウ 3点照明 グローバルイルミネーション 今後モデリングなどをした時、レンダリング前に少しライティングを凝ってみて もらえると嬉しいです。
3DCG勉強会2022 第8回 ボリュームで遊ぶ
ボリュームとは? ● かなり雑に説明すると,光の通り道でのふるまいを計算するもの. ● 空気,煙,霧,雲などを表現するのに使われることが多い(気がする) ● GodRay(レンブラント光線)などのように,光の通り道を 可視化するのにも使える. ● また,空気遠近法的な使い方も可能. ● 計算量はかなり増えるのでそこは注意
ボリュームの使い方 Blender の場合は,マテリアルから設定する. Principled Volume を Volume に 繋ぎ,Surface に繋がっている ノードを削除する. Colorで色を変更 Density で濃度を調整 他は使いたいときに調べて見てください ※Blackbody は黒体輻射のことです
例1
使い方の例 シェーダーノードは前のスライドのように作る スポットライトなどを置くと,円錐状の光の通り道が見える. 光が遮られると,その先は見えなくなるので,いい感じにライトを置くと なんかエモくなる
応用 ライトをこのように設定すると面白い ポイントは UseNodes にチェックをいれることと, TextureCordinate は Normal をつなぐこと.
応用 こういう光になる サムネはこれ使った
使用例 ライトをいい感じに見せることが できるので個人的に好きな要素 上の画像では https://kitbash3d.com/ の建物を使用しています. 下の画像では JSPlacement で生成した テクスチャを建物に使っています.
例2
例2|シェーダーノード ノイズを用いる方法(Voronoi などに置き換えても面白い) 煙っぽい何か ColorRamp で白/黒の距離を近づけて境目をはっきりさせている 白が占める面積が多いほど煙の量は多くなる ColorRamp での白は 1 に相当するので,Math ノードの Multiply で調整してい る(今回は5にしてより濃くしている)
使用例 上は去年のみんげーのジャケ絵 下は前僕が作った自主制作の画像 https://youtu.be/kYv3ZIlb_sU https://youtu.be/7EtXI4ePzO4 を参考にしました.
3DCG勉強会2022 第9回 配色理論入門
書いた人 hsjoihs さんが少し書いてくれました.(ありがとうございます)
配色について 色は作品の雰囲気を決める重要な要素の一つで第一印象に大きな影響を与える。 3DCG はもちろん、スライド作成などでも大事になってくる話なので、是非応用 してみて欲しいです。 なお、ここで扱うのはかなり初歩的な部分なので、興味のある人は他にも 色々調べてみてください!
ところで... プロが考えた配色をそのまま使うと手軽にいい感じの配色を使うことができて楽 本屋に行ってデザインコーナーなどに行くと多分置いてあります。 僕が使っている2冊: ● ● Power Design Inc. 『配色デザイン インスピレーションブック』 桜井輝子 『配色アイデア手帖』
色について
そもそも色ってなによ ● 光……にまつわるナニカ? ○ ● 実際「光」と「色」を同じ単語で表す言語もある(韓国語 빛(ピッ) など) でも実は光と色は若干異なる ○ ○ ○ ○ 光は物理学的実体として空間を飛ぶやつ 色は光によってもたらされた情報を脳で処理した結果 人間の目を騙せれば十分であり、物理学的な光スペクトルを再現しなくていい カメラも光スペクトルは測っていない 長いし英語だけど おすすめの動画
ナトリウムランプはプリズムで分かれない 赤 + 緑はプリズムで分かれる https://web.stanford.e du/class/cs148/pdf/cla ss_12_advanced_ren dering.pdf?page=17 同じ色だが光としては異なる
色の三属性 色の表し方の一つで色相、明度、彩度 の3つの値で色を表す. (Hue, Saturation, Value の頭文字を取ってHSV色空間と呼ばれることもある) 色相:「色み」「色あい」とも。赤、青、黄、などを決める値。cf. 色相環 明度:色の明るさ を表す。値が大きいほど明るい。 彩度:色の鮮やかさ を表す。値が大きいほど鮮やか。
色の三属性 右の画像は CLIPSTUDIO PAINT のカラーパレット 周囲の円が色相を、 中央の正方形の横軸が彩度を、縦軸が明度を表している。 Blender を含む多くのソフトウェアは色の指定にHSV色空間を用いる ことが多い。 AfterEffects など、色相を帯で表すソフトもあるが 基本的な考え方は同じ。→ 色相 明度 彩度
色の三属性 Blender は円で色相と彩度を、帯で明度を表している。 ※円の中心からの距離が彩度
色相環 色相を環状に配置したもののこと。 (クリスタのカラーパレットの円はこれ) デジタルの場合は、赤のある色を基準として そこから時計回りにどれくらい角度があるかを 使うことが多い。 (アナログ分からん... ) 色相環にもいくつか種類がある (マンセル色相環、PCCS色相環など) (マンセル色相環) 武蔵野美術大学/造形ファイル より
トーン(色調) 明度と彩度の関係を表す。 トーンによって印象が変わるので、 色を決めるときの参考にすると良いかも (ソフトは穏やか、ブライトは華やか、 など) vを純色、p, lt, b を明清色、 ltg, sf, s, d, g を中間色(濁色) dkg, dk, dp を暗清色 と呼んで分けることもある。 (W, ltGy, mGy, dkGy, Bk は無彩色) PCCSトーン 武蔵野美術大学/造形ファイル より
配色の基本
配色する上で助けになる理論の紹介 ここからは配色がなんもわからんときに参考にできそうな理論を紹介します。 もちろん使ってなくても良い配色はたくさんあるのでこれが絶対というわけでは ないです。また、作りたいものを理論に合わせるのも結構難しいので従おうと しすぎなくて良いと思います。
有彩色、無彩色 彩度==0であるものは無彩色、彩度>0であるものは有彩色と呼ばれる。 色と色の間に無彩色を挟むと、配色が強いときはやわらげてくれたり、弱いとき は引き締めてくれたりするのでとても便利。
原色を避ける 彩度、明度がともに最大の色は原色と呼ばれる。 原色は ほげ色 という主張が強すぎて安っぽくなりがちなので、扱いが結構難し い。強い人は時々使っているけど、慣れないうちは避けるのが吉。
色相一致 or トーン一致 (類似性の原理) 色相 or 彩度と明度 を合わせた色を選ぶと結構いい感じに色がまとまります。 ● 色相を一致させた配色の例 ● 彩度・明度を一致させた配色の例
有名な色相の分け方
注意 これから説明するものは色相環上で考えますが、色相環の考え方(種類)で 微妙に変わってきます。 見る側が色を精密に知覚しているわけではないから多少の誤差は多分あまり問題 にならないと思う... 例であげるものが少しずれてたりしたらそういうことだと思ってください
アナロジー 色相環上で近い位置の色同士を合わせる配色 柔らかい印象になる
ダイアード(コンプリメンタリー) 色相環上で反対側の位置にある色(補色) 同士を合わせる配色 派手でインパクトが強くなる
スプリットコンプリメンタリー ダイアードの片方の色を分割して隣の色を使う ダイアードに比べると柔らかめになる
トライアド 色相環を三等分した位置にある三色を使う。 そこそこコントラストはあるけど差が強くないので いい感じに賑やかな雰囲気になる
テトラード 色相環を4等分した位置にある色を使う。 補色の組み合わせ×2 なので、カラフルになる トライアドに白などの無彩色を足したものを テトラードと呼ぶこともあるらしい トライアド、テトラードの仲間として5, 6等分した ペンタード、ヘキサードもある
例:トライアド AIAIAI:https://youtu.be/S8dmq5YIUoc
例:トライド+ダイアード (ダブルスプリットコンプリメンタリー) 愛Dee: https://youtu.be/zkLJoFp2UAE トライアド2色(ピンクと青緑)と それぞれの補色を組み合わせている
例:テトラード Awake Now: https://youtu.be/gtYydJJtQdg テトラードの中の3色を使っている (インターミディエイト)
3DCG 勉強会 2022 第10回 構図について
いんとろ オブジェクトを配置したりカメラの位置を考えたりするときに構図が使われる 今回話すのは理想の話で、作りたいものに合わせるのはそこそこ難しい... ディズニーとかハリウッドがすごいと言われるのはこれをうまく使っているから というのもあるので、気にしすぎなくても良いと思う...。 とはいえ、うまく構図が使えたものはやっぱ良いなと感じることはあるし、 配置とかに困ったときには参考になるので知っておいて損は無いはず
構図とは? 構図の目的は、主に以下の2つ(だと思う) ● 全体のバランスを調整する ● 視線をうまく誘導する それぞれについて解説します
バランスの調整→いわゆる「構図」 三分割構図、日の丸構図、トンネル構図、などは、全体のバランスをいい感じに 調整してくれる これらを使いときにも、「見せたいもの」が決まっていることが大事 それぞれの構図には「視線が集まりやすいポイント」があるので、そこに見せた いものを合わせると良い (「視線が集まりやすいポイント」に主役を置き、他を構図に合わせたりすると バランスが良くなる)
三分割構図 おそらく最も基本的な構図 三分割した先の交点に視点が集まる また、三分割した線に画面上の線を合わせると うまくまとまりやすい
https://youtu.be/1J4r0mt9zz0
https://ksk-h.com/three-division-method/
三角構図 画面に三角があるとなんかまとまる オブジェクト3つを三角に配置したり、主役を三角になるように写したり。 上三角 下三角 → 安定・静 → 不安定・動 の感じ の感じ になる 上三角の場合、見上げる感じにするとでかくてどっしりって感じがして良い
https://www.jpiaa.jp/sp/course/howto_photo_002.html
https://start-camera.com/triangle-composition
黄金螺旋 構図で黄金比を使う方法の一つ。 色々言われたりはするけどなんだかんだ黄金比はやっぱり美しい。 黄金螺旋の中心は視点に視点が集まりやすいので、そこに主役を配置する 黄金螺旋をなぞるような線を追加で置くのもアリ
https://james-gardner.co.uk/jellyfish-rise-3d-cgi
https://james-gardner.co.uk/jellyfish-rise-3d-cgi
https://www.optimizer.co.jp/column/composit ion20160412/
シンメトリー 左右対称/上下対称 になっているときれい トンネルとか建物とかで使いやすい構図
https://twitter.com/nagafujiriku/status/1293883604943085576/photo/2
https://beeple.tumblr.com/post/102491590284/signalv1
対角線構図 見せたいものを対角線上に置く 画面に動きが出るのでそういうのを表現したいときに使える
トンネル構図 何か越しに主役(見せたいもの)を見る構図 周囲に近くの物を置き、遠くに主役を置く 近くのものはぼかされていることが多い
https://youtu.be/-wNSFmqhQsU
視線誘導 ● ● 見せたい部分を見せる 見る人がどこを見るかで迷わないようにする のが視線誘導の目的。 そのためには、「見せたい部分」が必要 (逆にいうと、見せたい部分に視線を誘導するので他の部分は しっかり作り込まなくても良い。) 「見せたい部分」を目立たせるのに使える方法について話します
コントラスト コントラストが強い部分に視線が行く 明暗差、色相差、など 目立たせたいところに変化をつけると目立つ ”みんな同じ” はあまり面白くない... 何か差をつけて目立たせると良いかも
周りは大体暗めなのに対して、 ここだけ明るくなって周囲とのコントラストを 強くしている
線を使う 視線は線に沿って移動する →見せたいものに向けていい感じに線を向かわせることができれば そこに視線を集めることができる トンネルの先に置いたり(消失点に視線が誘導される)主役までの道を置いたり すると線を作りやすい・・・?
https://www.artstation.com/artwork/0XnX6E
https://twitter.com/nagafujiriku/status/1396428129363632135/photo/2
ぼかし 被写界深度をうまく活用して、目立たせたいもの以外をぼかす 被写界深度でなくても、ビネット(周辺減光)などを コンポジット(レンダリング後の画像編集)とかで追加するのもあり
人を置く 人間はなんだかんだ人間が好きらしく、画面上に人間がいるとそこに目を向ける キャラモデリングできなくても、https://www.mixamo.com などから 人の3Dモデルをダウンロードして使える(無料;アカウント作成は必要) まず人を見た後、その人が見ている方向に目が行くのでそれを使うのもあり
https://twitter.com/nagafujiriku/status/1521055084532051971
今回のまとめ 構図についてのおはなし ● ● ● 見せたいもの(主役)を決める 全体のバランスを決め、主役の位置を決める 見せたいものに視線が集まるようにする 作りたいものに構図を合わせるのは難しいのでなかなか使いづらいとは思います が、うまく使えると良いものになるので是非挑戦してみてください!