Avatar Anda adalah identitas Anda di setiap ruang yang Anda masuki. Modul SocialInteractions pengembang memungkinkan setiap pengguna untuk mengekspresikan diri dan gerakan alami mereka dengan lebih baik, menambahkan sentuhan realisme ke dalam permainan.
Modul ini mencakup fitur-fitur berikut:
| Orientasi Tubuh | Memungkinkan kepala avatar setiap orang menghadap ke arah kamera pengguna yang bersangkutan, melalui campuran rotasi leher dan pinggang. Ini memberikan petunjuk halus tentang siapa atau apa yang sedang berinteraksi dengan orang lain. |
| Animasi Obrolan | Menambahkan sedikit kehidupan ke dalam obrolan dalam permainan dengan membuat avatar sesekali memainkan animasi, tergantung pada konten pesan yang mereka kirim. Daftar "kata pemicu" yang mengaktifkan setiap animasi dapat dikonfigurasi. |
Penggunaan Modul
Instalasi
Untuk menggunakan modul SocialInteractions dalam sebuah permainan:
Dari menu Window Studio atau toolbar tab Home, buka Toolbox dan pilih tab Creator Store.

Pastikan pengurutan Models dipilih, lalu klik tombol See All untuk Categories.

Temukan dan klik ubin Packages.
Temukan modul Interaksi Sosial dan klik, atau seret dan lepas ke dalam tampilan 3D.

Di jendela Explorer, pindahkan seluruh model SocialInteractions ke dalam ReplicatedStorage. Setelah menjalankan permainan, modul akan mulai berjalan.
Konfigurasi
Cukup dengan menyisipkan modul SocialInteractions akan mengaktifkan fitur orientasi tubuh dan animasi obrolan di dalam tempat Anda. Untuk menyesuaikan perilaku default:
Di StarterPlayerScripts, buat LocalScript baru dan ganti namanya menjadi ConfigureSocialInteractions.

Tempelkan kode berikut ke dalam skrip baru, menggunakan fungsi configure untuk menyesuaikan perilaku modul.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SocialInteractions = require(ReplicatedStorage.SocialInteractions)-- Membuat rotasi pinggang lebih mencolok dan menonaktifkan fitur animasi obrolanSocialInteractions.configure({waistOrientationWeight = 0.75,useChatAnimations = false,})
Kata Pemicu Animasi Obrolan
Daftar "kata pemicu" yang mengaktifkan setiap animasi obrolan dapat dikonfigurasi dan pola string Luau digunakan untuk meningkatkan kata-kata yang dikenali. Misalnya, satu kombinasi yang digunakan oleh animasi Wave adalah he+y+o*, yang berarti bahwa hey, heyyy, heyo, heyyyyo, heeeeyyyyo, dan variasi lainnya memenuhi syarat untuk memicu animasi.
Perlu dicatat bahwa kata pemicu bersifat tidak peka huruf besar/kecil, jadi mengetik hey sama dengan HEY, Hey, dan variasi lainnya.
| Animasi | ID Animasi | Pola Kata |
|---|---|---|
| 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+ |
Daftar kata pemicu yang mengaktifkan setiap animasi dapat dikonfigurasi, dan animasi tambahan dapat ditambahkan melalui fungsi setTriggerWordsForChatAnimation. Misalnya, LocalScript berikut menghubungkan animasi Tilt dengan pola string cra+zy untuk mendukung kata pemicu seperti crazy dan craaaaaazy. Ini juga mendaftarkan pola string tambahan coo+l untuk animasi Applaud untuk mendukung kata-kata seperti cool dan coooool.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage.SocialInteractions)
-- Mendaftarkan pola string untuk animasi "Tilt"
SocialInteractions.setTriggerWordsForChatAnimation("rbxassetid://3334538554", {"cra+zy"})
-- Mendaftarkan pola string tambahan untuk animasi "Applaud"
SocialInteractions.setTriggerWordsForChatAnimation("rbxassetid://5911729486", {"coo+l"})Referensi API
Fungsi
configure
configure(config: table)
Mengganti opsi konfigurasi default melalui kunci/nilai berikut dalam tabel config. Fungsi ini hanya dapat dipanggil dari LocalScript.
| Kunci | Deskripsi | Default |
|---|---|---|
| useBodyOrientation | Menyalakan atau mematikan fitur orientasi tubuh. | true |
| waistOrientationWeight | Orientasi tubuh menggunakan campuran rotasi pinggang dan leher; parameter ini menentukan mana dari keduanya yang lebih dominan. Nilai 1 memberikan penekanan penuh pada pinggang sementara 0 memberikan penekanan penuh pada leher. | 0.5 |
| useChatAnimations | Menyalakan atau mematikan fitur animasi obrolan. | true |
| useDefaultTriggerWordsForChatEmotes | Animasi obrolan dilengkapi dengan daftar default kata pemicu. Atur parameter ini ke false jika Anda ingin mematikannya dan menyediakan kata pemicu Anda sendiri. | true |
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage.SocialInteractions)
-- Membuat rotasi pinggang lebih mencolok dan menonaktifkan fitur animasi obrolan
SocialInteractions.configure({
waistOrientationWeight = 0.75,
useChatAnimations = false,
})setTriggerWordsForChatAnimation
setTriggerWordsForChatAnimation(animationId: string, triggerWords: table)
Mendaftarkan animasi baru dalam fitur animasi obrolan. Mengetik kata apa pun yang cocok dengan pola string yang termasuk dalam tabel triggerWords akan mengaktifkan animasi yang ID-nya diteruskan sebagai parameter pertama.
Perlu dicatat bahwa kata pemicu bersifat tidak peka huruf besar/kecil bagi pemain, jadi pola woah akan menerima frasa obrolan woah, WOAH, Woah, dan variasi lainnya.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage.SocialInteractions)
-- Mendaftarkan pola string baru untuk animasi kustom
SocialInteractions.setTriggerWordsForChatAnimation(
"rbxassetid://3334538554",
{"cra+zy", "woah+"}
)Peristiwa
onChatAnimationPlayed
Ditembakkan ketika animasi obrolan dimainkan. Fungsi yang terhubung menerima ID animasi dan kata yang memicu animasi sebagai argumennya. Peristiwa ini hanya dapat dihubungkan dalam LocalScript.
| Parameter | |
|---|---|
| animationId: string | ID animasi yang dimainkan. |
| triggerWord: string | Kata obrolan yang memicu animasi. |
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage.SocialInteractions)
SocialInteractions.onChatAnimationPlayed:Connect(function(animationId, triggerWord)
print(animationId, triggerWord)
end)