อวตารของคุณคือเอกลักษณ์ของคุณในทุกพื้นที่ที่คุณเข้าไป โมดูล SocialInteractions สำหรับนักพัฒนา ช่วยให้ผู้ใช้งานแต่ละคนสามารถแสดงออกถึงตัวตนและการเคลื่อนไหวตามธรรมชาติได้ดีขึ้น เพิ่มสัมผัสของความสมจริงให้กับประสบการณ์
โมดูลนี้ประกอบด้วยฟีเจอร์ดังต่อไปนี้:
| การจัดท่าทางของร่างกาย | ทำให้ศีรษะของอวตารทุกคนหันไปยังทิศทางที่กล้องของผู้ใช้ของพวกเขาชี้ไป โดยผสมผสานการหมุนของคอและเอว ซึ่งจะให้สัญญาณเบา ๆ ว่าคนอื่นกำลังโต้ตอบกับใครหรืออะไร |
| การเคลื่อนไหวในการสนทนา | เพิ่มความมีชีวิตชีวาให้กับการพูดคุยในประสบการณ์ โดยทำให้อวตารเล่นการเคลื่อนไหวบางอย่างเป็นครั้งคราว ขึ้นอยู่กับเนื้อหาของข้อความที่ส่ง รายการของ "คำกระตุ้น" ที่เปิดใช้งานแต่ละการเคลื่อนไหวสามารถกำหนดค่าได้ |
การใช้งานโมดูล
การติดตั้ง
เพื่อใช้โมดูล SocialInteractions ในประสบการณ์:
จากเมนู Window ของ Studio หรือแถบเครื่องมือ Home เปิด Toolbox และเลือกแท็บ Creator Store

ตรวจสอบให้แน่ใจว่าได้เลือกการจัดเรียง Models แล้วคลิกที่ปุ่ม See All สำหรับ Categories

ค้นหาและคลิกที่ไอคอน Packages
ค้นหาโมดูล Social Interactions และคลิกที่มัน หรือลากและวางลงในมุมมอง 3D

ในหน้าต่าง Explorer ให้นำโมเดล SocialInteractions ทั้งหมดไปยัง ReplicatedStorage เมื่อรันประสบการณ์ โมดูลจะเริ่มใช้งาน
การกำหนดค่า
การแทรกโมดูล SocialInteractions จะเปิดใช้งานฟีเจอร์ การจัดท่าทางของร่างกาย และ การเคลื่อนไหวในการสนทนา ภายในสถานที่ของคุณ โดยไม่ต้องปรับเปลี่ยนพฤติกรรมเริ่มต้น:
ใน 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)
Overrides default configuration options through the following keys/values in the config table. This function can only be called from a 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 จะเปิดใช้งานการเคลื่อนไหวที่มี ID ที่ส่งเป็นพารามิเตอร์แรก
โปรดทราบว่าคำกระตุ้นจะ ไม่แยกตัวพิมพ์ใหญ่ สำหรับผู้เล่น ดังนั้นรูปแบบ 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)