VRM のテクスチャを画像ファイルとして切り出す

VRM ファイルは、その中にテクスチャが埋め込まれている。この状態では、ペイントソフト等でテクスチャを編集できないため、切り出して画像ファイルとして保存したい。

手順①

  • Blender に VRM-Addon-for-Blender をインストールする
    ※ インストール済みの場合は不要である
  • Blender にて VRM をインポートする
  • Workspace を Texture Paint にする
  • 切り出したい画像を選択する
  • Image をクリックする
  • Save As をクリックする

テクスチャが1枚だけであればこの手順で良いが、何枚もある場合は面倒なので、以下のコードおよび手順を参照すると良い。

コード

import bpy

for img in bpy.data.images:
    if img.name != 'Render Result':
        path = 'C:\\TEMP\\' + img.name + '.png'
        bpy.data.images[img.name].save_render(filepath=path)

手順②

  • Workspace を Scripting にする
  • 新しいテキストに上記のコードをコピペする
  • path(5行目)を適宜変更する
    ※ 変更しない場合、C:\TEMP に画像が出力される
  • スクリプトを実行する

所感

  • VRM は、glTF をベースにしているため、JSON 部分をパースして、テクスチャに該当するバイナリデータを取得すれば良い。しかし、コードを書くのが面倒なので、簡単な方法を選んだ。
  • コードがとても短いので、記事にするまでもなかったように思われる。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です