タイトル: Skinned Mesh Renderer
SEOタイトル: Skinned Mesh Renderer とは?Unity のボーンアニメーション
本稿は Unity の Skinned Mesh Renderer コンポーネントに関する記事です。

Skinned Mesh Renderer は ボーン (Bone) アニメーションを描画するために使われるレンダラーコンポーネントです。キャラクターや生物のように、内部のボーンに合わせてメッシュが変形するモデルで利用します。
当コンポーネントを使用する場合、通常の静的メッシュで使う Mesh Filter と Mesh Renderer は不要です (Skinned Mesh Renderer が両方の役割を兼ねます)。
Skinned Mesh Rendererの主な役割
- スキニング — 各頂点に最大4本のボーンの影響度 (BoneWeight) を持たせ、ボーンの動きにメッシュが追従
- ブレンドシェイプ (BlendShape) — 表情や形状の段階的変形 (笑顔 0%〜100% など)
- ルートボーン管理 — メッシュ移動の起点となるボーンを指定
- カリングモードの選択 — 画面外で更新を止めるかどうか
- マテリアル管理 — 他のレンダラー同様にマテリアルを複数割当可能
主なプロパティ
| プロパティ | 役割 |
|---|---|
| Bounds | カリング・選択判定に使われる AABB (軸並行バウンディングボックス)。動きに対して小さすぎるとカリングで消える |
| Quality | 1ボーンあたりの影響頂点本数。1〜4 で品質と負荷のトレードオフ |
| Update When Offscreen | 画面外でも姿勢更新を続ける。アタッチエフェクト等で必要なら ON |
| Mesh | Skinned Mesh のリファレンス (FBX等からインポートされたメッシュ) |
| Root Bone | Bounds の追従元・基準ボーン |
| BlendShapes | 定義されているブレンドシェイプの数値。スクリプトから動的に変更可能 |
| Materials | サブメッシュごとに割り当てるマテリアル |
| Cast/Receive Shadows | 影の投影・受光 |
| Light Probes / Reflection Probes | ライティング情報の取得方式 |
Mesh Renderer との違い
| 項目 | Skinned Mesh Renderer | Mesh Renderer |
|---|---|---|
| 用途 | キャラクター等のスキニング/ボーン変形 | 静的・剛体メッシュ (壁・建物・小物等) |
| 必要コンポーネント | これ1つ (Mesh Filter 不要) | Mesh Filter + Mesh Renderer |
| ブレンドシェイプ | 対応 | 非対応 |
| 負荷 | 毎フレーム頂点を CPU/GPU で変形 (重め) | 軽い (頂点はそのまま転送) |
| 典型的なソース | FBX のリグ付きキャラ | FBX/Mesh の静的モデル |
典型的な使い方
- リグ付き FBX を Unity にインポートする (Humanoid または Generic のリグ設定)
- シーンに配置すると、自動的に Skinned Mesh Renderer 付きの子オブジェクトが作成される
- Animator コンポーネントを親に付与し、Animation Controller を設定
- 必要に応じて Bounds を手動で広げる、Update When Offscreen を ON にする
- マテリアル・シェーダを割り当てる
スクリプトからのブレンドシェイプ操作例
|
using UnityEngine; |
よくある落とし穴
- カリングで急に消える — ルートボーンの位置から離れてアニメする場合、Bounds が小さすぎる。手動で Bounds を広げるか、Update When Offscreen を ON
- 影が出ない/逆に重い — Cast Shadows のモード確認。複雑キャラ多数なら影オフを検討
- マテリアル数の増加で Draw Call が増える — マテリアル統合・SRP Batcher 対応シェーダの活用
- Animator 非アタッチで姿勢が更新されない — Animator・Animation Controller の付与漏れ
- GPU Skinning ON/OFF — Player Settings の「GPU Skinning」「Graphics Jobs」で性能が変わる
- Bake された別メッシュ —
BakeMeshを使えば現在の姿勢を静的メッシュとして取り出せる (パーティクル等の連携で便利)
パフォーマンス上のポイント
- 遠景キャラはLOD Group で簡略メッシュへ切り替え
- 大量に並べるならGPU SkinningまたはAnimation Instancingを検討
- 影をたくさん描く場合はシャドウキャスタの数を減らす設計
- 不要な BlendShape はインポート時にオフにできる
関連
- 親カテゴリ: Mesh Renderer
- 関連: Animator / Animation Controller / LOD Group / BlendShape