روبلوكس لمطوري أنريل

*This content is translated using AI (Beta) and may contain errors. To view this page in English, click here.

تحتوي هذه الصفحة على معلومات لمساعدة مطوري محرك أنريل ذوي الخبرة على البدء في روبلوكس، بما في ذلك التوجيه الأساسي، مقارنة مفاهيمية، والاختلافات الرئيسية بين النظامين.

التوجيه

واجهة مستخدم محرر أنريل مع توضيحات لعرض النوافذ والألواح المختلفة. واجهة مستخدم روبلوكس ستوديو مع توضيحات لعرض النوافذ والألواح المختلفة.

تعتبر Outliner في أنريل وExplorer في روبلوكس ستوديو النوافذ الرئيسية لتنظيم العناصر في المساحات ثلاثية الأبعاد. يعرض كلاهما تسلسل هرمي من الكائنات والمجلدات. ومع ذلك، فإن Outliner لها هيكل أقل تحديدًا وعرضًا أكثر بساطة وتظهر فقط Actors. نافذة Explorer لها هيكل عميق ومتسق وتعرض جميع الكائنات كجزء من التسلسل الهرمي، بما في ذلك الكائنات التي يمكن اعتبارها مكونات في أنريل.

يتداخل مدير الأصول وصندوق الأدوات في روبلوكس مع متصفح المحتوى في أنريل. يتيح لك مدير الأصول إدارة جميع الأصول داخل لعبتك، بينما يقوم صندوق الأدوات بإتاحة الوصول إلى أي أصول قمت بنشرها. كما يتيح لك صندوق الأدوات البحث في متجر المبدعين عن الأصول من روبلوكس أو المجتمع، مشابهًا لسوق أنريل، ولكنه متاح مباشرة من واجهة المستخدم في الاستوديو.

الاختلافات الفلسفية

روبlox هو "محرك محاكاة" بدلًا من أن يكون محرك ألعاب تقليدي. إن Actors في أنريل وParts في روبلوكس يشكلان كتل بناء أساسية، لكن في الممارسة العملية، فإن الاثنين مختلفان تمامًا:

  • التمثيل: Actors في أنريل هو مفهوم أعلى لأي كائن في المستوى، بينما تم تصميم Parts في روبلوكس لتمثيل الأشياء الفيزيائية مثل الكتل الخشبية والكرات البلاستيكية.
  • الفيزياء: لأداء محاكاة فيزيائية في أنريل، يجب عليك تمكين الفيزياء ضمن مكونات معينة (مثل StaticMeshComponent) أو من خلال إضافة مكونات إلى Actors، مثل القيود الفيزيائية. في روبلوكس، الفيزياء مدمجة في نوع بيانات Parts؛ يتولى المحرك التعامل مع التفاعلات تلقائيًا.

يمكنك رؤية الفرق على الفور إذا أنشأت Actor وPart. فـ Actor لديه القليل من المعلومات الأخرى بالإضافة إلى موقعه، دورانه، ومقياسه. بينما يحتوي Part على نفس المعلومات، بالإضافة إلى مادة ولون، وقيم للانعكاس والشفافية، وكتلة وشكل، وأكثر من ذلك بكثير. يبدأ الاثنان فقط في تقاسم خصائص مشابهة عند مقارنة StaticMeshActor في أنريل بـ MeshPart في روبلوكس.

مثال على Actor في أنريل في لوحة التفاصيل.
لوحة تفاصيل محرر أنريل
مثال على جزء في روبلوكس في نافذة الخصائص.
نافذة خصائص روبلوكس ستوديو

مقارنة مفيدة أخرى هي Actor في أنريل مع Model في روبلوكس. تعمل النماذج كحاوية لمجموعة من الأجزاء المترابطة بنفس الطريقة التي تكون فيها Actors في أنريل حاويات للمكونات. تحدد واحدًا من أجزاء النموذج كـ جزء أساسي لتعريف نقطة المحور. كما تحتوي النماذج على سكربتات، رسوم متحركة، مؤثرات صوتية، مطالبات، قيود، مولدات جزيئات، وأكثر.

على سبيل المثال، قد يحتوي Actor في أنريل على NiagaraComponent يستخدم عدة مولدات لتحقيق التأثير البصري المرغوب، وشبكة للشكل، وقيود فيزيائية لإضافة المرونة، وسكربت للتفاعل مع اللاعب. في Outliner، ترى Actor واحد يسمى SpringyFireball.

في روبلوكس، قد تبدو مجموعة مماثلة لـ SpringyFireball في نافذة Explorer كالتالي:


Model
|- ParticleEmitter
|- MeshPart
|- SpringConstraint
|- ClickDetector
| |- Script

تتجاوز فلسفة روبلوكس الفيزياء الافتراضية إلى عملية بناء النماذج ثلاثية الأبعاد. في روبلوكس، يعتبر لحام أجزاء متعددة معًا في تجمع طريقة مذهلة لبناء الأشياء بسرعة، لأن روبلوكس يعامل الأجزاء الملحومة ككائن صلب واحد. هذه الطريقة ليست عملية في أنريل.

بدلًا من استخدام وحدات قياسية مترية للطول والكتلة، يستخدم روبلوكس وحدات نظرية تسمى studs ووحدات الكتلة في روبلوكس (RMUs). لمعرفات التحويلات المترية التقريبية والتوصيات حول الاستخدام، راجع Units.

الموقع مهم

ألعاب روبلوكس متعددة اللاعبين افتراضيًا، لذا تتضمن روبلوكس ستوديو العديد من مواقع التخزين المختلفة بسلوكيات محددة. لمزيد من المعلومات، راجع client-server runtime وتنظيم الكائنات.

LocationDescription
Workspaceتمثل عالم اللعبة ثلاثي الأبعاد. يعمل هذا الموقع بشكل جيد للسكربتات التي تتصل مباشرة بالأشياء وتتحكم في سلوكياتها.
ReplicatedFirstيحتوي على الأشياء التي تتكرر للعميل قبل أي شيء آخر. هذا الموقع مثالي للمجموعة الدنيا المطلقة من الأشياء والسكربتات اللازمة لعرض شاشة تحميل.
ReplicatedStorageيحتوي على الأشياء التي تتكرر لكل من العميل والخادم. هذا الموقع مثالي لـ ModuleScripts التي ترغب في استخدامها على كل من الخادم والعميل. لا تعمل LocalScripts من هذا الموقع، لكن Scripts مع RunContext من نوع Client تعمل.
ServerScriptServiceيحتوي على سكربتات الخادم. هذا الموقع مثالي للسكربتات التي تحتاج إلى الوصول إلى وظائف أو أشياء من جانب الخادم، مثل منطق اللعبة والتخزين السحابي.
ServerStorageيحتوي على أشياء من جانب الخادم. هذا الموقع مثالي للأشياء الكبيرة التي لا تحتاج إلى التكرار فوراً للعملاء عند انضمامهم إلى اللعبة. لا تعمل السكربتات من هذا الموقع، لكن يمكنك تخزين ModuleScripts من جانب الخادم هنا.
StarterPlayerStarterCharacterScriptsيحتوي على LocalScripts التي تعمل عندما تظهر الشخصية.
StarterPlayerStarterPlayerScriptsيحتوي على LocalScripts متعددة الأغراض التي تعمل عندما ينضم اللاعب إلى اللعبة.
StarterGuiيحتوي على عناصر واجهة المستخدم التي يعرضها العميل عند تحميل اللعبة. يمكن أن تعمل LocalScripts من هذا الموقع. هذا الموقع مثالي للسكربتات التي تعدل واجهة المستخدم للعبة، مثل إضافة أزرار، قوائم، ومنافذ.
StarterPackعادةً ما يحتوي فقط على Tools، ولكن يمكن أن يتضمن أيضًا LocalScripts لإعداد حقائب اللاعبين.

السكربت

Roblox games support three different types of Luau scripts:

  • Client scripts

    هذه النصوص تعمل على العميل، وليس لدى الخادم رؤية في سلوكها. لأسباب تتعلق بالإرث، يمكن أن تأخذ هذه النصوص شكل LocalScripts أو Scripts مع قيمة RunContext تساوي Client. عادةً ما تعيش نصوص العميل في ReplicatedStorage أو StarterPlayerScripts أو StarterCharacterScripts.

  • Server scripts

    هذه النصوص تعمل على الخادم، وليس لدى العميل رؤية في سلوكها. تحتوي نصوص الخادم على قيمة RunContext تساوي Server وعادةً ما تعيش في ServerScriptService، والمحتويات الخاصة بها لا يتم تكرارها للعميل.

  • Module scripts

    هذه النصوص هي قطع قابلة لإعادة الاستخدام من التعليمات البرمجية التي تعيد قيمة واحدة فقط، عادةً ما تكون دالة أو جدول (أو جدول من الدوال). بدلاً من تكرار التعليمات البرمجية في نصوص العميل والخادم، استخدم نصوص الوحدة لمشاركة التعليمات البرمجية والبيانات بين الجانبين. غالبًا ما تعيش نصوص الوحدة في ReplicatedStorage، ولكن يمكن أن تعيش في مكان آخر إذا كنت تريد مشاركة التعليمات البرمجية بين النصوص على نفس جانب حدود العميل والخادم.

لا تحتوي أنريل على مفهوم أنواع سكربت مختلفة. إذا اخترت جعل لعبة متعددة اللاعبين، ستكتب كودًا إضافيًا لمزامنة حالة اللعبة بين الخادم والعميل.

في أنريل، تتوفر الكثير من وظائف المحرك من خلال تمديد الفئات المدمجة مثل UObject وACharacters وULevel وUWorld في C++ أو Blueprint. تدعم أنريل الأحداث المخصصة، لكن العديد من الفئات تشمل أحداثًا تقوم بها المحرك تلقائيًا كجزء من دورة الحياة الطبيعية للمستوى.

مقارنة بنظام "التكرار" في أنريل، تكون سكربتات روبلوكس أكثر استنادًا إلى الأحداث. يمكنك الوصول إلى وظائف المحرك المماثلة عن طريق الاشتراك في الخدمات والاستماع للتحديثات.

C++ وLuau

لأغراض السكربت، تستخدم أنريل C++. بينما يستخدم روبلوكس Luau، وهي لغة سكربت مشتقة من Lua 5.1.

بالمقارنة مع Luau، فإن C++ لديه ميزة أداء شاملة، مما قد يكون له صلة أو لا يكون لصالح الألعاب التي تريد بناءها. Luau هي لغة مكتوبة تدريجيًا وتحتوي على بناء جملة أقل تفصيلًا. ومع ذلك، في المشاريع الأكبر، قد تؤدي الكتابة التدريجية إلى إدخال فئات من الأخطاء التي تتفاداها لغات الكتابة الصارمة مثل C++، لذا ضع في اعتبارك تمكين التحقق من النوع الصارم في سكربتات روبلوكس.

تتضمن أنريل أيضًا نظام سكربت بصري يسمى Blueprints. لدى روبلوكس إضافات طرفية ثالثة تقدم وظائف مماثلة، لكن لا يوجد نظام مماثل مضمن.

مثال على كود Luau

توضح عينة كود Luau التالية كيفية، بعد أن يجهز اللاعب صنارة الصيد، الاستماع إلى إدخال المستخدم (في هذه الحالة، مفتاح E) واستدعاء وظائف إضافية:


local ContextActionService = game:GetService("ContextActionService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- احصل على برنامج وحدة من ReplicatedStorage الذي يعيد دالة واحدة
local performSomeAction = require(ReplicatedStorage.performSomeAction)
-- يفترض أن هذه السكربت هو أحد الأطفال الخاصة بصنارة الصيد
local fishingPole = script.Parent
local ACTION_CAST = "إلقاء"
-- تحقق من أن المفتاح مضغوط، ثم اتصل بدالة أخرى
local function castLine(_actionName, inputState, _inputObject)
if inputState == Enum.UserInputState.Begin then
performSomeAction()
end
end
-- تفعيل الإجراء فقط عندما يجهز اللاعب صنارة الصيد
fishingPole.Equipped:Connect(function()
ContextActionService:BindAction(ACTION_CAST, castLine, true, Enum.KeyCode.E)
end)
-- تعطيل الإجراء عندما يخلع اللاعب صنارة الصيد
fishingPole.Unequipped:Connect(function()
ContextActionService:UnbindAction(ACTION_CAST)
end)

يمكن أن يكون سكربت روبلوكس مختصرًا نسبيًا لأن روبلوكس لديه العديد من الافتراضات المدمجة: Player مع شخصية Humanoid متصلة بالخادم ويمكنها تجهيز Tools. هذه الافتراضات غير موجودة في أنريل، لذا سيكون التنفيذ مختلفًا تمامًا.

الأصول

تدعم أنريل وروبلوكس كلاهما استيراد الشبكات والنماذج المخصصة بصيغة .fbx. قد تتطلب بعض أنواع الأصول إعدادات تصدير معينة من برنامج النمذجة الخارجية الخاص بك. لمزيد من المعلومات، راجع الصفحات التالية:

في أنريل، تستورد الأصول إلى دليل Content، الظاهر في متصفح المحتوى. في روبلوكس، تستورد الأصول إلى مساحتك الداخلية وإلى Toolbox أو مدير الأصول.

تقدم روبلوكس أيضًا إضافة بلندر مفتوحة المصدر لتسهيل عملية الاستيراد، مشابهًا لخاصية Send to Unreal في أدوات بلندر.

التحويلات

تقنيات تحويل Unreal Engine و CFrames في Roblox تخدم أغراضًا مشابهة في تمثيل التحولات ثلاثية الأبعاد للأجسام:

  • كلا من التحويلات و CFrames تمثلان موقع ودوران الجسم في الفضاء ثلاثي الأبعاد. التحويلات تشمل القياس، في حين تستخدم Roblox خاصية BasePart.Size التي لا تعد جزءًا من CFrame.
  • كلاهما يدعم الضرب من أجل التحولات المعقدة ولديه طرق مدمجة لمناورات أخرى.

التعاون

في أنريل، تتعاون باستخدام أنظمة التحكم في الإصدار مثل Perforce أو SVN، عمومًا من خلال واجهة المستخدم المدمجة في أنريل. تستخدم هذه الأنظمة نموذج "التحقق" المركزي الذي يقفل الملفات أثناء عمل شخص واحد عليها.

تعيش ملفات روبلوكس في السحابة (على الرغم من أنه يمكنك تصدير نسخ منها)، لذا يوفر روبلوكس ستوديو سير عمل تعاون مدمج للتعديل المتزامن، إدارة المجموعات، الأذونات، صياغة السكربت، وأكثر من ذلك. راجع Collaboration.

الإضافات

على غرار أنريل، تدعم روبلوكس ستوديو الإضافات التي يمكن أن تبسط أو تمنحك المزيد من التحكم في جوانب مختلفة من عملية التطوير. تتوفر الإضافات في متجر المبدعين، مثل الأصول، الكثير منها مجاني.

المصطلحات

أنريلروبلوكسالملاحظات
LevelPlace
ActorPart أو Modelراجع الاختلافات الفلسفية.
Blueprint ClassPackage
TransformCFrameCFrame لا يتضمن معلومات المقياس. راجع التحويلات.
OutlinerExplorer
Details panelProperties
Level Viewport3D viewport
Content BrowserAsset Manager أو Toolbox
Landscape ModeTerrain Editor
PlayerStartSpawnLocation
Output LogOutput
MarketplaceCreator Store
Menu barToolbar
PluginPlugin
©2026 شركة Roblox Corporation. تُعد منصّة Roblox، وشعار Roblox وشعار "توسيع حدود المخيلة"، من ضمن علاماتنا التجارية المسجّلة وغير المسجّلة في الولايات المتحدة وبلدان أخرى.