今回は、Blenderでサッカーグラウンドをつくってみたいと思います。
このようにして作成した画像がこちらです。
今回はこちらの動画を参考にさせていただきました。
- 平面オブジェクトを追加
デフォルトのキューブオブジェクトを削除し、 Shift + A →「メッシュ」→「平面」から平面オブジェクトを追加します。
- 平面のサイズを変更
N キーを押してプロパティシェルフを表示し、平面オブジェクトのサイズをサッカーのピッチサイズの105m × 68m に合わせて 115m × 75m に設定します。
このままだとスケールが X=37.5, Y=62.5 に設定されているので、 Ctrl + A →「全トランスフォーム」を選択してこの形状をデフォルトにします。するとスケールがリセットされ、すべてのスケール値が1となります。
- 平面にマテリアルを設定
マテリアルタブから「新規」をクリックしてマテリアルを追加し、適当に名前を付けます。
ベースカラーをクリックし「#425c1b」に設定します。
もうひとつマテリアルを追加します。 N ボタンを押して新しいマテリアルスロットを追加し、もう一度「新規」をクリックしてマテリアルを追加し、こちらも適当に名前をつけます。
- オブジェクトをコピー
もう一つのマテリアルを設定するために Shift + D ボタンで一度オブジェクトをコピーして、 G + X ボタンを押してオブジェクトを平行移動しておきます。
アウトライナーウィンドウに平面オブジェクトがもう一つ追加されます。
コピーしたオブジェクトに2個目のマテリアルを割り当てます。
マテリアルを割り当てるときには編集モードにする必要があるので注意してください。
- シェーダーエディタを開く
マテリアルを編集するために、まずシェーダーエディタを開きます。
3Dビューウィンドウの右上にポインターを移動させると + マークが表示されるので、そのままドラッグしてウィンドウを分割します。
分割したウィンドウのヘッダーから、一番左のアイコンをクリックすると、エディタを選択できるのでシェーダーエディタをクリックします。
-
ピッチにラインを追加する
事前にサッカーのピッチに引かれているラインの画像を作成しておきます。
サイズは小さくても構いませんが、縦と横の比率や線の幅など全て同じスケールで縮小する必要があります。そして、背景は透明にしておきます。
シェーダーエディタに戻り、最初から表示されている「プリンシパルBSDF」ノードを削除し、替わりに「画像テクスチャ」ノードを追加します。
そして、「開く」から保存したピッチ上のラインの画像を選択すると、平面オブジェクト上にラインが表示されます。
このままでも平面に合わせてきちんとラインが表示されていますが、画像をUV座標に合わせて貼り付けられるようにテクスチャ座標ノードを追加し、「UV」を画像テクスチャノードの入力ソケットにつなげます。
-
2つのシェーダーを合わせる
ピッチ上の芝の部分と白いライン部分を合わせるために「シェーダーミックス」ノードをつかって2つのシェーダーを合わせます。
まず、ラインの画像を表示させた画像テクスチャノードのカラーをシェーダーミックスの2番目のシェーダーにつなぎます。
また、アルファソケットをシェーダーミックスの係数につなぎます。これでラインの画像の透明部分には1番目のシェーダーの画像が表示されます。
つぎに、1番目のシェーダーとして「ディフューズBSDF」ノードを追加します。
平面オブジェクトはこのようになります。
-
ピッチの縞模様を表現する
サッカーのピッチではよく芝生が縞模様に刈られています。この縞模様をテクスチャで表現します。
これには「波テクスチャ」ノードを使います。
ただ「波テクスチャ」ノードだけを背景を表現している「ディフューズBSDF」ノードに接続するとこのようになります。
縞模様が白黒ですし、方向も90°回転した方向になってしまっています。
- 縞模様を緑に変更
まず、色を緑の濃淡の縞模様にするために「RGBミックス」ノードを間に接続します。
「波テクスチャ」ノードのカラーソケット(出力)を「RGBミックス」ノードの係数ソケット(入力)へ接続します。また、「RGBミックス」ノードのカラーソケット(出力)と「ディフューズBSDF」ノードのカラーソケット(入力)を接続します。これでノードの接続は完成です。
次はそれぞれの色の設定ですが、「RGBミックス」ノードの「色1」「色2」で濃い緑色と薄い緑色を指定します。今回は濃い緑を「#075900」、薄い緑を「#4A6C30」としました。これで縞模様が緑の濃淡で表示されます。
-
縞模様の向きをかえる
まだ縞模様が表示させたい方向と違うので変更します。
「テクスチャ座標」ノードで平面オブジェクト上に基準となる座標系を設定し、その座標をもとに「マッピング」ノードで位置や向きを変更します。
手順としては、「テクスチャ座標」ノードのUVソケット(出力)を「マッピング」ノードのベクトルソケット(入力)に接続し、「マッピング」ノードのベクトルソケット(出力)と「波テクスチャ」ノードのベクトルソケット(入力)を接続します。そして、「マッピング」ノードでZ軸周りに90°回転させます。これで表示させたい向きの縞模様になりました。
-
境目をはっきりと
芝生の濃淡の境目がぼやけているのでもっとはっきりさせます。これには「カラーランプ」ノードをつかいます。
「波テクスチャ」ノードのカラーソケット(出力)と「カラーランプ」ノードの係数ソケット(入力)を接続し、「カラーランプ」ノードのカラーソケット(出力)と「RGBミックス」ノードの係数ソケット(入力)を接続します。そして、「カラーランプ」ノードのカラーバンド上にある2つのカラーストップを両方とも中央付近に集めることで境界がはっきり見えるようになります。
-
縞模様のサイズを変更
さらに縞模様が実際のピッチより細いのでもう少し大きくしていきます。
これには「波テクスチャ」ノードの「スケール」を変更します。数字を小さくしていくと縞が大きくなります。ここでは写真を見ながら「2.8」にしました。
- パーティクルシステムで芝生の質感を再現する
このままではツルっとした緑のシートのような見た目なので、天然芝の質感を少しでも出すためにパーティクルシステムを使用します。
パーティクルプロパティタブからビューリスト横の + を押して新しくパーティクルシステムを追加します。
タイプを「ヘアー」に変更し、サッカーのピッチの芝生はだいたい20mmくらいらしいのですが、見た目にわかりづらいので少し長めの0.05m(50mm)に変更します。
ここからは詳細を調整していきます。
まず「放射」のなかの「数」を「100」に設定します。
次に「子パーティクル」を設定します。
「レンダリング時の数」は「100000」にします。「表示数」は大きくすると画面の表示が遅くなるので「1000」くらいにしておきます。
子パーティクルの「長さ」を「1.0」のままとします。
「粗さ」タブから「均一」の値を0.02に変更します。
画面の表示はあまり変化がありませんが、レンダリングするとしっかりヘアーパーティクルが表現されます。
ヘアーパーティクルの設定の詳細はこちらの記事をどうぞ。
- アンビエントオクルージョンを追加する
アンビエントオクルージョン(AO)とは、凹凸がある物体の陰影を強調する効果があります。
ここでは「波テクスチャ」ノードと「カラーランプ」ノードの間に「AO」ノードを入れて設定します。
その後、「ワールドプロパティ」タブから「サーフェス」を「背景」にし、色を「黒」に設定します。
-
レンダリングの設定をする
「レンダープロパティ」タブからレンダラーを「Cycles」に設定します。
次に「サンプリング」タブ内の「レンダー」の値を「250」へ変更します。
「レンダー」値は使用しているPCのスペックによりますので、レンダリングに時間がかかるようなら少しおとしてください。
-
ライトの設定
3Dビューポート内のライトオブジェクトを直接クリックするか、アウトライナー内の「Light」をクリックして選択し、位置を調整します。
ライトのタイプは「サン」を選択し、「強さ」を「10」とし、色も少し黄色がかった色に設定します。ここでは「ffffe0」としました。
-
カメラの位置調整
レンダリング画像の視点を調整します。
3Dビューポートに表示されている状態を視点にしたい場合は、 Ctrl + Alt + テンキー 0 でカメラが現在の視点へ移動します。
視点を確認しながら移動させたい場合は テンキー 0 を押してカメラの視点に切り替え、 N キーでプロパティシェルフを表示し、「ビュー」タブのなかの「カメラをビューにロック」にチェックを入れると、カメラの位置を調整することができます。
また、プロパティシェルフの「トランスフォーム」タブからカメラの座標と角度を指定する方法もあります。
このようにして作成した画像がこちらです。
今回はこちらの動画を参考にさせていただきました。