はじめに
下記記事から刺激をもらい、重い腰を上げて「そろそろローカルPCで手を動かしながらAIを動かすんや」という気持ちなったので、Hunyuan3D-2をローカルPCで動かしたときの備忘録を記事にしました。
Hunyuan3D-2は下記2つのツール上で動かしました:
ネイティブのpython環境でも試してみましたが、 pinokioと大差はないです。
ブラウザで動かすか、専用のスタンドアローンアプリで動かすかの違いぐらいだと思います。
ローカルPC環境
- Windows 11 Pro
- NVIDIA GeForce RTX 4090
pinokioで動かす
@yanosen_jpさんの記事を参考にpinokioとモデル(Hunyuan3D-2)をインストールします。
しかし、最新(acda958)だとテクスチャ生成回り(hy3dgen\texgen\custom_rasterizer
)でエラーとなりますが、一旦Stopしてまた再開してください。
環境依存な気はします。
pinokioがランチャーアプリ的な立ち位置で 、モデルを一覧で管理できるので便利です。
テクスチャ生成
モデル起動後にWarning: Texture synthesis is disable due to ...
と表示されると
テクスチャ生成ができません。
色々試したんですが、うまくいかなかったです。
試してみたことを記載しておきます。
もし解決できる方法をご存じの方は教えてくださいw
公式にはfor texture
のコマンドの記述があったので試してみました。
pip install -r requirements.txt
pip install -e .
# for texture
cd hy3dgen/texgen/custom_rasterizer
python3 setup.py install
cd ../../..
cd hy3dgen/texgen/differentiable_renderer
python3 setup.py install
pinokio環境だと下記のような感じです。
rem モデルのルートに移動
cd {pinokioルート}\api\{モデル名}\app
rem 仮想環境を有効に
env\Scripts\activate
rem テクスチャ生成モジュールのルートに移動
cd hy3dgen/texgen/custom_rasterizer
rem モジュールをビルド
python setup.py install
しかし、「モジュールをビルド」コマンドで下記のようなコンパイルエラーとなりました。
D:\AI\pinokio\api\Hunyuan3D-2.git\app\hy3dgen\texgen\custom_rasterizer\lib\custom_rasterizer_kernel\grid_neighbor.cpp(397): error C2398: 要素 '1': 'unsigned __int64' から '_Ty' への変換には縮小変換が必要です
with
[
_Ty=int64_t
]
D:\AI\pinokio\api\Hunyuan3D-2.git\app\hy3dgen\texgen\custom_rasterizer\lib\custom_rasterizer_kernel\grid_neighbor.cpp(398): error C2398: 要素 '1': 'unsigned __int64' から '_Ty' への変換には縮小変換が必要です
with
[
_Ty=int64_t
]
...
RuntimeError: Error compiling objects for extension
もっとスマートな解決方法があるとは思いつつ、ChatGPT先生の回答で下記のような感じで修正するとコンパイルエラーが解消します。
同様の記述がいくつかあるので、同じように修正します。
// 修正前
texture_positions[0] = torch::zeros({seq2pos.size() / 3, 3}, float_options);
texture_positions[1] = torch::zeros({seq2pos.size() / 3}, float_options);
// 修正後
texture_positions[0] = torch::zeros({static_cast<int64_t>(seq2pos.size() / 3), 3}, float_options);
texture_positions[1] = torch::zeros({static_cast<int64_t>(seq2pos.size() / 3)}, float_options);
上記でコンパイルエラーは解消しますが、次にリンクエラーとなります。
error LNK2001: 外部シンボル "public: long * __cdecl at::TensorBase::data_ptr<long>(void)const "
こちらもChatGPT先生の回答で、下記のような感じで修正するとリンクエラーが解消します。
// 修正前
long* nptr = grid_neighbors[i].data_ptr<long>();
// 修正後
int64_t* nptr = grid_neighbors[i].data_ptr<int64_t>();
修正後の再ビルド前にpython setup.py clean --all
を実行してクリーンにしておきます。
pythonでのC++ビルド周りの知見が乏しいので、「そうなんだ。。。」という感じです。。。
differentiable_renderer
の方は普通にビルドできました。
cd hy3dgen/texgen/differentiable_renderer
python setup.py install
これでpinokioを起動してみると「Gen Textured Shape」というボタンが見えるようになりました。
だがしかし、Expected reduction dim to be specified ...
というエラーで諦めました。。。
「Gen Shape」ボタンの方は動作します。
pythonの環境でも同様にダメそうでした。
ComfyUI Desktopで動かす
基本は下記記事の手順通りで動かすことが可能です。
ComfyUIビギナー(自分)だと情報量が多くて少し迷ったので、そのメモです。
最初にComfyUI Desktopをインストールします。
関連プラグイン/ファイルのインストール
関連プラグインをインストールする
下記2つのプラグインをComfyUI Manager
のInstall via Git URL
でインストールします。


下記記事のようにsecurity level
をnormal
⇒ weak
に変更する必要があります。
変更は自己責任でお願いします。
変更するファイルはuser\default\ComfyUI-Manager\config.ini
です。
[default]
...
security_level = weak
テクスチャ生成コンポーネントをインストール
ComfyUI Desktopのターミナルから下記コマンドを実行するだけです。
cd .\custom_nodes\comfyui-hunyan3dwrapper\wheels\
pip install .\custom_rasterizer-0.1.0+torch260.cuda126-cp312-cp312-win_amd64.whl
pip install .\custom_rasterizer-0.1-cp312-cp312-win_amd64.whl
.whl
ファイルとは (ChatGPT先生の回答)
.whl
ファイルは、Python における 「wheel(ホイール)」形式のパッケージファイルです。Python のパッケージを効率的に配布・インストールするための ビルド済みバイナリ形式 のひとつです。
BPT (Boundary Preserving Transform)をインストール(任意)
ComfyUI Desktopのターミナルから下記コマンドを実行します。
cd .\custom_nodes\comfyui-hunyan3dwrapper\hy3dgen\shapegen\bpt\
pip install -r .\requirements.txt
コマンド実行後、重みファイルbpt-8-16-500m.ptをダウンロードして、custom_nodes\comfyui-hunyan3dwrapper\hy3dgen\shapegen\bpt
にコピーします。

.pt
ファイルとは (ChatGPT先生の回答)
.pt
ファイルは PyTorch フレームワークで使われる形式で、通常は以下の2つの目的で使われます:
-
モデルの重み(weights):
torch.save(model.state_dict(), 'model.pt')
-
モデル全体(構造と重み):
torch.save(model, 'model.pt')
ComfyUI Desktopのワークフロー(単一視点)を実行
ワークフローファイルを準備
Kijaiさんにご用意してもらっているワークフローファイル(single_view.json
)を2.1 ワークフローファイルからダウンロードして、ComfyUI Desktopにドラッグ&ドロップするだけでワークフローがロードできます。
モデルをインストール
モデルHunyuan3D-2_safetensorsをダウンロードして、models\diffusion_models
にコピーします。
.safetensors
ファイルとは (ChatGPT先生の回答)
.safetensors
ファイルは、機械学習モデルの重み(パラメータ)を安全かつ効率的に保存するためのファイルフォーマットです。特に最近のAI・ディープラーニングの分野で、モデルの共有に使われることが増えています。
ワークフローを実行
Load Image
ノードで画像を選択して、Run
ボタンを押して実行するだけです。
3. Hunyuan3D 2.0マルチビューワークフローも上記と同じ手順で実行できます。