Avatar Anda adalah identitas Anda di setiap ruang yang Anda masuki. Modul SocialInteractions pengembang modul memungkinkan setiap pengguna untuk lebih mengekspresikan diri dan gerakan alami mereka, menambahkan sentuhan realisme pada pengalaman tersebut.
Modul ini mencakup fitur-fitur berikut:
| Orientasi Tubuh | Memungkinkan kepala avatar setiap orang menghadap ke arah kamera pengguna mereka, melalui perpaduan rotasi leher dan pinggang. Ini memberikan isyarat halus tentang siapa atau apa yang sedang diinteraksikan seseorang. |
| Animasi Obrolan | Menambahkan keceriaan pada obrolan di dalam pengalaman dengan membuat avatar terkadang bermain 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 suatu pengalaman:
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 lepaskan ke dalam tampilan 3D.

Di jendela Explorer, pindahkan seluruh model SocialInteractions ke ReplicatedStorage. Setelah menjalankan pengalaman, modul ini akan mulai berjalan.
Konfigurasi
Cukup memasukkan modul SocialInteractions akan mengaktifkan fitur orientasi tubuh dan animasi obrolan di dalam tempat Anda. Untuk menyesuaikan perilaku default:
Di StarterPlayerScripts, buat LocalScript baru dan ubah 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 menonjol 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 dapat 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 juga bahwa kata pemicu bersifat tidak sensitif terhadap huruf besar, 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+ |
| Tertawa | 3337966527 | lo+l+ rof+l+ ha[ha]* he[he]+ |
| Tidur | 4686925579 | zzz+ yawn+ |
Daftar kata pemicu yang mengaktifkan setiap animasi dapat dikonfigurasi, dan animasi tambahan dapat ditambahkan melalui fungsi setTriggerWordsForChatAnimation. Sebagai contoh, 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.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SocialInteractions = require(ReplicatedStorage.SocialInteractions)-- Daftarkan pola string untuk animasi "Tilt"SocialInteractions.setTriggerWordsForChatAnimation("rbxassetid://3334538554", {"cra+zy"})-- Daftarkan 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 fitur orientasi tubuh. | true |
| waistOrientationWeight | Orientasi tubuh menggunakan perpaduan rotasi pinggang dan leher; parameter ini menentukan mana dari keduanya yang lebih dominan. Nilai 1 menempatkan penekanan lengkap pada pinggang sementara 0 menempatkan penekanan penuh pada leher. | 0.5 |
| useChatAnimations | Menyalakan fitur animasi obrolan. | true |
| useDefaultTriggerWordsForChatEmotes | Animasi obrolan dilengkapi dengan daftar default kata pemicu. Setel parameter ini ke false jika Anda ingin mematikannya dan menyediakan kata sendiri. | true |
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SocialInteractions = require(ReplicatedStorage.SocialInteractions)-- Membuat rotasi pinggang lebih menonjol dan menonaktifkan fitur animasi obrolanSocialInteractions.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 dengan ID yang diteruskan sebagai parameter pertama.
Perlu dicatat bahwa kata pemicu bersifat tidak sensitif terhadap huruf besar bagi pemain, sehingga pola woah akan menerima frasa obrolan woah, WOAH, Woah, dan variasi lainnya.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SocialInteractions = require(ReplicatedStorage.SocialInteractions)-- Daftarkan pola string baru untuk animasi kustomSocialInteractions.setTriggerWordsForChatAnimation("rbxassetid://3334538554",{"cra+zy", "woah+"})
Acara
onChatAnimationPlayed
Ditembakkan ketika animasi obrolan dimainkan. Fungsi yang terhubung menerima ID animasi dan kata yang memicu animasi sebagai argumennya. Acara ini hanya bisa terhubung dalam LocalScript.
| Parameter | |
|---|---|
| animationId: string | ID animasi yang diputar. |
| triggerWord: string | Kata obrolan yang memicu animasi. |
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage.SocialInteractions)
SocialInteractions.onChatAnimationPlayed:Connect(function(animationId, triggerWord)
print(animationId, triggerWord)
end)