【Blender】紙袋からのぞく犬キャラを作る|ボックス×サブディビジョン、ボーン×IK、パーティクルの芝生
*▲ 紙袋から顔を出す犬のキャラクター。Blender 5.2 / EEVEE*
使ったのは **「ボックスモデリング+サブディビジョンサーフェス」「ボーン+IK」「パーティクル(ヘアー)」** の3つです。
この記事では、モデリングからアニメーション、芝生の地面までの流れを簡潔に紹介します。
STEP 1|ボックスからサブディビジョンサーフェスでモデリング
キャラクターも紙袋も、出発点はすべて **立方体(ボックス)や球** です。
- 頭・胴体はボックスを押し出し(E)とループカット(Ctrl+R)で大まかな形にする
- **サブディビジョンサーフェス** を追加すると、カクカクの形が一気に丸くやわらかい形になる
- 耳・前足・鼻・目などのパーツは、球(Sphere)を変形させた **別オブジェクト** で作ると調整が楽
- 紙袋も立方体から作り、上面に取っ手の穴を抜いて、ループカットで角の丸みを調整
*▲ ワイヤーフレーム表示。少ないポリゴンのまま形を作り、サブディビジョンでなめらかにしている*
ポイントは **頂点を増やしすぎないこと**。少ない面で大きな形を決めておけば、サブディビジョンをかけたときにきれいな曲面になります。
丸くしすぎたくない部分(紙袋の角など)は、エッジの近くにループカットを足して締めます。
STEP 2|ボーンを入れてキャラクターを動かせるようにする
次はアーマチュア(骨)を入れて、動かせる状態にします。
- 頭〜体の中心に1本、しっぽに沿って **Bone〜Bone.006 の7本を親子でつないだチェーン** を配置
- メッシュを選んでからアーマチュアを選び、**Ctrl+P →「自動のウェイトで」** でペアレント
- ポーズモードで骨を回すと、メッシュが一緒に曲がることを確認
*▲ ポーズモード。頭の中に1本、しっぽに沿って細かいボーンのチェーンが入っている*
しっぽのように **しなやかに曲がる部分は、短いボーンを何本もつなぐ** と自然なカーブになります。
STEP 3|IKでしっぽのアニメーションを付ける
7本のボーンを1本ずつ回してキーを打つのは大変です。そこで **IK(インバースキネマティクス)** を使います。
1. しっぽの先端とは別に、**IKターゲット用のボーン(Bone.007)** を作る(親子関係は切っておく)
2. しっぽの最後のボーン(Bone.006)を選び、**ボーンコンストレイント →「IK」** を追加
3. 設定は次のとおり
- ターゲット:**Armature.001 / Bone.007**
- **チェーンの長さ:0**(=根元までのボーン全部が連動)
- 回数:500
- テールを使用:ON、ストレッチ:ON
*▲ Bone.006 に IK コンストレイント。黄色の点線がターゲット(Bone.007)とのつながり*
あとは **ターゲットのボーン1本を動かしてキーを打つだけ**。しっぽ全体が自動でしなって追いかけてくれます。
今回は 1〜233 フレームで、しっぽがゆらゆら揺れる動きを付けました。
STEP 4|パーティクル(ヘアー)で芝生の地面を作る
地面は円(Circle)を面にして、**パーティクルシステム** で芝生にしています。
- パーティクルの種類:**ヘアー**
- 数:**1000**
- ヘアー長:**0.16 m**
- セグメント:5
- 放射源:**面**、分布:**ジッター**(ランダム順・等分布 ON)
*▲ Circle.001 にヘアーパーティクル。数と長さを調整するだけで芝生らしくなる*
毛の色は、マテリアルで根元を濃い緑・先端を明るい黄緑にすると芝生らしく見えます。
数を増やせば密になりますが、重くなるのでビューポートでは少なめ、レンダーで増やすのがおすすめです。
また、レンダー設定の **カーブ → シェイプ** を「ストリップ」にすると、EEVEEでも毛がきれいに表示されます。
おまけ|レンダリング設定
- レンダーエンジン:**EEVEE**(レイトレーシング ON)
- サンプル数:ビューポート 16 / レンダー 64
- ライトは2灯で、キャラクターと芝生にやわらかい陰影を付けています
まとめ
- **ボックス+サブディビジョンサーフェス** で、少ない頂点から丸いキャラクターを作る
- **ボーンをチェーンでつなぎ**、自動ウェイトでメッシュと結びつける
- **IK** を使えば、ターゲット1本を動かすだけでしっぽ全体が動く
- **ヘアーパーティクル** で、円盤1枚が一気に芝生になる
どれもBlenderの基本機能ですが、組み合わせるだけで「動くキャラクター作品」まで仕上がります。