ラベル Blender の投稿を表示しています。 すべての投稿を表示
ラベル Blender の投稿を表示しています。 すべての投稿を表示

2020年6月20日土曜日

ゲームのグラフィックを FBX ファイルに吸い出す方法 (AssetStudio)

How to rip Unity games to FBX files

AssetStudio というオープンソースソフトウェアを使って Unity で作ったゲームからグラフィックデータを FBX ファイルに出力できたのでその方法をまとめました。

環境

  1. Windows 10
  2. Unity 2019.4
  3. AssetStudioGUI v0.14.38

Unity で吸い出す対象のゲームを作る

構造ががシンプルな「クエリちゃん SD版」を使って吸い出し方法を説明します。
「クエリちゃん SD版」は Asset Store から無料でダウンロードできます。
このアセットのプレファブを追加しただけの Scene を作り、キャラクターを吸い出すことを目標とします。

exe ファイルにビルドします。
今回は sample.exe というファイル名でビルドしました。

AssetStudio をダウンロードする

AssetStudio は Unity でビルドしたファイルからFBXのほか、アニメーション・オーディオ・画像などを出力できるツールです。
公式サイトの Download the latest build version from here をクリックしてzipファイルをダウンロードします。
https://github.com/Perfare/AssetStudio/releases
zipファイルを展開し、AssetStudioGUI.exe のプロパティを開いてセキュリティの 許可する をクリックします。

これで AssetStudioGUI.exe が起動できるようになります。

正常に起動しない場合は .NET Framework 4.7.2 と Microsoft Visual C++ 2017 Redistributable もインストールしてください。

AssetStudio で吸い出す

AssetStudio のメニュー
Flie -> Load folder
でUnity をビルドしたフォルダーを指定します。
AssetStudio の左の階層に level0 というツリーで Scene が表示されます。
今回はこの中の Query-chan-SD のみを指定しました。


メニューの
Model -> Export selected object をクリックます。

エクスポート先のフォルダーを指定すると FBX ファイルとテクスチャ画像が出力されました。

Blender にインポートする方法

FBX ファイルが正常に再現されているか確かめるため、3次元CG編集ソフトの Blender 2.83 を使いました。
メニューの
File -> Import -> FBX
から出力したファイルをインポートします。
ボーンも確かめるので Automatic Bone Orientation にチェックを入れておきました。

AssetStudio で出力した FBX は Unity Assets Bundle Extractor で出力したメッシュに比べると100分の1の大きさになるので Transform の X Y Z とも100倍にします。

Viewpoint Shading を Material Preview にするとテクスチャが正常に表示されました。

Pose mode でボーンを動かすとポーズも正常に動作します。

AssetStudio から出力した 再現性の高いFBX ファイルを出力できることがわかりました。
ただし、どんなことが正常に再現できないか不明な点もあります。
大事なアセットはバックアップしておくことをおすすめします。

市販のゲームも吸い出しできる

プライエタリーなゲームでも Unity 製なら AssetStudio で吸い出しできることがあります。
二次利用不可のアセットを使って Unity でビルドしたゲームを公開する場合は、エンドユーザーライセンス契約でリバースエンジニアリングや逆アセンブルの禁止などで保護することをおすすめします。

関連ブログ

ゲームのグラフィックや音声を吸い出す方法 (Unity Assets Bundle Extractor)

2018年2月10日土曜日

[Blender] レンダリングの背景を変更する方法

How to change the render background

3次元CG編集ソフト Blender はデフォルトではレンダリングの背景色はグレーです。
この背景色を変更したり画像に差し替えたりする方法を調べてまとめました。
blog.fujiu.jp [Blender] レンダリングの背景を変更する方法


環境

  • Windows 10
  • Blender 2.78


色を変更する場合

Properties エリアの World をクリックし、Horizon Color をクリックするとカラーピッカーで背景色を変更できます。



背景に画像を指定する場合

背景に画像を指定するには、以下の手順でコンポジットノードを追加し Render の設定を変更します。

コンポジットノードの追加は次の通りです。
どのエディターでもいいので Node Editor に切り替えます。

ノードツリータイプを Compositing に設定し、Use Node を選択します。

Alpha Orver と Image のノードを追加し、下の図のように接続します。

Image ノードの Open をクリックして背景に表示したい画像ファイルを選択します。

以上がコンポジットノードの追加です。

Render の設定変更は次の通りです。
Properties ウィンドウの
Render - Shading - Alpha
を Transparent に変更します。
この設定でレンダリングすると Image ノードで設定した画像が背景に表示されます。


参考にしたコンテンツ

3d view - Background image is not displaying in rendered mode - Blender Stack Exchange
https://blender.stackexchange.com/questions/28772/background-image-is-not-displaying-in-rendered-mode


関連ブログ

BlenderのモデルデータをMMDに変換する方法
ゲームのグラフィックや音声を吸い出す方法 (Unity Assets Bundle Extractor)
[Blender] ManuelbastioniLAB でCLIP STUDIO用キャラクターを作る方法
[Blender] マテリアルのテクスチャ画像をまとめてUVに割り当てるスクリプト

2018年1月7日日曜日

ゲームのグラフィックや音声を吸い出す方法 (Unity Assets Bundle Extractor)

How to rip Unity games to graphics and audio clips

Unity Assets Bundle Extractor というツールを使って Unity3D (以下 Unity) 製ゲームのグラフィックや音声を吸い出して
ファイルに復元する方法を試してみました。

※ FBX ファイルに復元したい場合は ゲームのグラフィックを FBX ファイルに吸い出す方法 (AssetStudio) をご覧ください。


環境

  • Windows 10
  • Unity 5.6.5
  • Unity Assets Bundle Extractor 2.1
このブログを書いている時点の Unity の最新バージョンは 2017.3.0 ですが、Unity Assets Bundle Extractor 2.1 では最新の Unity でビルドしたゲームの吸い出しが出来なかったため Unity をバージョンダウンして検証しました。


吸い出す対象のゲームを作る

メッシュオブジェクトがシンプルな「クエリちゃん SD版」を使って吸い出し方法を説明します。
「クエリちゃん SD版」は Asset Store から無料でダウンロード出来ます。
blog.fujiu.jp ゲームのグラフィックや音声を吸い出す方法

このアセットのプレファブを追加しただけの Scene を作り、キャラクターを吸い出すことを目標とします。

exe ファイルにビルドします。
今回は uabe_sample.exe というファイル名でビルドしました。


Unity Assets Bundle Extractor をダウンロードする

Unity Assets Bundle Extractor (以下、UABE) は Unity でビルドしたファイルからグラフィックや音声を吸い出すツールです。
機能はシンプルですが無料で公式サイトからダウンロードできます。
https://7daystodie.com/forums/showthread.php?22675-Unity-Assets-Bundle-Extractor

ダウンロードした zip ファイルを展開して AssetBundleExtractor.exe をダブルクリックすると起動します。


UABE で吸い出す

exe ファイルをビルドした場所に ○○_Data というフォルダーがあります。
uabe_sample.exe をというファイルにビルドしたらフォルダー名は uabe_sample_Data です。
UABE のメニュー
File - Open
でそのフォルダーの中の sharedassets0.assets というファイルを開きます。
ビルドした Unity が新しすぎると下のような画面が表示されるので選択肢のうち最も新しいバージョンを選択します。

UABE の 解析が正常に出来ると Assets info という画面が表示されます。

Type が Texture2D なら画像、Mesh ならメッシュオブジェクト、AudioClip なら音声です。
Mesh を吸い出すなら メッシュオブジェクトを選択して 右の Plugins をクリックして Export to obj を選んで OK をクリックします。
画像を吸い出すなら Texture2D オブジェクトを選択して Plugins をクリックして Export to .tga または Export to .pngを選んで OK をクリックします。
音声を吸い出すなら AudioClip オブジェクトを選択して Plugins をクリックして Export sound を選んで OK をクリックします。

下は Body のメッシュオブジェクトを吸い出してペイント3Dで開いた結果です。
胴体が吸い出せました。

Texture2D と Mesh を全部吸い出して Blender で復元してみました。
UV座標が保持されているのでテクスチャが正確に再現出来ました。


市販のゲームも吸い出し出来る

プライエタリーなゲームでもUnity製なら吸い出し出来ることがあります。
ただしほとんどのゲームは著作権やエンドユーザーライセンス契約などで保護されています。


AUBE の限界

AUBE で吸い出したメッシュオブジェクトはリギングが失われ親子関係も保たれません。
ほかのゲームに使い回すのは難しいと思います。
大事なアセットはバックアップすることをおすすめします。

関連ブログ

Unity3D のC#スクリプトを Visual Studio Code で編集する方法
Live2D を Unity3D で動作させる方法
[Unity3D] ユニティちゃんたちのアニメーションを分離するスクリプト


2017年5月6日土曜日

[Blender] ManuelbastioniLAB でCLIP STUDIO用キャラクターを作る方法

How to create 3D charactors for CLIP STUDIO with ManuelbastioniLAB

ManuelbastioniLAB は3次元CG編集ソフト Blender のアドオンです。
プリセットのモデルデータにパラメーターを指定するだけで簡単に人物のCGが作成できます。
ManuelbastioniLABを使ってイラスト作成ソフト・CLIP STUDIO用キャラクターを作る方法をまとめました。
blog.fujiu.jp [Blender] ManuelbastioniLAB でCLIP STUDIO用キャラクターを作る方法


環境

  • Windows 10
  • Blender 2.78c
  • ManuelbastioniLAB 1.5.0
    ManuelbastioniLAB 1.5.0 はバージョン2.78以上のBlenderが必要です。
  • CLIP STUDIO MODELER 1.6.3
  • CLIP STUDIO PAOIN PRO 1.6.4


モデルデータのライセンス

ManuelbastioniLABで作成したキャラクターのライセンスは GNU AGPLv3 か CC-BY 4.0 の二重ライセンスです。
AGPL 3 によりソースを公開する義務が発生する場合があります。
自作したキャラクターはCC-BY 4.0 により CLIP STUDIO ASSETS で公開できません。
翻訳や解釈が間違ってすいません。


ManuelbastioniLAB をインストールする

公式サイトで公開されているzip形式ファイルのManuelBastioniLABをダウンロードします。
http://www.manuelbastioni.com/download.php

Blenderを起動しメニューの
File - User Preferences
を開き Add-onsタブの Install from filesボタンからダウンロードしたzipファイルを選択するとインストールできます。

Charactors: ManuelbastioniLAB にチェックを入れ、Save User Settings をクリックしてインストール完了です。

3D View 左側の Tool Shelf にManuelbastioniLABタブが追加されます。


キャラクターを作りポーズを設定する

ManuelbastioniLABタブを開いてSelectメニューから適当なプリセットを選び、Init Characterボタンをクリックするとキャラクターができます。
初期状態では局部は MBlab_generic というマテリアルで黒くマスキングされています。

微調整もできますが今回は初期値のまま進めます。

Pose and animation ボタンをクリックし Reset pose and animation をクリックしてポーズを初期化します。


マテリアルを変更しテクスチャを割り当てる

ManuelbastioniLAB のモデルはマテリアルにシェーダーノードを使用していますが、この後エクスポートするFBXファイルにテクスチャ情報を持たせるためにシェーダーノードを使わないマテリアルに変更することをおすすめします。
操作方法は以下の通りです。

レンダリングに使用するエンジンを Blender Render に設定する。

Properties ビューのMaterialのタブ画面ですべてのマテリアルのシェーダーノードをオフにする。

Properties ビューのTextureのタブ画面でマテリアルごとにテクスチャをリンクする。
局部用マテリアル MBlab_generic以外にテクスチャをリンク下のが下の画像です。


FBXファイルをエクスポートする

Blenderのメニューの File - Export からFBXファイルにエクスポートします。


FBXファイルを CLIP STIDO MODLER にインポートする

CLIP STUDIO MODELER を公式サイトからダウンロードしてインストールし起動します。
有償製品ですが今回の内容は購入しなくても体験版でできます。
https://www.clip-studio.com/clip_site/download/clipstudiomodeler/clipstudiomodeler_top

起動したらキャラクター構成ウィンドウのボディの「ファイルから追加」でfbxファイルを追加します。

画面右下の骨のボタンをクリックして標準ボーンのマッピングを行います。

ガイドモデルの腕が自作キャラクターと同じ角度になるように調整して次へ。

ボーンを頭・右腕・左腕・右脚・左脚の順にクリックして次へ。
※ twistボーンをクリックしないように要注意です。

5種類のポーズアイコンをクリックして、全てガイドモデルと同じポーズになれば完了をクリックします。

今回はCLIP STUDIOのプリセットのヘアを追加してみました。

キャラクター情報にアイコンと名前を設定したらメニューの ファイル - 新規素材として登録 でCLIP STUDIOで使えるようになります。

CLIP STUDIO PAINでポーズを割り当てた結果です。

何種類かの体格のキャラクターを用意すればデッサン人形として使えそうです。
CLIP STUDIO EXならLT変換すればそのまま絵にできそうです。


おすすめの追加編集

今回は省きましたが、FBXファイルにエクスポートする前に次の内容を編集しておくとCLIP STUDIOでの互換性がより高まります。
  • rootボーンを削除する
  • 腕・肘・太もものtwistボーンを削除する
  • 手の指の向きを平行に調整する
  • 脚の角度を平行に調整する
ボーンを削除する前にメッシュグループのウェイトを親ボーンのメッシュグループに加算することをおすすめします。
詳しくは [Blender] ボーンを削除したらメッシュが動かないときの直し方


関連ブログ

MakeHumanでCLIP STUDIO用3Dキャラクターを作る方法
[Blender] CLIP STUDIOにUnity3DやMMDのキャラクターを移植する方法
BlenderのモデルデータをMMDに変換する方法
[Blender] ボーンを削除したらメッシュが動かないときの直し方
[Blender] Pythonスクリプトで頂点グループをまとめて選択する方法