2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Blender】 2.9でジブリっぽい雲を作る方法

Last updated at Posted at 2021-02-07

動作環境

本記事の動作環境は以下の通りです。
(2.9にアップデートしました)

項目 環境
OS Windows 10
Blender 2.9

#アウトプットイメージ
ダウンロード.gif

参考:https://www.youtube.com/watch?v=RgRPUlFBHH4&t=475s

#ワークフロー

道中の小技を最後に解説しているのでよければ参考ください。

  • 雲平面を作る
001_delet_faces.PNG
  • 雲キューブを作る
002_cloud_cube.PNG - 雲の凹凸を表現するための法線マップを作成する NormalMap.png - 雲に凹凸をつける 000_Unevenness.PNG - 雲の淡い輪郭を表現する 000_noisy_shading.PNG
  • 雲と背景に色をつける
000_coloring.PNG - 雲を丸くする 000_round_cloud.PNG - 雲の揺れを表現する 000_yure.PNG - 雲を増やす 000_more_cloud.PNG
  • ライティングの調整をする
000_lighting.PNG

#前準備

#雲平面をつくる

001_delet_faces.PNG

cubeをもとに以下の方法で雲平面をつくる。
(ちょっと冗長だけど、動画のとおりなので…)

  • 雲シェーディングの基礎を作る

    • 操作①:マテリアルを新規作成し、シェーダーエディターでプリンシプルBSDFを削除する
    • 操作②:Shift + a > シェーダー > ディフューズBSDF を追加する
    • 操作③:Shift + a > シェーダー > 透過BSDF を追加する
    • 操作④:Shift + a > テクスチャ > 画像テクスチャを追加し、前準備でダウンロードしてきた雲テクスチャを開く
    • 操作⑤:透過BSDFを選択し、Shift + Ctrl + 右クリックでシェーダーミックスを追加する
    • 操作⑥:シェーダーミックスの係数入力に雲テクスチャのアルファ出力を接続する
    • 操作⑦:シェーダーミックスのシェーダー出力をマテリアル出力のサーフェス入力に接続する
    • 操作⑦:プロパティエディター > マテリアルプロパティ > 設定 > ブレンドモードをアルファハッシュに設定する
    • 操作⑧:プロパティエディター > マテリアルプロパティ > 設定 > 影モードをアルファハッシュに設定する
  • UV展開する

    • 操作①:cubeを選択し、編集モードに変更する

    • 操作②:1キーでY軸が正面となるようにビューを変更する

    • 操作③:aキーで頂点を全選択する

    • 操作④:操作④:Uキー > ビューから投影(※小技で解説)

    • 操作⑤:UVエディターを表示する

    • 操作⑥:UV > アイランドを梱包(※小技で解説)をクリック

      001_uv_mapping.PNG
  • 不要な面を消す

    • 操作①:編集モードで全面以外の面を選択。

    • 操作②:deletキー > 面 で全面以外の面を削除する

      001_delet_faces.PNG

雲キューブを作る

以下の方法で雲キューブを作る

002_cloud_cube.PNG
  • 配列モディファイアーを追加する
    • 操作①:モディファイアープロパティ > モディファイアーを追加 > 配列で配列モディファイアーを追加する
    • 操作②:モディファイアープロパティ > Array > 適合する種類 を 長さに合わせる に変更
    • 操作③:モディファイアープロパティ > Array > 長さ を 2m に変更
    • 操作④:モディファイアープロパティ > Array > オフセット(倍率)を無効にする
    • 操作⑤:モディファイアープロパティ > Array > 一定のオフセットを有効にする
    • 操作⑥:モディファイアープロパティ > Array > 距離X を0にする
    • 操作⑦:モディファイアープロパティ > Array > 距離Y を0.001にする
      001_cloud_cube.PNG

雲の凹凸を表現するための法線マップを作成する

NormalMap.png

以下の方法で法線マップを作成する

  • メタボールを追加する※小技で解説

    • 操作①:Shift + a > メタボール > ボール(上から見たときにキューブが見えない位置に配置すること)
  • メタボールを複製する

    • 操作①:追加したメタボールを選択
    • 操作②:Shift + d > z > 1で元のメタボールより少し上に複製
    • 操作③:複製したメタボールを選択したまま Sキー > 0.3 で縮小
    • 操作④:小さいメタボールを適当な位置に配置
  • メタボールの解像度を上げる

    • 操作①:メタボールを選択(どっちでもいい)
    • 操作②:オブジェクトデータプロパティ > メタボール > Resolution Viewport を0.02mに変更
  • 法線マップをレンダリングするために画角を調整する

    • 操作①:7キーで3DビューポートをZ軸からの視点にする

    • 操作②:Ctrl + Alt + 0 で3Dビューポートの表示をカメラの視点にする

    • 操作③:出力プロパティ > 寸法 > 解像度 XとYを1000pxにして正方形の画角にする

      • 豆知識:シフトを押しながらXとYのボックスをドラッグすると一度に値を変えられる
    • 操作④:メタボールを選択し、SキーとGキーで画角いっぱいになるように大きくする

      001_metaball_and_camera_setting.PNG
  • 法線マップ表示にする

    • 操作①:3Dビューのシェーディング > 照明 でMatCapを選択する
    • 操作②:3Dビューのシェーディング > 照明 でサンプルをクリックし、check_normal+y.exrを選択する
      002_display_of_nomal_map.PNG
  • 雲の凹凸を表現する

    • 操作①:小さいメタボールを選択してShift + dで3つほど小さいメタボールを複製する
      003_duplicate_metaball.PNG

    • 操作②:4つの小さいメタボールを選択して、Shift + dで複製する

    • 操作③:ピポットをアクティブ要素に変更する

      004_duplicate_metaball2.PNG
    • 操作③:複製した4つを選択したまま、更に大きなメタボールを選択する

    • 操作④:スペース + Rキー で大きなメタボール上で小さなメタボールを移動させる

      • ポイント:上に視点の異なる3Dビューポートを配置すると画角を確認しながら操作しやすい

        005_move_small_metaball2.PNG
    • 操作⑤:大きなメタボールを選択解除して、更に小さなメタボールを複製する

      • ポイント:メタボール(小)を移動するときはメタボール(大)を選択 + 回転

      • ポイント:メタボール(小)を複製のときはメタボール(大)は選択しない

        006_more_duplicate_small_metaball.PNG
    • 操作⑥:操作④と⑤を繰り返したり、個別に小さなメタボールを操作したりして形を整える

      • ポイント:メタボール(小)がメタボール(大)から離れてしまわないこと
    • 操作⑦:オーバーレイをクリックしてキズモの表示などを消す

    • 操作⑧:メタボールを選択 > オブジェクトデータプロパティ > Resolution Viewport を 0.01mに変更

    • 操作⑨:ビュー > Viewport Render Image でビューポートレンダリングをする※小技で解説
      007_render_image.PNG

    • 操作⑩:画像 > 保存 で 法線マップを保存する

      008_save_image.PNG

雲に凹凸をつける

000_Unevenness.PNG

以下の手順で雲に凹凸をつける

  • 法線マップを適応する

    • 操作①:Shift + a > 画像テクスチャで画像テクスチャを追加する

    • 操作②:画像テクスチャノードで先に作成した法線マップを開く

    • 操作③:画像テクスチャノードの色空間をNon-Colorにする

    • 操作④:Shift + a > ノーマル > ノーマルマップを追加する

    • 操作⑤:ノーマルマップノードのカラー入力と画像テクスチャノードのカラー出力をつなぐ

    • 操作⑥:ノーマルマップノードのノーマル出力とディフューズBSDFノードのノーマル入力をつなぐ

      001_defuse_shadig.PNG
  • 太陽を模擬するためにライディングを調整する

    • 操作①:既存のライトを選択する

    • 操作②:オブジェクトデータプロパティ > ライト を サンに変更

    • 操作③:オブジェクトデータプロパティ > ライト > 強さ を 1.00 に変更

      002_light_setting.PNG

雲の淡い輪郭を表現する

000_noisy_shading.PNG

以下の方法で淡い輪郭を表現する

  • テクスチャ座標を追加する
    • 操作①:法線マップの画像テクスチャノードを選択して、Ctrl + T でテクスチャ座標ノードとマッピングノードを使いする
      001_add_texture_axis.PNG

    • 操作②:Shift + a > テクスチャ > ノイズテクスチャ でノイズテクスチャノードを追加

    • 操作③:Ctrl + Shift + 右ドラッグ(ノイズテクスチャからマッピングへ)で2つのノードをミックス

      002_add_noise.PNG
    • 操作④:ノイズテクスチャノードのスケールを26.8に変更

      • 補足:スケールが大きいほどノイズが細かくなる
    • 操作⑤:ミックスノードの係数を0.942に変更

      • 補足:1に近づくほどノイズの影響が低くなる
      003_setting_params.PNG

雲と背景に色をつける

000_coloring.PNG

以下の方法で背景と雲に色をつける

  • 参考画像をインポートする

    • 操作①:ダウンロードしてきた参考画像をドラッグ&ドロップでblenderファイルにインポートする

    • 操作②:Gキーで位置を調節する

      001_import_reference.PNG
  • 背景色を変更する

    • 操作①:シェーダーエディターのシェーダータイプをワールドに変更する
    • 操作②:カラーをスポイト機能で参考画像の空からとってくる
  • 色変換方式を変更する

    • 操作①:レンダープロパティ > カラーマネージメント > ビュー変換 を 標準に設定する

      • 補足:冗長な色変換を行わない設定。画像からスポイトを使うときに色がより正確になる。
      002_world_setting.PNG
  • シェダ―エディターの可視性の向上のため、法線マップをグルーピングする

    • 操作①:Shift + a > レイアウト > フレーム で フレームを追加

    • 操作②:フレームを選択した状態で、Nキー > アイテム > ノード > ラベルでフレーム名を Normal Map に変更

    • 操作③:フレームを選択した状態で、Nキー > アイテム > プロパティ > ラベルサイズ を 50 に設定

    • 操作④:ノーマルマップより先をフレームに入れる

      003_frame.PNG
  • 雲に色をつける

    • 操作①:Shift + a > コンバーター > シェーダーからRGBへ を ディフューズBSDF ノードとシェーダーミックスノードの間に追加
    • 操作②:Shift + a > コンバーター > カラーランプ をシェーダーからRGB ノードと シェーダーミックスノードの間に追加
    • 操作③:カラーランプノードにカラーストップを2つ追加し、図のようにスポイト機能で色と場所を設定する
  • アンビエントオクルージョンを有効にする※小技で解説

    • 操作①:レンダープロパティ > アンビエントオクルージョン (AO) を有効にする

    • 操作②:レンダープロパティ > アンビエントオクルージョン (AO) > 距離 を 1m に設定する

      • 補足:アンビエントオクルージョン効果に寄与するオブジェクトの距離
    • 操作③:レンダープロパティ > アンビエントオクルージョン (AO) > 係数 を 5に設定する

      • 補足:アンビエントオクルージョン効果のブレンドファクター
      004_cloud_color.PNG

雲を丸くする

000_round_cloud.PNG

以下の方法で雲を丸くする

  • 丸要素を追加する

    • 操作①:Shift + a > テクスチャ > グラデーションテクスチャ でグラデーションテクスチャを追加する

    • 操作②:グラデーションテクスチャのグラデーションタイプを球状に変更する

    • 操作③:グラデーションテクスチャを選択してCtrl + T でテクスチャ座標とマッピングを追加する

    • 操作④:グラデーションテクスチャのカラー出力とシェーダーミックスの係数入力を接続する

      • 補足:既存の画像テクスチャを上書きしてしまうが後で使うので消さないように
      001_add_gradient_texture.PNG
  • 丸くする

    • 操作①:テクスチャ座標のオブジェクト出力とマッピングのベクトル入力を接続する
  • 可視性向上のため、フレームに格納する

    • 操作①:Shift + a > レイアウト > フレーム で フレームを追加(可視性向上のため)
    • 操作②:フレームを選択した状態で、Nキー > アイテム > ノード > ラベルでフレーム名を Noise に変更
    • 操作③:フレームを選択した状態で、Nキー > アイテム > プロパティ > ラベルサイズ を 50 に設定
    • 操作④:グラデーションテクスチャノードとマッピングノードとテクスチャ座標ノードをフレームに入れる
  • 元の雲の形と掛け合わせる

    • 操作①:Shift + Ctrl + 右ドラッグ(グラデーションから画像テクスチャへ)

      002_mix.PNG
    • 操作②:カラーミックスノードのカラー出力とシェーダーミックスの係数入力を接続する

    • 操作③:カラーミックスを乗算へ変更する

    • 操作④:カラーミックスの係数を1にする

      003_plutiple.PNG
  • 輪郭を際立たせる

    • 操作①:Shift + a > コンバーター > カラーランプ を カラーミックスとシェーダーミックスの間に挿入する

    • 操作②:カラーランプノードのカラーストップを図のように変更する

      004_color_lamp.PNG

雲の揺れを表現する

000_yure.PNG

以下の方法で雲を揺れを表現する

  • 全体的に揺れ要素を入れる

    • 操作①:シェーダーエディターでShift + a > テクスチャ > ノイズテクスチャでノイズテクスチャを追加
    • 操作②:ノイズテクスチャを選択して、Ctrl + T で テクスチャ座標ノード と マッピングノードを追加
    • 操作③:Shift + a > レイアウト > フレーム で フレームを追加(可視性向上のため)
    • 操作④:フレームを選択した状態で、Nキー > アイテム > ノード > ラベルでフレーム名を Noise に変更
    • 操作⑤:フレームを選択した状態で、Nキー > アイテム > プロパティ > ラベルサイズ を 50 に設定
    • 操作⑥:ノイズテクスチャノード、マッピングノード、テクスチャ座標ノードをノイズフレームに入れる
    • 操作⑦:Ctrl + Shift + 右ドラッグ(Round ShapeのグラデーションノードからNoiseフレームのノイズテクスチャ)でカラーミックスする
    001_noise.PNG - 操作⑧:カラーミックスノードのブレンドモードを乗算に変更する - 操作⑨:カラーミックスノードの係数を1にする
  • 処理負荷を低減するために、配列モディファイアーの設定を変更する

    • 操作①:モディファイアープロパティ > Array > 一定のオフセット > Y > 0.006mに変更する
  • 揺れの程度を制御する

    • 操作①:Shift + a > コンバーター > カラーランプ でカラーランプノードを追加

    • 操作②:カラーランプノードのカラーストップを図のように変更する

      002_color_lamp.PNG
  • 雲の正面だけ揺れをなくす

    • 操作①:Shift + a > テクスチャ > グラデーションテクスチャ でグラデーションテクスチャノードを追加する

    • 操作②:グラデーションテクスチャノードを選択した状態で、Ctrl + T で テクスチャ座標ノードとマッピングノードを追加する

    • 操作③:効果の確認のために透過BSDFとディフューズBSDFをミックスしているシェーダーミックスの係数入力に、先程追加したグラデーションテクスチャノードの係数出力を接続する

    • 操作④:テクスチャ座標ノードのオブジェクト出力をマッピングノードのベクトル入力に接続する

    • 操作⑤:マッピングノードの回転 > Z を 90°に変更する

    • 操作⑥:マッピングノードのスケール > X,Y,Z を 0.2に変更する

      • ポイント:Shift + 左ドラッグで一度に変更できる
    • 操作⑦:揺れの効果と効果を消す作用を混ぜるためにCtrl + Shift +右ドラッグ(グラデーションテクスチャノードからノイズテクスチャのカラーランプ)で2つをミックスする

      003_gradient.PNG
    • 操作⑧:カラーミックスノードのブレンドモードを追加に変更する

    • 操作⑨:カラーミックスノードの係数を1にする

    • 操作⑩:Round Shapeにつながるカラーランプのカラー出力をシェーダーミックスの係数入力に接続する

    • 操作⑪:Shift + a > コンバーター > カラーランプ でカラーランプをNoiseのグラデーションノードとカラーミックスノードの間に追加する

    • 操作⑫:カラーミックスノードのカラーストップを図のように変更する

      004_gradient_mix.PNG

雲を増やす

000_more_cloud.PNG

以下の方法で雲を増やす

  • コレクションインスタンスを使用するためにオリジナルの雲のみでコレクションを作成する
    • 操作①:オリジナルの雲を選択した状態で Mキー > New Collection > 名前をCloud Pieceにする
  • コレクションインスタンスを使用して、雲を量産する
    • 操作①:Shift + a > Collection_Instance > Cloud Piece
    • 操作②:Cloud Pieceのコレクションインスタンスを Shift + D で複製
    • 操作③:適宜GキーやSキー、Rキーなどを使用して、移動、拡大/縮小、回転などのトランスフォームを変更する
  • 表示の向上のためにビューの設定を変更する
    • 操作①:Nキー > ビュー > 範囲の開始 を 0.1mに設定する

      cloud_instance.PNG

ライティングの調整をする

000_lighting.PNG

以下の方法でライティングの調整をする。
値はお好みで。
適宜、Gキー、Sキー、Rキー、Shift + D を使って、トランスフォームの変更や複製をしながら調整する。

  • 法線マップの強さを小さくする

    • 操作①:オリジナルの雲を選択する
    • 操作②:Normal Map フレームのノーマルマップノードの強さを少し下げる。
  • 淡い輪郭を調整する

    • 操作②:Normal Map フレームのカラーミックスノードの係数を少し下げる
    • 操作③:Normal Map フレームのノイズテクスチャノードのスケールを少し下げる
  • アンビエントオクルージョンの距離を大きくする

    • 操作④:レンダープロパティ > アンビエントオクルージョン(AO)の距離を少し上げる
  • ディフューズBSDFのカラーランプを明暗がはっきりするように調整する

    • 操作⑤:ディフューズBSDFノードにつながるカラーランプを図のように明暗がはっきりするように調整する

      001_normal_yuragi_AO.PNG
  • 配列モディファイアーのオフセットを下げる

    • 操作①:オリジナルの雲を選択する
    • 操作②:モディファイアープロパティ > Array > 一定のオフセット > Yの値を0.009に下げる
  • ポイントライトを配置する

    • 操作①:Shift + a > ライト > ポイント でポイントライトを追加する
    • 操作②:オブジェクトデータプロパティ > Point > ライト > パワー を 10W に設定する
    • 操作③:オブジェクトデータプロパティ > Point > ライト > 半径 を 0.5mに設定する
    • 操作④:Gキーで雲の光を当てたい部分にライトを動かす
    • 操作⑤:影をつくるために、オブジェクトデータプロパティ > Point > ライト > パワー を -10Wに設定する
    • 操作⑥:Gキーで雲の影にしたい部分にライトを動かす
    001_point_light.PNG
  • 雲のみに影響を与えるライトをシェーディングで作成する

    • 操作①:オリジナルのCloud Pieceを選択して、シェーディングを編集する
    • 操作②:Shift + a > テクスチャ > グラデーションテクスチャ で グラデーションテクスチャを追加する
    • 操作③:グラデーションテクスチャノードのグラデーションタイプを球状にする
    • 操作④:グラデーションテクスチャノードを選択して、Ctrl + T でテクスチャ座標ノードとマッピングノードを追加する
    • 操作⑤:可視性向上のためにShift + a > レイアウト > フレーム で フレームを追加する
    • 操作⑥:フレームを選択して Nキー > アイテム > ラベル でラベルの名前を Extra Light に変更する
    • 操作⑦:フレームを選択して Nキー > アイテム > ラベルサイズ で ラベルサイズを 50 に変更する
    • 操作⑧:フレームの中にグラデーションテクスチャノード、マッピングノード、テクスチャ座標ノードを入れる
    • 操作⑨:Extra Lightの中心を決定するために Shift + a > Empty > 十字 でEmptyを追加する
    • 操作⑩:テクスチャ座標ノードのオブジェクト出力とマッピングノードのベクトル入力を接続する
    • 操作⑪:テクスチャ座標ノードのオブジェクトを操作⑧で追加したEmptyに変更する
    • 操作⑫:Shift + a > カラー > RGBミックス で カラーミックスをNormal Mapへ続くカラーランプと透過BSDFとミックスするシェーダーミックスノードの間に追加する
    • 操作⑬:カラーミックスノードの色2入力をスポイト機能で影色に設定する
    • 操作⑭:グラデーションテクスチャノードの係数出力とカラーミックスノードの係数入力を接続する
    • 操作⑮:Emptyを選択してShift + dで複製する
    • 操作⑯:複製したEmptyを選択してGキーで光の中心に移動する
    • 操作⑰:テクスチャ座標ノード、マッピングノード、グラデーションノード、カラーミックスノードを選択してShift + d で複製する
    • 操作⑱:複製したカラーミックスノードを元のカラーミックスノードの後ろに挿入する
    • 操作⑲:複製したテクスチャ座標ノードのオブジェクトを複製したEmptyに変更する
    • 操作⑳:複製したカラーミックスノードの色2を白色に変更する
    002_extra_light.PNG

小技

UV展開方法/ビューから投影

3Dビューポートで見えている形状のままUV展開をする。
[https://docs.blender.org/manual/ja/lates

t/modeling/meshes/editing/uv.html#project-from-view](https://docs.blender.org/manual/ja/latest/modeling/meshes/editing/uv.html#project-from-view)

  • 操作①:オブジェクトを選択し、編集モードにする
  • 操作②:展開したい見た目になるように表示を調整する
  • 操作③:Aキーでオブジェクトの頂点を全選択
  • 操作④:Uキー > ビューから投影

project_from_view.PNG

UVエディター/アイランドを梱包

UVエディターの画角いっぱいになるように自動でUV展開のスケールを調整してくれる機能。
https://docs.blender.org/manual/ja/latest/modeling/meshes/uv/editing.html#pack-islands

  • 操作①:UVエディターでAキーでUVを全選択
  • 操作②:UV > アイランドを梱包

pack_islands.PNG

メタボール

近づけるとくっつく不思議なオブジェクト。

操作①:3DビューポートでShift + a > メタボール > ボール で追加

002_metaball.PNG

###ビューポートレンダリング

3Dビューポートの表示をそのままレンダリングすることで、素早くレンダリング結果を確認できる。

https://docs.blender.org/manual/ja/latest/editors/3dview/viewport_render.html

001_viewport_render.PNG

###カラーマネージメント

レンダリングパイプラインでどのように色変換をしていくかという管理。

https://docs.blender.org/manual/ja/latest/render/color_management.html

アンビエントオクルージョン

詳細な光の表現。

https://docs.blender.org/manual/ja/latest/render/eevee/render_settings/ambient_occlusion.html

###ビュー 範囲の開始

単純にどのくらいカメラに近い位置の物体を表示しますか。という設定。

https://docs.blender.org/manual/ja/latest/editors/3dview/sidebar.html

ビューの設定について

途中で動作が重くなったら

Cloud Piece の モディファイアープロパティ > Array > 一定のオフセット > Y を0.1m に変更して操作するとよい。
レンダリングするときだけ0.006mに戻しましょう

###雲バリエーションの作り方

ジブリ風の木同様にオブジェクトカラーを利用してRGBの値からグラデーションの係数などを変えて雲バリエーションを増やすことができる。
気が向いたらこの辺を加筆する可能性あり。

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?