[Blender5.1][Rig][UE5.8] Auto Rig Pro を購入から使用UE5インポートまで

[Blender 5.1][Rig][UE5.8] From purchasing to using Auto Rig Pro and importing into UE5

https://superhivemarket.com/products/auto-rig-pro

Ado To Cartした。

カートに入った CheckOutして

Create Accountした

Confirm My Accountした

もう一回Checkoutしてこの画面きた。PayPal Checkoutした。

Ordersクリックした。

Blender5.1.1にドラッグした

入らないので

8 downloads
auto_rig_pro_3.78.21.zip
proxy_picker_1.1.11.zip
rig_tools_3.78.18.zip
Al_linux_1.20.zip -winにはいらない
Al_macIntel_1.20.zip -winにはいらない
Al_mac_1.20.zip -winにはいらない
Al_win_1.20.zip あとで必要
io_scene_gltf2.zip Blender5.1.1には不要

zipを選択

入った。


Blendr5.1.1に

D:\Download\auto_rig_pro_Set

入れたいけど

AI_win_1.20.zipがMissing Manifestだって。

それはたぶん 入れるzipを間違えているだけ でした。

確認したところ、AI_win_1.20.zip はBlenderアドオン本体ではなく、Auto-Rig ProのAI用データ/実行ファイルでした。なのでBlenderの「Install from Disk」で直接入れると Missing Manifest になります。

つまり入れる順番はこれです。

  1. Blenderで Edit > Preferences > Get Extensions / Add-ons > Install from Disk
  2. まずこれを入れる
    D:\Download\auto_rig_pro_Set\auto_rig_pro_3.78.21.zip

    auto_rig_pro_3.78.21.zip
    proxy_picker_1.1.11.zip – 開発中の機能
    rig_tools_3.78.18.zip ー開発中の機能入れないほうがいい
    Al_win_1.20.zip あとで必要
    io_scene_gltf2.zip Blender5.1.1には不要

Auto-Rig Proの設定内にある Install AI Files… からこれを選ぶ
D:\Download\auto_rig_pro_Set\AI_win_1.20.zip

  1. AI files Installed successfully と言われる。

Auto-Rig Pro公式ドキュメントでも、本体は auto_rig_pro_x.xx.xx.zip をInstall from Disk、AIファイルはAuto-Rig Pro設定内の Install AI Files… から入れる手順になっています: Auto-Rig Pro Installation

補足: Blender 5.1.1なら io_scene_gltf2.zip は入れなくてOKです。公式説明でもBlender 4.2以上はGLTF exporterの追加インストールをスキップするよう書かれています。rig_tools_3.78.18.zip もAuto-Rig Pro本体を入れるなら基本入れない方がいいです。

正常にインストールできると「N」キー押すとARPがでる

素体をインポートして

メッシュ全部選択して

「Auto-Rig Pro:Smart」機能を試してみた

FullBody選択

Guess Markers押す。(10秒ぐらいかかる)

Skelton Setting Presetsから

今回はUE4 Mannequinsを選択した

Guess Fingers 押す。

指にフィットしたようだ。

GO!押す(10秒ぐらいかかる)

できたっぽい。Match To Rig 押す(10秒)

リグができた。

スキニング

Skin押す

Preserved VolumeをOFFでまだBindおさない。

オブジェクトモードにする[Tab]キー

Blender5.1 オブジェクトモード
  1. オブジェクトモードにする[Tab]キー
  2. Shift を押しながらバインドするMeshオブジェクト(複数可)、Armature の(rig)の順に選択する
  3. Bind ボタンを押す

全メッシュではフリーズしたので、Voxelized に切り替え

段階的にBindした

全部Meshの外に行ったので成功がわかった。

スケールが低すぎるため、バインディングが部分的に、または完全に失敗した可能性があります。

スケール修正を有効にして再度バインディングを実行してください。OKした。

ポーズの確認

ポーズモードへの切り替え方法

アーマチュア(ボーン)を選択した状態で、[Ctrl] + [Tab] キーを押すのが最も早いショートカットです。

Blebnder5.1 ポーズモード

屈伸できた

Export

Auto-Rig Pro: ExportのExport FBXでエクスポート

Unreal Engine

Humanoid と

UE4 Legacy をオンにした

書き出し終わったらしい

UE5へインポート

import Texture オン

import Material オン

プロジェクトのUE4マネキンを壊さないようにSkeletonはNoneでインポートした

インポートできたら、skeletonをチェック root、pelvisがあっていればOK

SkeltalMesh > Create > IK Rig

とりあえずはこれくらい設定した

指も設定

IKRig > Create IK Retargeter

①SK_Mannequinも同じようにRoteteOnlyで設定したIK Rigを選ぶ

②Source選択

③Create > Import Animation Seqense

④T_poseを検索してインポートした。

完成

[UE5.3.2] UE5ぷちコンジェットコースター向け Blender の ベジェカーブ(BezierCurve)からUE5のSplineに座標わたせたよ(精度の問題で未完成)まとめ

ベジェカーブ作る前に日本語の場合は英語モードに切り替えなきゃスクリプトエラーになります。

BezierCurveはできるだけ大きく描きます。

BlenderPython

# Blender import
import bpy
import math
import bmesh
import csv

print("start python code....------------------------------------------>>>")

basedir="F:/SandBox/UE5PuchiCon22/Blender_Curve_To_Spline/"
with open(basedir+"/test.csv",'w',newline='') as file:

    writer = csv.writer(file,delimiter = ',') 
    count = 0
    writer.writerow(["","x","y","z",
            "i_x","i_y","i_z",
            "o_x","o_y","o_z"])
    
    print("bpy.data.curves= "+str(bpy.data.curves))
    for obj in bpy.data.curves:
        print("obj.name= "+str(obj.name))
        for object in bpy.data.objects:
            print("object.name= "+object.name)
        ob_curve = bpy.data.objects.get(obj.name)
        print("ob_curve= "+str(ob_curve))
        if(str(ob_curve)=="None"):
            print("ob_curve =is= NoneType")
        else:
            for curve in obj.splines:
                print("curve= "+str(curve))
                
                for bezpoint in curve.bezier_points:
                    print("bezpoint= "+str(bezpoint))
                    if(str(bezpoint)=="NoneType"):
                        print("bezpoint =is= NoneType")
                    else:
                        xyz = ob_curve.matrix_world @ bezpoint.co
                        xyz_left = ob_curve.matrix_world @ bezpoint.handle_left
                        xyz_right = ob_curve.matrix_world @ bezpoint.handle_right
                        count += 1
                        writer.writerow([count, xyz[0], xyz[1], xyz[2],
                        xyz_left[0], xyz_left[1], xyz_left[2],
                        xyz_right[0], xyz_right[1], xyz_right[2]])
            

出力されたCSV

値はかなり大きめじゃないとだめよ

,x,y,z,i_x,i_y,i_z,o_x,o_y,o_z
1,13.595291137695312,230.46768188476562,70.73152160644531,158.9687042236328,225.82052612304688,70.73152160644531,-178.57012939453125,236.6106414794922,70.73152160644531
2,-207.3365020751953,-38.245094299316406,120.08828735351562,-198.0128631591797,17.276376724243164,181.6839141845703,-222.84031677246094,-130.56887817382812,17.66411781311035
3,43.76624298095703,-265.9769287109375,0.0,-181.01539611816406,-265.9769287109375,0.0,258.02471923828125,-265.9769287109375,0.0
4,231.6976318359375,-64.63948059082031,49.9024543762207,191.0831298828125,-174.81529235839844,-94.65201568603516,255.28945922851562,-0.641462504863739,133.87005615234375

CSVにそって構造体作ります。ブループリント>構造体

CSVをUEにドラッグして読みこみ

BP_SplineにSplinrコンポーネント付けて、コンストラクションスクリプトでこれつくります。

なにかは描かれた

こっから先は精度の問題?

できたっていうのかなこれ。

ZIP
Blender_Curve_To_Spline.zip

https://drive.google.com/file/d/1n4y_EoBTJDpaKdJnUNLTfLLxueqsYcGm/view?usp=sharing

UE532_CurveSpline2.zip

https://drive.google.com/file/d/1uk8QwaZbL_PE1HEF8umtN76axFFBJAoC/view?usp=sharing

参考URL

https://blenderartists.org/t/world-location-of-bezier-points/1219282

https://teratail.com/questions/146037

Text Editorでデバッグ時にprintで出力したものがPython Consoleに出てこなくて困っていましたが、勘違いしていました。Python Consoleではなくて、System Consoleの方に出てきます。

メニューバー Window > Toggle System Console で別ウィンドウでコマンドプロンプトがたちあがります。

https://wiz.ooo/cg/2054

https://docs.blender.org/api/current/bpy.ops.mesh.html

https://zenn.dev/hotcocoa/articles/5c5ab06c40862b

https://reflectorange.net/archives/193.html