تتيح معظم الألعاب للاعبين استخدام صورتهم الرمزية الخاصة في Roblox، على الرغم من أن بعضها ينفذ نظام تخصيص داخل اللعبة مثل نموذج UGC Homestore. تقوم ألعاب أخرى بإجراء تعديلات محدودة على شخصيات اللاعبين مثل الخوذ، والأجنحة، أو الملحقات التي تتناسب مع النوع.
لإنشاء لعبة فريدة تقوم بتغيير مظهر مستخدميك، يمكنك تخصيص الخصائص الافتراضية للشخصية من خلال إعدادات الصورة الرمزية أو تعديل المظهر يدويًا.
إعدادات الصورة الرمزية العالمية
تسمح لك ملف ⟩ إعدادات الصورة الرمزية في الاستوديو بسرعة ضبط عدة خصائص عالمية للشخصية للاعبين في لعبتك. تنطبق هذه الإعدادات على جميع نماذج شخصيات اللاعبين المنضمين إلى لعبتك. لتعديل شخصيات معينة، مثل نماذج الشخصيات غير اللاعبين، انظر تعديل المظهر يدويًا.
في هذه النافذة، يمكنك تعيين إعدادات مختلفة للملابس، والملحقات، وأجزاء الجسم، وسلوك التصادم، والرسوم المتحركة والمزيد. عند تحرير هذه الإعدادات، يتم عرض معاينة للإعدادات المطبقة في بيئة العمل.
لمزيد من المعلومات، انظر إعدادات الصورة الرمزية.
تعديل المظهر يدويًا
تحتوي نماذج الشخصيات على كائن Humanoid الذي يمنح النموذج خصائص خاصة، مثل المشي، والقفز، وتجهيز العناصر، والتفاعل مع البيئة.
يمكنك تعديل Humanoid برمجيًا من خلال تحديث HumanoidDescription. يشمل ذلك نماذج شخصيات اللاعبين أو نماذج الشخصيات غير اللاعبين في لعبتك.
يمكنك ضبط الخصائص التالية للشخصية في لعبتك باستخدام HumanoidDescription:
| خاصية الشخصية | الوصف |
|---|---|
| مقياس | قيم عددية للسمات الفيزيائية ارتفاع، عرض، رأس، نوع الجسم و نسبة. لا يؤثر هذا على أنواع جسم R6. |
| ملحقات | معرفات الأصول لـ الملحقات المزودة للشخصية. |
| ملابس كلاسيكية | معرفات الأصول لـ Shirt، Pants، و ShirtGraphic صبغات الصورة التي يمكنك تطبيقها على الشخصية. |
| جزء الجسم | معرفات الأصول لـ وجه، رأس، جذع، ذراع اليمنى، ذراع اليسرى، ساق اليمنى و ساق اليسرى أجزاء من الشخصية. |
| ألوان الجسم | الـ BodyColors لأجزاء الشخصية الفردية. |
| رسوم متحركة | معرفات الأصول لـ الرسوم المتحركة التي يمكنك استخدامها على شخصية. |
خصص شخصية باستخدام HumanoidDescription باستخدام الخطوات التالية:
- إنشاء وصف من شخصية المستخدم، أو معرف الزي المحدد، أو من معرف المستخدم المحدد.
- تعديل الوصف لتخصيص الخصائص التي تريد تطبيقها على شخصية Humanoid.
- تطبيق الوصف على شخصية واحدة، أو على جميع شخصيات اللاعبين، أو حتى على جميع الشخصيات التي تظهر.
إنشاء HumanoidDescription
يمكنك إنشاء مثيل جديد لـ HumanoidDescription مباشرة داخل شجرة المستكشف أو داخل Script باستخدام الكود التالي:
إنشاء مثيل جديد لـ HumanoidDescriptionlocal humanoidDescription = Instance.new("HumanoidDescription")
في معظم الحالات، يجب عليك استخدام HumanoidDescription الموجود بدلاً من HumanoidDescription الافتراضية الجديدة عن طريق الإشارة إلى شخصية لاعب قائمة، أو زي الصورة الرمزية، أو معرف المستخدم.
من شخصية اللاعب
استخدم نموذج الكود التالي لإنشاء HumanoidDescription بناءً على الخصائص الحالية لشخصية اللاعب:
توليد HumanoidDescription من شخصية اللاعبlocal humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")local humanoidDescription = Instance.new("HumanoidDescription")if humanoid thenhumanoidDescription = humanoid:GetAppliedDescription()end
من زي موجود
استخدم نموذج الكود التالي لإنشاء HumanoidDescription من معرف زي باستخدام Players.GetHumanoidDescriptionFromOutfitID:
توليد HumanoidDescription من معرف الزيlocal Players = game:GetService("Players")local outfitId = 480059254local humanoidDescriptionFromOutfit = Players:GetHumanoidDescriptionFromOutfitId(outfitId)
من مستخدم محدد
استخدم نموذج الكود التالي لإنشاء HumanoidDescription من معرف المستخدم باستخدام Players:GetHumanoidDescriptionFromUserId():
توليد HumanoidDescription من معرف المستخدمlocal Players = game:GetService("Players")local userId = 491243243local humanoidDescriptionFromUser = Players:GetHumanoidDescriptionFromUserId(userId)
تعديل HumanoidDescription
لتخصيص خصائص HumanoidDescription، قم بتعيينها مباشرة على HumanoidDescription أو استخدم طريقة محددة قبل تطبيق HumanoidDescription على شخصية.
يوفر نموذج الكود التالي أمثلة على تعيين أنواع مختلفة من خصائص HumanoidDescription:
تحديث خصائص HumanoidDescription متعددةlocal humanoidDescription = Instance.new("HumanoidDescription")humanoidDescription.HatAccessory = "2551510151,2535600138"humanoidDescription.BodyTypeScale = 0.1humanoidDescription.ClimbAnimation = 619521311humanoidDescription.Face = 86487700humanoidDescription.GraphicTShirt = 1711661humanoidDescription.HeadColor = Color3.new(0, 1, 0)
تعيين ملحقات متعددة
لتغييرات ملحقات متداخلة أو جماعية، يمكنك استخدام HumanoidDescription:SetAccessories() لإجراء تحديثات مرتبطة بالملحقات. نموذج الكود التالي يضيف سترة متداخلة وجاكيت بهذا الترتيب إلى HumanoidDescription:
تغيير ملحقات متعددة في نفس الوقتlocal humanoidDescription = Instance.new("HumanoidDescription")local accessoryTable = {{Order = 1,AssetId = 6984769289,AccessoryType = Enum.AccessoryType.Sweater},{Order = 2,AssetId = 6984767443,AccessoryType = Enum.AccessoryType.Jacket}}humanoidDescription:SetAccessories(accessoryTable, false)
تطبيق HumanoidDescription
تطبيق HumanoidDescription على شخصيات Humanoid محددة في لعبتك مع Humanoid:ApplyDescription() أو Humanoid.LoadCharacterWithHumanoidDescription.
على شخصية واحدة
يمكن لـ ApplyDescription() استهداف أي Humanoid. استخدم الكود التالي لإضافة زوج جديد من النظارات الشمسية وجذع جديد لشخصية اللاعب:
تحديث HumanoidDescription لشخصية لاعب معينةlocal humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")if humanoid thenlocal descriptionClone = humanoid:GetAppliedDescription()descriptionClone.Torso = 86500008-- يُسمح باستخدام أصول الملحقات الوجه المتعددة في سلسلة مفصولة بفواصلdescriptionClone.FaceAccessory = descriptionClone.FaceAccessory .. ",2535420239"-- تطبيق "descriptionClone" المعدلة على humanoidhumanoid:ApplyDescription(descriptionClone)end
على جميع شخصيات اللاعبين
استخدم نموذج الكود التالي لتطبيق HumanoidDescription على جميع اللاعبين الحاليين في اللعبة:
تحديث HumanoidDescription لجميع شخصيات اللاعبين الحاليينlocal Players = game:GetService("Players")for _, player in Players:GetPlayers() dolocal humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")if humanoid then-- إنشاء HumanoidDescriptionlocal humanoidDescription = Instance.new("HumanoidDescription")humanoidDescription.HatAccessory = "2551510151,2535600138"humanoidDescription.BodyTypeScale = 0.1humanoidDescription.ClimbAnimation = 619521311humanoidDescription.Face = 86487700humanoidDescription.GraphicTShirt = 1711661humanoidDescription.HeadColor = Color3.new(0, 1, 0)humanoid:ApplyDescription(humanoidDescription)endend
على جميع الشخصيات التي تظهر
استخدم نموذج الكود التالي لتعيين HumanoidDescription محدد لجميع شخصيات اللاعبين التي تظهر:
تحديث HumanoidDescription لجميع الشخصيات التي تظهر
local Players = game:GetService("Players")
-- إيقاف التلقائي في التوليد حتى يمكن القيام به في رد الاتصال "PlayerAdded"
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
-- إنشاء HumanoidDescription
local humanoidDescription = Instance.new("HumanoidDescription")
humanoidDescription.HatAccessory = "2551510151,2535600138"
humanoidDescription.BodyTypeScale = 0.1
humanoidDescription.ClimbAnimation = 619521311
humanoidDescription.Face = 86487700
humanoidDescription.GraphicTShirt = 1711661
humanoidDescription.HeadColor = Color3.new(0, 1, 0)
-- توليد الشخصية باستخدام HumanoidDescription
player:LoadCharacterWithHumanoidDescription(humanoidDescription)
end
-- ربط حدث "PlayerAdded" بوظيفة "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)
إذا تم إنشاء مثيل HumanoidDescription في المستكشف وترابطه مع بيئة العمل، استخدم نموذج الكود التالي في Script للوصول إلى مثيل بيئة العمل:
local Players = game:GetService("Players")
-- إيقاف التلقائي في التوليد حتى يمكن القيام به في رد الاتصال "PlayerAdded"
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
-- توليد الشخصية باستخدام "workspace.StudioHumanoidDescription"
player:LoadCharacterWithHumanoidDescription(workspace.StudioHumanoidDescription)
end
-- ربط حدث "PlayerAdded" بوظيفة "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)
الملابس المتداخلة على غير R15
تستخدم الملحقات المحاصرة، مثل الملابس المتداخلة، WrapTarget و WrapLayer للتمدد والتفاف حول هدف Model. يمكن أن تعمل الملحقات المتداخلة مع كل من شخصيات R15 Roblox القياسية والنماذج غير R15.
لا يمكن تحميل ونشر تنفيذ مخصص للملابس المتداخلة، مثل نموذج يستخدم خريطة UV محاصرة فريدة، على المتجر. لمزيد من المعلومات، انظر مواصفات الملابس المتداخلة.
سواء كنت تنفذ ملحقات متداخلة على هيكل صورة الرمزية R15، أو تستخدم هيكل مخصص، تأكد من أن الملحقات والأجسام الخاصة بك تتضمن ما يلي:
- يحتوي النموذج المستهدف، والذي يكون عادة الجسم، على عنصر WrapTarget على الشبكات التي يهدف النماذج الإضافية أن يلتفوا حولها.
- يحتوي نموذج الطبقات، والذي يكون عادة الملابس أو الملحق، على عنصر WrapLayer على الشبكات المقصودة لالتفاف حول النموذج المستهدف.
- يجب أن تحتوي القفص الخارجي للنموذج المستهدف، و القفص الداخلي والخارجي لنموذج الطبقات على خرائط UV متطابقة.
- يجب أن تحتوي الرؤوس المتطابقة على القفص المستهدف على نفس قيم UV مثل تلك الرؤوس على قفص الطبقة.
- إذا كان النموذج المستهدف هو R15 ويتضمن Humanoid، يتم إنشاء هذا الوصل تلقائيًا.