ここで、未使用データブロックとフェイクユーザについて説明しておきます。 簡単な3DCGの制作 > マテリアルで質感を表現する > マテリアルの作成とメッシュへの結びつけでも説明したように、Blenderでは未使用のマテリアルは保存されません。 ファイルの保存時に、未使用のマテリアルは保存されないようになっているためです。
正確には、マテリアルだけでなくアクションやブラシなどの他のデータも同様です。 Blenderでは、データは『データブロック』と呼ばれる単位で管理されていますが、未使用のデータブロックはファイルには保存されないようになっています。
つまり、Blenderでは未使用のデータブロックは簡単に消えてしまう、ということです。 Blenderには、それを防ぐための『フェイクユーザ』という仕組みがあります。 その名の通り、偽の利用者を作り使用中にしてしまう機能です。
フェイクユーザは、未使用のデータブロックが自動的にクリーニングされることを防ぐための仕組みです。 今は利用しないが将来的に利用するマテリアルなどはフェイクユーザで保護しましょう。
フェイクユーザを有効にする、つまり、未使用にも関わらず使用中にする手順は以下の通りです。 なお、マテリアルを例に説明しています。
上図のように対象のマテリアルを選択し、マテリアル選択リストの右にある盾のアイコンの[Fake User]ボタンを押します。
上図のように[Fake User]ボタンが青色に変化します。 青色はフェイクユーザが有効になっていることを表しており、このマテリアルは未使用でもファイルに保存されるようになりました。
これで、このマテリアルに関しては消えてしまう心配はなくなりました。 なお、再度[Fake User]ボタン押すと、フェイクユーザはオフになり自動クリーニングの対象に戻ります。
画面右上にあるOutlinerで、未使用のデータブロックの確認と削除を行うことができます。 実際にやってみましょう。
上図のようにOutlinerのDisplay ModeをOrphan Dataに切り替えます。
上図のように未使用のデータブロックの種別の一覧が表示されます。 今回の例では、ブラシとマテリアルが表示されています。 なお、ブラシのアイコンに小さく描かれている 18 という数値はブラシの数を表しています。
では続いて、未使用のブラシの一覧を表示してみましょう。
上図のように"Brushes"の行の三角マークをマウスの左ボタン()でクリックします。
上図のように未使用のブラシの一覧が表示されます。 なお、名称の右には、アイコン / 数値 / "F" という3つの項目が表示されています。
アイコンは、このデータブロックが保存されるか/されないかを示しています。 上の例の電源ボタンのアイコンは、保存される状態を表しています。
その隣りの数値は参照数を表しており、0(ゼロ) が未使用の状態を表しています。 上の例では 1 となっていますが、未使用なのに参照数が 1 になっているのはフェイクユーザがセットされているためです。
さらにその隣りの "F" はフェイクユーザがセットされていることを表しています。 参照数が 1 になっているのはフェイクユーザが有効になっているためです。
ではここで、一番上のブラシ "Darken" のフェイクユーザを無効にしてみましょう。
上図のように対象のデータブロックの "F" をマウスの左ボタン()でクリックします。
上図のように表示が変化します。 名称の右のアイコンが電源ボタンから×に変化しました。 また、その隣りの参照数が 1 から 0 になりました。 さらにその隣りの "F" は消えています。
参照数が 0 になり、その隣りの "F" は消えたのは、もちろんフェイクユーザが無効になっためです。
×アイコンは、このデータブロックが保存対象ではなくなったことを意味しています。 つまり、保存時に自動クリーニングされるということです。
なお、一番上のブラシ "Darken" はまだ消えていません。 保存時に自動クリーニングされますが、今はまだ存在しています。 存在しているからこそ、Outlinerに表示されています。
最後に、即座にデータブロックを削除する手順について説明します。
上図のように削除したいデータブロックをマウスの右ボタン()でクリックし、表示されるメニューから "Delete" を実行します。
上図のようにデータブロックが即座に削除されます。 一番上のブラシ "Darken" が消えました。
このように、Outlinerでは未使用のデータブロックを確認および即座に削除することができます。
Blenderでは、データは『データブロック』と呼ばれる単位で管理されます。 未使用のデータブロックはファイルには保存されないため、結果として自動的にクリーニングされることになります。 ただし、フェイクユーザをオンにすることで未使用のデータブロックが自動的にクリーニングされることを防ぐことができます。
なお、OutlinerのDisplay ModeをOrphan Dataに切り替えることで、未使用のデータブロックを一覧で確認することができます。 また、未使用のデータブロックを即座に削除することもできます。