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

تأكد من تحديد تصنيف النماذج، ثم انقر على زر عرض الكل لفئة الفئات.

ابحث عن وحديقة الحزم وانقر عليها.
ابحث عن نموذج التفاعلات الاجتماعية وانقر عليه، أو اسحبه وأفلته في عرض الـ 3D.

في نافذة المستكشف، انقل نموذج التفاعلات الاجتماعية بالكامل إلى ReplicatedStorage. بعد تشغيل التجربة، سيبدأ النموذج في العمل.
التكوين
ببساطة إدراج نموذج التفاعلات الاجتماعية سيمكن كل من ميزتي توجيه الجسم و تحريك الدردشة داخل مكانك. لضبط السلوك الافتراضي:
في StarterPlayerScripts، أنشئ LocalScript جديدًا وغير اسمه إلى ConfigureSocialInteractions.

ألصق الكود التالي في البرنامج النصي الجديد، مستخدمًا الوظيفة configure لتخصيص سلوك النموذج.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SocialInteractions = require(ReplicatedStorage.SocialInteractions)-- اجعل دوران الخصر أكثر وضوحًا و أعطل ميزة تحريك الدردشةSocialInteractions.configure({waistOrientationWeight = 0.75,useChatAnimations = false,})
كلمات تحفيز تحريك الدردشة
قائمة "الكلمات المحفزة" التي تنشط كل حركة دردشة قابلة للتكوين وتستخدم أنماط سلاسل Luau لزيادة الكلمات المعروفة. على سبيل المثال، واحدة من التركيبات المستخدمة بواسطة حركة Wave هي he+y+o*، مما يعني أن hey، heyyy، heyo، heyyyyo، heeeeyyyyo، وغيرها من الاختلافات مؤهلة لتنشيط الحركة.
لاحظ أيضًا أن الكلمات المحفزة غير حساسة لحالة الأحرف، لذا فإن كتابة hey تعني نفس الشيء مثل HEY، Hey، وغيرها من الاختلافات.
| الحركة | معرف الحركة | أنماط الكلمات |
|---|---|---|
| Wave | 3344650532 | hell+o+ h+i+o* wa+[sz]+u+p+ y+o+ greetings* salutations* goo+d+%smorning+ he+y+o* howdy+ what's*%s*up+ |
| Applaud | 5911729486 | ya+y+ h[ou]+r+a+y+ woo+t* woo+h+oo+ bravo+ congratulations+ congrats+ gg pog+ poggers+ |
| Agree | 4841397952 | ye+s* ye+a+h* y[eu]+p+ o+k+ o+k+a+y+ |
| Disagree | 4841401869 | no+ no+pe+ yi+ke+s+ |
| Shrug | 3334392772 | not+%s+sure+ idk+ don't%s+know+ i%s+don't%s+know+ who+%s+knows+ |
| Laugh | 3337966527 | lo+l+ rof+l+ ha[ha]* he[he]+ |
| Sleep | 4686925579 | zzz+ yawn+ |
قائمة الكلمات المحفزة التي تنشط كل حركة قابلة للتكوين، ويمكن إضافة حركات إضافية عبر الوظيفة setTriggerWordsForChatAnimation. على سبيل المثال، يقوم LocalScript التالي بربط حركة Tilt مع نمط السلسلة cra+zy لدعم الكلمات المحفزة مثل crazy و craaaaaazy. كما يسجل أيضًا نمط سلسلة إضافي coo+l لحركة Applaud لدعم الكلمات مثل cool و coooool.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SocialInteractions = require(ReplicatedStorage.SocialInteractions)-- تسجيل نمط السلسلة لحركة "Tilt"SocialInteractions.setTriggerWordsForChatAnimation("rbxassetid://3334538554", {"cra+zy"})-- تسجيل نمط سلسلة إضافي لحركة "Applaud"SocialInteractions.setTriggerWordsForChatAnimation("rbxassetid://5911729486", {"coo+l"})
مرجع API
الوظائف
configure
configure(config: table)
يتجاوز الخيارات الافتراضية للتكوين من خلال مفاتيح/قيم معينة في جدول config. يمكن استدعاء هذه الوظيفة فقط من LocalScript.
| المفتاح | الوصف | افتراضي |
|---|---|---|
| useBodyOrientation | يقوم بتبديل ميزة توجيه الجسم. | true |
| waistOrientationWeight | يستخدم توجيه الجسم مزيجًا من دوران الخصر والرقبة؛ يحدد هذا المتغير أي من الاثنين هو الأكثر بروزًا. قيمة 1 تضع التركيز الكامل على الخصر، بينما 0 تضع التركيز الكامل على الرقبة. | 0.5 |
| useChatAnimations | يقوم بتبديل ميزة تحريك الدردشة. | true |
| useDefaultTriggerWordsForChatEmotes | تأتي تحريكات الدردشة مع قائمة افتراضية من الكلمات المحفزة. قم بتعيين هذا المعامل إلى false إذا كنت ترغب في إيقاف تشغيلها وتوفير الخاصة بك. | true |
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SocialInteractions = require(ReplicatedStorage.SocialInteractions)-- اجعل دوران الخصر أكثر وضوحًا و أعطل ميزة تحريك الدردشةSocialInteractions.configure({waistOrientationWeight = 0.75,useChatAnimations = false,})
setTriggerWordsForChatAnimation
setTriggerWordsForChatAnimation(animationId: string, triggerWords: table)
يسجل حركة جديدة في ميزة تحريك الدردشة. ستقوم كتابة أي كلمة تطابق نمط سلسلة مضمن في جدول triggerWords بتنشيط الحركة ذات المعرف الذي تم تمريره كمعامل أول.
لاحظ أن الكلمات المحفزة غير حساسة لحالة الأحرف بالنسبة للاعبين، لذا فإن نمط woah سيقبل عبارات الدردشة مثل woah، WOAH، Woah، وغيرها من الاختلافات.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SocialInteractions = require(ReplicatedStorage.SocialInteractions)-- تسجيل نمط سلسلة جديد لحركة مخصصةSocialInteractions.setTriggerWordsForChatAnimation("rbxassetid://3334538554",{"cra+zy", "woah+"})
الأحداث
onChatAnimationPlayed
يتم تشغيله عند تشغيل حركة دردشة. تتلقى الدالة المتصلة معرف الحركة والكلمة التي حفزت الحركة كوسيطين. يمكن توصيل هذا الحدث فقط في LocalScript.
| المعلمات | |
|---|---|
| animationId: string | معرف الحركة التي تم تشغيلها. |
| triggerWord: string | كلمة الدردشة التي حفزت الحركة. |
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage.SocialInteractions)
SocialInteractions.onChatAnimationPlayed:Connect(function(animationId, triggerWord)
print(animationId, triggerWord)
end)