はじめに
今回は、Blender4.0で.blendファイルに画像などのデータを埋め込む方法を紹介します。
結論
ファイル → 外部データ → 「リソースをパック」で解決します。
リンクファイルもコレで行けます。
ただ、この方法は素材分の容量が増えたり、後でテクスチャなどの素材を差し替えたい時に不便です。
「パック解除」差し替えできますが… これやるなら消して画像を入れ直した方が早い。
そこで、もう1つのおすすめな埋め込み方法を紹介。
それは、事前に埋め込みたいファイルとBlenderデータをフォルダにまとめる方法です。
「画像」と「Blenderファイル」をフォルダにまとめてからBlenderで設定。
このフォルダごと移動するというやり方でも、埋め込み情報を残せます。
(ただ、ネットに上げたり.zip圧縮などを使うと、リンクが消える可能性があるので注意)
ver3.1の頃は消えたりしましたが…
4.0で軽く試したところ大丈夫でした。
この方法を使うと、素材分の容量が増えず、後で素材の差し替えや更新も楽です。
ただ、完全な埋め込みはしてないので崩れる可能性があり。
個人的に、どの方法が正解かというのは…
データの用途によると思います。
・リソースをパック → 絶対安全だが、編集に弱く容量が増える
=作例などの配布向け
・フォルダにまとめる → やや不安定だが、編集に強く容量が増えない
=VRChatで使う3Dモデル配布向け
ここからは、埋め込み関係の実験とその挙動を紹介していきます。
下準備のモデルとテクスチャを用意
Shift+A → メッシュ → 「平面」を作成。
Shadeingを開き、平面に画像を割当てます。
画面下部にある「+新規」をクリック。
画像をドラッグ&ドロップで読み込み。
カラーとベースカラーを接続。
これで、下準備のモデルとテクスチャを用意が完了です。
埋め込みを使わないとリンク切れが起こる
そしたら、実験であえて何もせずこのままで保存。
そして、USBに “.blend”ファイルだけを入れて保存。
別のPCに移動して開きます。
すると… 画像ファイルが無いのでリンク切れになります。
そして、ピンク色の表示になります。
以上が、埋め込みを使わないとリンク切れが起こる事の紹介です。
素材を埋め込む方法
素材はファイル → 外部データ → リソースをパックで埋めます。
「リソースの自動パック」を有効化すると…
書き出し前に1回1回リソースをパックを押す必要が無くなります。
そしたら、リソースをパックした「.blendファイル」をUSBに入れて移動。
※画像が入ってない点に注目
別環境で開くと… .blendファイルに画像データが埋め込まれたのでリンク切れを起こしません。
マテリアルを見ると、このような表示になります。
そして、画像のファイルマークが「パック解除」ボタンに切り替わります。
これは… だいたい一番上のモノを選べば上手く行きます。
※ダメなら消して画像を再読み込みした方が早いです。
このような、更新や後からの編集に弱いのがこの方法の弱点です。
埋め込むと.blenderファイルの容量が増えるので注意
リンクをパックでは、画像分の容量が増えます。
なので、大容量の画像データを使った場合は.blendのデータがかなり大きくなるので注意。
事前にファイルを作ってまとめるのもアリ
もう1つの埋め込み(?)方法がフォルダを作り、先に画像と.blendファイルを入れる。
そして、フォルダに入れた後で.blendファイルを開き、画像を設定する方法。
これを使って制作したデータを “フォルダごと” USBメモリーに入れます。
※リソースをパックは使ってません
すると、フォルダ内のリンク情報と素材が残ってるので画像が読み込まれます。
これは、パック解除ボタンにならないので編集も楽です。
できるならこの方法がおすすめ。
ただ、本当の意味での “埋め込み” では無いので、リンク切れが発生する可能性があります。
ただ昔のBlender(3.2ぐらいの頃)はこの方法 → WEBにアップ → 別環境で.zipを展開で埋め込み消えた事があるので… 一番、確実なのはリソースのパック化。
個人的に、何が正解かというのは… データの用途によると思います。
【VRChat向けモデルの場合】
ユーザーが改変する事を前提のVRChat向けモデルであれば、埋め込んでテクスチャを操作しても変わらない! という、引っ掛かりポイントなりそうなのでフォルダに入れるだけがおすすめ。
【教材の付録データなどの場合】
ユーザーが改変する事を前提にしなければ、リソースをパックが一番安全。
ただ、ユーザーが使う際にちょっとした引っ掛かりポイントになる可能性あり。
以上が素材を埋め込む方法です。
リンクしたデータの埋め込み
Blenderには、他のプロジェクトファイルから “リンク” で読み込む機能があります。
使い方などはこちらをご覧ください。
このリンク機能で読み込んだ素材についても解説していきます。
リンク埋め込みの結論
リンク素材はリンク元の素材で「リソースをパック」していれば、何もしなくても問題は起きません。
リンク埋め込みの動作確認
ファイル → 外部データ → 「リンクライブラリをパック」は「リンク…」で読み込んだデータを埋め込む方法です。
そして、実験用にリンクで下記の2つのデータを読み込みました。
・リンク元でリソースのパックあり
・リンク元でリソースのパックなり
ちなみに、アウトライナーは「Blenderファイル」の表示を使ってます。
このデータを「リンクライブラリをパックして」USBに入れて移動。
別環境で開くと下図のようになりました。
※画像はUSBには入れてません
・リンク元でリソースのパックあり
→ 画像まで生き残る
・リンク元でリソースのパックなり
→ 画像が消える
次は… 「リンクライブラリをパック “せず”」USBに入れて移動。
すると、直感には反しますが…
リンク元でリソースのパックをしたモノはリンクライブラリーをパックしなくても残ります。
十字エンプティーが生成されて、データ的にちょっと汚いですが…
結論は「リンク元でリソースをパック」すればすべて解決。
リソース/リンクのパック無しのモノはアウトライナーで壊れてる事が確認できます。
ちょっと不思議な挙動、ver4.0 → ver4.1に移動してたからコレが起こったのかな…?
と思いver4.1 → ver4.1も試しましたが、同じでした。
以上が、リンクしたデータの埋め込みの解説です。
おまけ:盾マークはデータ保護で埋め込みではない
紛らわしいモノに盾マークがあります。
こちらは埋め込みではなく「データ保護」です。
これを説明するために…
まず、盾マークの機能について解説します。
盾マークが無いと使ってないデータは消える
マテリアルで画像の所を選択 → Xキーで削除。
アウトライナーを確認。
すると… 画像の内部データが残ってる事が確認できます。
※アウトライナーは「Blenderファイル」の表示を使ってます。
この表示で「画像」を確認できます。
そしたら、画面上部で「Texture Paint」に移動。
+新規の左側のボタンを選択。
すると、残った内部データに「0」の表示が出ます。
この「0」表示は使ってないデータという意味です。
そして「0」が出てる物は保存 → 閉じる → 再起動で消えます。
試しに、保存 → 閉じる → 再起動しました。
すると、完全にデータが消えます。
以上が、盾マークが無いと使ってないデータは消えるの解説です。
盾マークの効果
画像を再度読み込み。
次は盾マークを有効化。
そして、同様に画像の所を選択 → Xキーで削除。
Texture paintに移動し、画像を確認。
すると、今度は「0」代わりに「F」が表示されます。
この「F」は盾マークを有効化したので付きました。
この「F」表示があるモノは、内部データが保護されます。
なので、使って無くても保存 → 閉じる → 再起動でデータが消えません。
試しに、保存 → 閉じる → 再起動しました。
すると、画像が残ってます。
※ただし埋め込みではないので注意
この盾マークを有効化し「F」表示したBlenderデータをUSBに入れて別環境に移動。
そして、開くとTexture Paintにサムネイルは残ります。
これで大丈夫そうと思いますが…
Shadingで画像読み込みノードを組み直すとリンクが切れてる事が分かります。
=画像は埋め込まれてない
以上が、盾マークの解説です。
まとめ
今回は、Blender4.0でBlenderファイルにデータを埋め込む方法を紹介しました。
・ファイル → 外部データ → 「リソースをパック」で埋め込める
・編集に強い方法は、フォルダに素材とBlenderファイルを入れてから設定する方法
・リンクもリンク元でリソースをパックで読み込める
・盾マークはデータ保護で埋め込みとは違うので注意
また、他にもBlenderについて解説してます。
ぜひ、こちらもご覧ください。
コメント