당신의 아바타는 당신이 들어가는 모든 공간에서의 정체성입니다. SocialInteractions 개발자 모듈은 각 사용자가 자신을 더 잘 표현하고 자연스러운 움직임을 보여줄 수 있게 하여 경험에 사실감을 더합니다.
이 모듈은 다음과 같은 기능을 포함합니다:
| 신체 정렬 | 모든 사용자 아바타의 머리가 해당 사용자의 카메라가 가리키는 방향을 바라보도록 하며, 목과 허리 회전을 통해 조절됩니다. 이를 통해 누군가가 무엇과 상호작용하고 있는지에 대한 미묘한 힌트를 제공합니다. |
| 채팅 애니메이션 | 전반적인 채팅 경험에 활기를 더하며, 아바타가 보내는 메시지 내용에 따라 간헐적으로 애니메이션을 재생합니다. 각 애니메이션을 활성화하는 "트리거 단어" 목록은 구성 가능합니다. |
모듈 사용법
설치
경험에서 SocialInteractions 모듈을 사용하려면:
Studio의 창 메뉴 또는 홈 탭 도구 모음에서 툴박스를 열고, 크리에이터 스토어 탭을 선택합니다.

모델 정렬이 선택되어 있는지 확인한 후, 모든 보기 버튼을 클릭하여 카테고리를 엽니다.

패키지 타일을 찾아 클릭합니다.
소셜 상호작용 모듈을 찾아 클릭하거나 드래그하여 3D 뷰로 이동합니다.

탐색기 창에서 전체 SocialInteractions 모델을 ReplicatedStorage로 이동합니다. 경험을 실행하면 모듈이 실행되기 시작합니다.
구성
SocialInteractions 모듈을 단순히 삽입하면 귀하의 장소 안에서 신체 정렬 및 채팅 애니메이션 기능이 활성화됩니다. 기본 동작을 조정하려면:
StarterPlayerScripts에서 새로운 LocalScript를 생성하고 이름을 ConfigureSocialInteractions로 변경합니다.

새로운 스크립트에 다음 코드를 붙여넣고, 모듈의 동작을 사용자 정의하기 위해 configure 함수를 사용합니다.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SocialInteractions = require(ReplicatedStorage.SocialInteractions)-- 허리 회전을 더 강조하고 채팅 애니메이션 기능을 비활성화합니다.SocialInteractions.configure({waistOrientationWeight = 0.75,useChatAnimations = false,})
채팅 애니메이션 트리거 단어
각 채팅 애니메이션을 활성화하는 "트리거 단어" 목록은 구성 가능하며, 활용 가능한 문자열 패턴을 통해 인식 가능한 단어를 늘릴 수 있습니다. 예를 들어, Wave 애니메이션에서 사용되는 조합 중 하나는 he+y+o*로, 이는 hey, heyyy, heyo, heyyyyo, heeeeyyyyo 등의 변형이 애니메이션을 트리거하도록 구성됩니다.
또한 트리거 단어는 대소문자를 구분하지 않으므로, hey는 HEY, Hey 및 다른 변형과 동일하게 인식됩니다.
| 애니메이션 | 애니메이션 ID | 단어 패턴 |
|---|---|---|
| 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와 같은 트리거 단어를 지원합니다. 또한 Applaud 애니메이션에 대해 coo+l이라는 추가 문자열 패턴을 등록하여 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 테이블에 포함된 문자열 패턴과 일치하는 단어를 입력하면 첫 번째 매개변수로 전달된 ID의 애니메이션이 활성화됩니다.
트리거 단어는 플레이어에게 대소문자를 구분하지 않기 때문에, woah 패턴은 woah, WOAH, Woah 등 다양한 변형을 수용합니다.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SocialInteractions = require(ReplicatedStorage.SocialInteractions)-- 사용자 정의 애니메이션에 대한 새로운 문자열 패턴 등록SocialInteractions.setTriggerWordsForChatAnimation("rbxassetid://3334538554",{"cra+zy", "woah+"})
이벤트
onChatAnimationPlayed
채팅 애니메이션이 재생될 때 발생합니다. 연결된 함수는 애니메이션 ID와 애니메이션을 트리거한 단어를 인수로 받습니다. 이 이벤트는 LocalScript에서만 연결할 수 있습니다.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SocialInteractions = require(ReplicatedStorage.SocialInteractions)
SocialInteractions.onChatAnimationPlayed:Connect(function(animationId, triggerWord)
print(animationId, triggerWord)
end)