Table of Contents
1. 準備するもの
- もちふぃった
- blender (native)
2. setup
- もちふぃったの.unitypackageをインポート
- BlenderへのPathを通す
# Blender用のディレクトリを作る (例)cd ~/ALCOM/Projects/Project/mkdir -p BlenderTools/blender-4.0.2-windows-x64cd BlenderTools/blender-4.0.2-windows-x64
# exeファイルを起動する代わりにblenderを起動 (例)echo "#\!/usr/bin/bash\n~/.steam/steam/steamapps/common/Blender/blender \"{@//\\\\\\//}\"" > blender.exechmod 744 blender.exe丁寧に教えてくださり、ありがとうございます(.alcomtemplateの件も感謝です)
- パッケージのインストール
- scipy
- robust-weight-transfer
# ディレクトリへ移動 (例)cd ~/.steam/steam/steamapps/common/Blender/5.0/python/bin/
# scipyのインストール./python3.11 -m pip install -U pip./pip3 install scipy
# robust-weight-transferのダウンロードcd ~/Downloads/curl -OL https://github.com/sentfromspacevr/robust-weight-transfer/releases/download/v1.1.6/robust-weight-transfer-v1.1.6.zipSteamからBlenderを起動し、ポップアップを適当に回避 その後、Edit > Preference > Addonを開く 右上の下矢印から Install from Disk を押し、先ほどダウンロードした.zip形式のフォルダからインストール
https://github.com/sentfromspacevr/robust-weight-transfer/releases https://signyamo.blog/b4-5r_robust-wt/
3. トラブルシューティング
✗ ペア1 処理失敗
もちふぃった〜をアップデート等すると解決 r26で発生を確認
Appendix. A ”{@//\//}“って何?
テストコード
❯ cat test.sh#!/usr/bin/bashfor loop in ${@//\\//}; do echo $loopdone
❯ ./test.sh "test" "/usr/bin /home/camellian" "C:\\ProgramData"test/usr/bin/home/camellianC:/ProgramData- ”$@“は”$*“とおおよそ同義
- 今回の用途ではコマンドライン変数を引き継ぐため利用
- ”$@“では1つの要素として連結されている部分を展開
ちゃっぴーとのお話
✅ 結論:${@//\\//} は Bash の「パラメータ展開置換構文」
Bash には次の構文があります:${variable/pattern/replacement}
その派生形で:${variable//pattern/replacement}は **“pattern の全一致を replacement に置換する”** という意味です。
ここで、${@//\\//} は次のように解釈されます:
$@ **全置換の区切り文字//** pattern=**\\** **区切り文字/** replacement=**/**
"//\\//" には **3つのスラッシュ区切りがある**ように見えるけど、実際は **pattern と replacement を / で区切っているだけ**です。