في مكتبة وحدة التحكم الشخصية (CCL)، تقوم مثيل ControllerManager المركزي بمعالجة محاكاة الفيزياء للشخصية وتفاعلها مع البيئة. يتضمن ذلك عدة تغييرات مقصودة في الحركة/الشعور مصممة لحل عدم تناسق Humanoid القديمة، فضلاً عن تحسينات فيزيائية مثل احتكاك الأرض، ومنحنيات تسارع خطية، والحفاظ الواقعي على الزخم الخطي والزوايا عند القفز.
تفعيل CCL
The CCL is opt-in through Studio's Avatar Settings window. To enable it:
From the Avatar tab, open Avatar Settings.

Select the Movement tab on the left side of the window and, in the Abilities section, select Character Controller Library.

All of the standard abilities like Running, Jumping, and Climbing are enabled by default. To disable any of them at runtime, uncheck the associated box.
الهيكل
تحت مثيل ControllerManager المركزي ضمن نموذج الشخصية، تحدد وحدات التحكم الفردية مثل GroundController و AirController كيفية تطبيق الحركة على الشخصية. ثم تتفاعل القدرات مع ControllerManager وسلالته لتعديل سلوكيات وحدة التحكم أو التبديل بين وحدات التحكم.

التكوين
أثناء تشغيل لعبتك (أو من خلال نص يعمل من ServerScriptService)، يمكنك تجربة مثيل ControllerManager ووحدات التحكم المدمجة.
وقت التشغيل
لتجربة تكوينات وحدة التحكم في وقت التشغيل:
ابدأ اختبار اللعب.
في مستكشف، ابحث عن نموذج الشخصية في Workspace ثم قم بتوسيع شجرة ControllerManager:

حدد إما ControllerManager أو واحدة من سلالاتها، وفي نافذة الخصائص، قم بتخصيص الخصائص مثل تلك الملخصة في الجداول أدناه (يرجى ملاحظة أن هذه الجداول ليست شاملة؛ يرجى الاطلاع على توثيق API للصفوف للحصول على خيارات خصائص إضافية).
الخاصية الوصف BaseMoveSpeed سرعة الحركة الخطية الأساسية المستخدمة من قبل جميع وحدات التحكم. تقوم وحدات التحكم بتخصيص سرعة الحركة بشكل فردي من خلال خاصية MoveSpeedFactor الخاصة بها. BaseTurnSpeed سرعة دوران أساسية تستخدمها جميع وحدات التحكم لمواءمة الشخصية لمواجهة الاتجاه المرغوب. تقوم بعض وحدات التحكم بتخصيص سرعة الدوران بشكل فردي من خلال خاصية TurnSpeedFactor الخاصة بها. UpDirection Vector3 والذي يشير إلى متجه الاتجاه العلوي لجزء ControllerManager.RootPart.
عن طريق البرمجة
لتعيين تكوينات وحدة التحكم لجميع الشخصيات من خلال نص:
أنشئ Script جديدة جانب الخادم داخل ServerScriptService وأعد تسميتها إلى ControllerScript.
انسخ والصق الكود التالي في النص الجديد. هذا المثال يزيد من سرعة الحركة/الدوران على الأرض بالإضافة إلى إضافة بعض الوقت للتسارع والتباطؤ. لا تتردد في ضبط الخصائص الأخرى مثل تلك الموضحة في الجداول أعلاه أو لكل فئة كما هو موضح (ControllerManager; GroundController; AirController; ClimbController; SwimController).
Script in ServerScriptServicelocal Players = game:GetService("Players")local function onCharacterAdded(character)local ControllerManager = character:FindFirstChildWhichIsA("ControllerManager")if ControllerManager thenlocal GroundController = ControllerManager:FindFirstChild("GroundController")if GroundController then-- تضاعف السرعات للحركة والدورانGroundController.MoveSpeedFactor *= 2GroundController.TurnSpeedFactor *= 2-- إضافة وقت تسارع وتباطؤ طفيفGroundController.AccelerationTime = 0.2GroundController.DecelerationTime = 0.4endendendlocal function onPlayerAdded(player)if player.Character thenonCharacterAdded(player.Character)endplayer.CharacterAdded:Connect(onCharacterAdded)endPlayers.PlayerAdded:Connect(onPlayerAdded)