الأدلةشرح عملي8 دقيقة للقراءة
جهّز شخصية للتحريك تلقائيًا في Unreal Engine 5: من static mesh إلى skeletal mesh متحرك
انقر بزر الفأرة الأيمن على شبكة، واختر Rig with AFK AI، وبعد دقيقة يكون في المجلد نفسه skeletal mesh مع هيكله العظمي والـphysics asset وحركاته.
Hero · Static Mesh
AFK AI
Rig with AFK AI
Edit… · Duplicate · Rename …
- HeroStatic Mesh
- Hero_riggedSkeletal Mesh
- Hero_rigged_SkeletonSkeleton
- Hero_rigged_PhysicsAssetPhysics Asset
- …_Idle_AAnimation Sequence
- …_WalkAnimation Sequence
- …_JogAnimation Sequence
- …
يستطيع Unreal Engine تحريك الشخصية ببراعة، لكنه لا يجهّزها لك. فالـstatic mesh القادم من تطبيق نحت أو من حزمة في متجر لا يملك هيكلًا عظميًا ولا أوزان تأثير العظام، لذا يمرّ الطريق المعتاد بالتفاف: تصدّره، وتجهّزه في Blender أو Mixamo، وتعيد استيراده بوصفه skeletal mesh، ثم تبحث عن حركات تناسبه.
أما إضافة AFK AI فتختصر هذا الالتفاف. انقر بزر الفأرة الأيمن على الشبكة في Content Browser واختر Rig with AFK AI. وبعد دقيقة تقريبًا يكون في المجلد نفسه skeletal mesh اسمه Hero_rigged مع هيكله العظمي والـphysics asset الخاص به وحركاته، جاهزًا لـ Animation Blueprint. ولا يوجد C++ يحتاج إلى تصريف، لذا تعمل في المشاريع المبنية على Blueprint وحده أيضًا.
ما تحتاج إليه
- Unreal Engine
- الإصدار 5.1 أو أحدث، على Windows أو Mac أو Linux. والمشاريع المبنية على Blueprint وحده لا مشكلة فيها.
- شبكتك
- Static mesh أو skeletal mesh مستورد من ملف
.fbxأو.glbأو.gltf، حتى 50 MB. ويحصل AFK AI على ذلك الملف الأصلي. - حساب على afk.ai
- مجاني، عبر Google. وكل عملية إعداد rig تُخصم من حصة حسابك الشهرية، كما على afk.ai/rig.
- الإنترنت
- يجري إعداد الـrig على خوادم afk.ai.
ثبّت الإضافة
- نزّل الإضافة من صفحة إضافة Unreal Engine وفكّ ضغطها. ستحصل على مجلد اسمه
AFKAI. - ضعه في مجلد
Pluginsفي مشروعك، بجوار ملف.uproject:MyGame/Plugins/AFKAI/AFKAI.uplugin. وأنشئ مجلدPluginsإن لم يكن موجودًا. - افتح المشروع، أو أعد تشغيله. تفعّل الإضافة إضافتين تأتيان مع Unreal، هما Python Editor Script Plugin و Editor Scripting Utilities. وإذا طلب Unreal إعادة التشغيل، فوافق.
تظهر قائمة AFK AI في شريط قوائم المحرّر. ولتكون متاحة في كل مشروع بدلًا من ذلك، ضع المجلد في Engine/Plugins/Marketplace/AFKAI داخل مجلد تثبيت Unreal، ثم فعّلها في كل مشروع من Edit > Plugins.
سجّل الدخول وجهّز الـrig
- اختر AFK AI > Sign in.... سيفتح متصفحك afk.ai؛ سجّل الدخول باستخدام Google، ثم عُد إلى Unreal. تعرض قائمة AFK AI الآن بريدك الإلكتروني وعدد عمليات إعداد الـrig المتبقية لك هذا الشهر.
- في Content Browser، انقر بزر الفأرة الأيمن على الشبكة واختر Rig with AFK AI. (أو حدّدها واختر AFK AI > Rig the selected mesh....)
- تسألك نافذة صغيرة عن Body type (Human، أو نوع الحيوان أو المخلوق)، و Animations (All animations، أو Rig only للهيكل العظمي وحده)، و Facing (اتركه على Auto). ويذكر عنوانها أن العملية ستُخصم من حصتك. انقر OK.
- واصل عملك. تعرض قائمة AFK AI مراحل التقدّم، وكذلك Output Log، في الأسطر التي تبدأ بـ «AFK AI».
إذا تعذّر على المتصفح العودة إلى Unreal (بسبب جدار حماية، أو لأن Unreal على حاسوب آخر)، تعرض صفحة afk.ai رمز تسجيل دخول. اختر AFK AI > I have a sign-in code...، والصق الرمز، وانقر OK.
ما تحصل عليه
- Skeletal Mesh:
Hero_rigged، في مجلد الأصلي نفسه، ومحدّد لك. ولا تُمسّ الشبكة الأصلية. - Skeleton: مصمّم لنوع الجسم. يحصل الإنسان على 66 عظمة مع ثلاثة مفاصل في كل إصبع، بأسماء مأخوذة من عظام mannequin في Unreal نفسه: pelvis و spine_01 و clavicle_l و upperarm_l و thigh_l وغيرها.
- Physics Asset: يُنشأ عند الاستيراد، للـragdoll والتصادم.
- الحركات: Animation Sequence لكل حركة. وللنموذج الشبيه بالبشر، ما يصل إلى 593 حركة: وقوف، ومشي، وهرولة، وعدو، وقفز، وتفادٍ، وحركات بالسيف والدرع والقوس والمسدس، ورقص، وتلقّي ضربات، وسقوط. يحصل الحساب المجاني على الحركات المجانية، وتضيف الباقة البقية.
- ملف FBX:
Hero_rigged.fbx، محفوظ بجوار الملف المصدر الأصلي، أو في مجلدSaved/AFK AIفي مشروعك إن تعذّرت الكتابة هناك. وإذا أعدت إعداد الـrig فستحصل علىHero_rigged_2: لا يُستبدل أي شيء.
وكما في أي استيراد، لا تُحفظ الأصول الجديدة على القرص حتى تحفظها: File > Save All.

root └ pelvis └ spine_01 └ spine_02 └ spine_03 └ neck_01 └ head └ clavicle_l └ upperarm_l └ lowerarm_l └ hand_l └ thumb_01_l thumb_02_l thumb_03_l └ index_01_l index_02_l index_03_l └ middle_01_l middle_02_l middle_03_l └ ring_01_l ring_02_l ring_03_l └ pinky_01_l pinky_02_l pinky_03_l └ clavicle_r ... (وبالمثل على اليمين) └ thigh_l └ calf_l └ foot_l └ ball_l └ thigh_r ... (وبالمثل على اليمين)شاهده يتحرك، دون كود
اسحب Hero_rigged إلى المستوى (level). وفي لوحة Details الخاصة به، تحت Animation، اضبط Animation Mode على Use Animation Asset، واختر حركة في Anim to Play (Walk مثلًا)، وأبقِ Looping مفعّلًا. اضغط Play، أو شاهده ببساطة في نافذة العرض.
ولتفقّد كل الحركات بسرعة، انقر نقرًا مزدوجًا على أي Animation Sequence: يُفتح محرّر الحركة ويشغّلها على الشخصية.
Animation Blueprint لشخصية اللاعب
الإعداد الكلاسيكي: وقوف عند الثبات، ثم مشي، ثم هرولة كلما زادت سرعة الشخصية.
- انقر بزر الفأرة الأيمن على
Hero_riggedواختر Create > Anim Blueprint. وسمّهABP_Hero. - في Event Graph الخاص به، أضف متغيرًا من نوع float اسمه
Speed. ومن Event Blueprint Update Animation، استدعِ Try Get Pawn Owner، وتحقّق منه بـ Is Valid، ثم Get Velocity، ثم Vector Length XY، واضبطSpeedعلى الناتج. - في AnimGraph، انقر بزر الفأرة الأيمن واختر Add New State Machine، وسمّها
Locomotion، وصِلها بـ Output Pose. - داخلها، أنشئ ثلاث حالات، Idle و Walk و Jog، واسحب حركات Idle_A و Walk و Jog من Asset Browser إلى كل منها، موصولة بـ Output Animation Pose الخاص بها.
- ارسم انتقالات في الاتجاهين بينها، بقواعد على
Speedبالسنتيمتر في الثانية: من Idle إلى Walk عندما Speed > 10، ومن Walk إلى Jog عندما Speed > 300، والعودة في الاتجاه المعاكس حين تنخفض عن ذلك. - في Character Blueprint الخاص بك، حدّد مكوّن Mesh، واضبط Skeletal Mesh Asset على
Hero_riggedو Anim Class علىABP_Hero. أنزله إلى أسفل الكبسولة وأدره ليواجه السهم الأزرق، كما هو الـmannequin في القالب.
تفضّل البدء من C++؟ الفكرة نفسها في أبسط صورها: شغّل حركة واحدة متكررة عند بدء اللعبة.
// HeroCharacter.h
UPROPERTY(EditAnywhere, Category = "Animation")
TObjectPtr<UAnimSequence> IdleAnimation;
// HeroCharacter.cpp
#include "Animation/AnimSequence.h"
void AHeroCharacter::BeginPlay()
{
Super::BeginPlay();
if (IdleAnimation)
{
GetMesh()->PlayAnimation(IdleAnimation, /*bLooping=*/ true);
}
}Root motion، مع قليل من Python
بعض الحركات تدفع الشخصية إلى الأمام بنفسها: تنتهي أسماؤها بـ _RM، مثل Roll_RM أو Dodge_left_RM أو Sword_Dash_RM. أما البقية فتُشغَّل في مكانها. يحتاج Unreal إلى تفعيل root motion لكل حركة على حدة، ولأن الإضافة فعّلت Python في Unreal مسبقًا، فبضعة أسطر تفعّله لها كلها دفعة واحدة. الصق هذا في سطر الأوامر في Output Log، بعد تبديله من Cmd إلى Python:
import unreal
folder = "/Game/Characters" # the folder Hero_rigged is in
for path in unreal.EditorAssetLibrary.list_assets(folder, recursive=False):
anim = unreal.EditorAssetLibrary.load_asset(path)
if isinstance(anim, unreal.AnimSequence) and anim.get_name().endswith("_RM"):
anim.set_editor_property("enable_root_motion", True)
unreal.EditorAssetLibrary.save_loaded_asset(anim)
unreal.log("Root motion on: " + anim.get_name())ثم، في Class Defaults الخاصة بـ ABP_Hero، اضبط Root Motion Mode على Root Motion from Everything إن كنت تشغّلها في آلة الحالات، أو شغّلها بوصفها montages.
نقل الحركات من mannequin في UE5 وإليه
عظام الهيكل مسمّاة على غرار عظام الـmannequin، لذا يطابقها الـretargeter في Unreal بقليل من المساعدة أو دونها. ويعمل ذلك في الاتجاهين: حركات قالب Third Person على شخصيتك، أو حركات afk.ai على Manny و Quinn.
في Unreal 5.4 أو أحدث:
- انقر بزر الفأرة الأيمن على حركة، واحدة من حركات القالب مثلًا، واختر Retarget Animations (أو Retarget Animation Assets في أحدث الإصدارات).
- اضبط Target Preview Mesh على
Hero_rigged. والمصدر هو الشبكة التي جاءت معها الحركة. - اترك Auto Generate Retargeter مفعّلًا: فـ Unreal ينشئ الـIK Rigs والـIK Retargeter بنفسه.
- حدّد الحركات التي تريدها، وانقر Export Animations، واختر مجلدًا، ثم انقر Export.
بدّل المصدر والهدف لتنقل حركات Hero_rigged إلى الـmannequin. وفي الإصدارات من 5.1 إلى 5.3، أنشئ IK Rig لكل هيكل عظمي و IK Retargeter بينهما، ثم استخدم Export Selected Animations في الـretargeter. وفي الحالتين، شغّل بعض النتائج وتفقّدها قبل أن تعتمد عليها، خصوصًا اليدين.
المخلوقات وعناصر المشهد
النقرة نفسها بزر الفأرة الأيمن تجهّز تنينًا أو حصانًا أو ديناصورًا أو عنكبوتًا أو سمكة قرش: اختر نوع جسمه في نافذة الخيارات. يحصل كل منها على هيكل عظمي مصمّم لجسمه وحركات مصمّمة لذلك الهيكل، مثل الرفرفة والعدو والزئير والسباحة، فلا تحتاج الحياة البرية في لعبة عالم مفتوح إلى مختص في إعداد الـrig. وتحصل عناصر المشهد على النوع Object: ارتداد ودوران واهتزاز وانضغاط، للعناصر القابلة للالتقاط والأبواب. ويسرد دليل الحيوانات كل أنواع الأجسام وحركاتها.
- تنين
- رباعي الأرجل
- ذو حوافر
- ديناصور
- عنكبوت
- سمكة
ما الذي يُحتسب عملية إعداد rig
كل عملية تصل إلى AFK AI تُخصم من عمليات هذا الشهر، كما على afk.ai/rig وفي إضافات AFK AI الأخرى. أما Stop waiting فيوقف انتظار Unreal فقط: يستمر إعداد الـrig ويظل محتسبًا. ولا تُحتسب العملية التي تفشل، وتخبرك الرسالة بالسبب. وتعرض قائمة AFK AI عدد العمليات المتبقية؛ وعند نفادها، يفتح See plans باقات afk.ai.
إذا حدث خطأ
- لا توجد قائمة AFK AI
- في Edit > Plugins، تحقّق من أن AFK AI و Python Editor Script Plugin مفعّلتان، ثم أعد التشغيل. وإذا كان هناك خلل آخر، يعرض Output Log «AFK AI couldn't start» مع السبب.
- «has no source file recorded»
- أو «was imported from a .obj file»: يحتاج AFK AI إلى ملف
.fbxأو.glbأو.gltfالأصلي. صدّر النموذج بإحدى هذه الصيغ، واستورده، وجهّزه. - «Couldn't find Hero's source file»
- نُقل الملف بعد استيراده. انقر بزر الفأرة الأيمن على الشبكة، واختر Reimport With New File، وحدّد الملف في مكانه الحالي، ثم أعد إعداد الـrig.
- «Unreal didn't import it as a skeletal mesh»
- نجح إعداد الـrig، وحُفظ ملف FBX في المكان الذي تذكره الرسالة. اسحبه إلى Content Browser واستورده بوصفه Skeletal Mesh مع حركاته. وقد يحدث هذا مع المستورد الأحدث في Unreal 5.5 أو أحدث.
- «Couldn't make a secure connection to AFK AI»
- هناك وكيل (proxy) أو برنامج مكافحة فيروسات أو جدار حماية للشركة يعترض الطريق. جرّب شبكة أخرى.
- فشل إعداد الـrig
- اقرأ الرسالة. غالبًا ما يحلّ المشكلةَ اختيارُ نوع جسم آخر، أو أن يكون النموذج منتصبًا ومتجهًا إلى الأمام.
الأسئلة الشائعة
هل يستطيع Unreal Engine 5 تجهيز شخصية للتحريك تلقائيًا بنفسه؟
ليس إذا كانت static mesh. يستطيع Unreal نقل الحركات بين هياكل عظمية موجودة بالفعل، وفيه أدوات لبناء الهياكل وتعديلها يدويًا، لكن لا شيء فيه يجهّز شبكة نيابةً عنك. وإضافة AFK AI تتولى هذا الجزء: تحوّل الـstatic mesh إلى skeletal mesh مع أوزان تأثير العظام والحركات، ثم يتولى Unreal الباقي.
هل أحتاج إلى C++ أو Visual Studio؟
لا. الإضافة مكتوبة بـ Python يشغّلها Unreal بنفسه، ولا شيء فيها يحتاج إلى تصريف، لذا تعمل في المشاريع المبنية على Blueprint وحده. وكود C++ أعلاه موجّه فقط للمشاريع التي تستخدمه أصلًا.
مع أي إصدارات Unreal Engine تعمل؟
مع Unreal Engine 5.1 أو أحدث، على Windows و Mac و Linux.
هل يمكنني تجهيز نموذج استوردته من ملف .obj؟
ليس مباشرة: ترسل الإضافة الملف المصدر الأصلي للشبكة، وتقبل .fbx أو .glb أو .gltf. صدّر النموذج بإحدى هذه الصيغ من تطبيقك ثلاثي الأبعاد، واستورده، ثم جهّزه.
هل يعمل مع حركات mannequin في UE5؟
نعم. العظام مسمّاة على غرار عظام الـmannequin، لذا يطابقها الـretargeter بإعداد قليل أو دون إعداد، في الاتجاهين. راجع قسم «نقل الحركات من mannequin في UE5 وإليه» أعلاه.
هل يمكنني استخدام الشخصية المجهّزة في لعبة أبيعها؟
نعم. الهياكل العظمية والحركات بترخيص CC0، ونموذجك يبقى ملكك.
أين الملف المجهّز، إذا أردته في تطبيق آخر؟
يُحفظ Hero_rigged.fbx بجوار الملف المصدر الأصلي، أو في مجلد Saved/AFK AI في مشروعك. ويُفتح في Blender و Maya وأي تطبيق يقرأ FBX، مع حركاته.
هل توجد إضافة لـ Unity أو Blender أيضًا؟
نعم. راجع دليلَي Unity و Blender، والعرض الشامل لكل إضافات AFK AI للتطبيقات التسعة كلها.
اعمل ريغ لنموذجك وحرّكه
يعمل له الذكاء الاصطناعي الريغ في متصفحك، ثم تعمل عليه مئات الحركات. نزّل ملف GLB واحدًا لأي محرك.
المزيد من الأدلة
شرح عملي
جهّز شخصية للتحريك تلقائيًا في Blender: إضافة AFK AI المجانية
حدّد نموذجك، وانقر Rig، وبعد دقيقة تقريبًا تقف بجواره نسخة مجهّزة للتحريك مع حركاتها، في Blender 4.2 أو أحدث.
شرح عملي
جهّز أي نموذج ثلاثي الأبعاد للتحريك تلقائيًا داخل Unity: جاهز بإعداد Humanoid ومعه مقاطع حركته
اختر نموذجًا في نافذة Project وانقر Rig. وبعد دقيقة يكون بجواره ملف FBX مجهّز للتحريك، مضبوط بإعداد Humanoid، وكل حركة فيه مقطع مستقل.
مقارنة
إضافات لإعداد الـrig تلقائيًا في تسعة تطبيقات ثلاثية الأبعاد ومحركات ألعاب: Blender و Maya و Unity و Unreal وغيرها
إضافة من AFK AI لكل تطبيق من تسعة تطبيقات. حدّد نموذجًا، وانقر Rig، وبعد دقيقة تقريبًا يعود إلى مشهدك أو مشروعك مجهّزًا للتحريك ومزوّدًا بالحركات.