감정 표현은 모든 사회적 경험의 핵심 구성 요소입니다.EmoteBar 개발자 모듈은 플레이어에게 의미 있는 사회적 상호작용을 용이하게 하는 접근 가능하고 사용자 지정 가능한 방법을 제공하기 위해 노력합니다.
모듈 사용
설치
경험에서 감정 표현 바 모듈을 사용하려면:
보기 탭에서 도구 상자 를 열고 크리에이터 스토어 탭을 선택합니다.
모델 정렬이 선택되었는지 확인한 다음 모두 보기 버튼을 클릭하여 카테고리를 확인하십시오.
찾아서 클릭하십시오 개발자 모듈 타일.
감정 표현 바 모듈을 찾아 클릭하거나 3D 뷰에 드래그 앤 드롭하세요.
탐색기 창에서 전체 EmoteBar 모델을 ServerScriptService로 이동합니다.경험을 실행하면 모듈이 다양한 서비스에 배포되고 실행을 시작합니다.
구성
모듈은 7개의 이모트로 미리 구성되어 있으며, 사용자 고유의 이모트와 표시 옵션으로 쉽게 사용자 지정할 수 있습니다.또한, 플레이어가 Lil Nas X, Royal Blood 또는 Twenty One Pilots와 같은 이전 Roblox 이벤트의 감정 표현을 소유하고 있는 경우, 해당 감정 표현은 사용 가능한 감정 표현 목록에 자동으로 추가됩니다.
In ServerScriptService 에서 새로운 Script를 생성하고 이름을 Emotes 구성 으로 변경합니다.
새로운 ConfigureEmotes 스크립트에 다음 코드를 붙여넣으십시오.useDefaultEmotes 설정의 false 기본 이모트를 재정의하고 setEmotes 함수를 통해 사용자 지정 이모트를 정의할 수 있습니다.
스크립트 - ConfigureEmoteslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureServer({useDefaultEmotes = false,})EmoteBar.setEmotes({{name = "Hello",animation = "rbxassetid://3344650532",image = "rbxassetid://7719817462",defaultTempo = 1,},{name = "Applaud",animation = "rbxassetid://5915693819",image = "rbxassetid://7720292217",defaultTempo = 2,},})
메가 감정 표현
같은 영역에 있는 여러 플레이어가 동시에 동일한 감정 표현을 수행하면 메가 감정 표현 이 형성됩니다.점점 더 많은 플레이어가 참여함에 따라 메가 감정 표현이 커집니다.플레이어가 감정 표현을 중지하면 메가 감정 표현은 점점 작아지다가 결국 사라집니다.

템포
감정 표현의 속도 는 버튼이 한 번 탭될 때 재생되는 속도입니다.감정 표현의 기본 속도는 그것의 defaultTempo에 의해 결정됩니다.감정 표현의 속도는 더 빠르거나 느린 버튼을 탭하여 증가하거나 감소할 수 있습니다.
API 참조
유형
감정 표현
각 감정 표현은 다음 키-값 쌍으로 구성된 사전으로 표시됩니다:
키 | 유형 | 설명 |
---|---|---|
name | 문자열 | 예를 들어 감정 표현 이름, "Shrug". |
animation | 문자열 | 감정 표현 애니메이션의 자산 ID. |
image | 문자열 | GUI에서 감정 표현의 이미지에 대한 자산 ID. |
defaultTempo | 번호 | 감정 표현 애니메이션을 재생할 기본 속도 요소.예를 들어, 2의 템포는 일반 속도의 두 배로 애니메이션을 재생합니다.0보다 커야 합니다. |
isLocked | 부울 | 감정 표현이 활성화되지 않도록 "잠겨" 있는지 여부. |
열거형
감정 표현 바.GuiType
이름 | 요약 |
---|---|
EmoteBar | 화면 하단에 있는 바에 감정 표현이 표시되는 기본 형식, 개별 "페이지"로 분리됨 |
EmoteWheel | 플레이어가 플레이어 캐릭터를 클릭하거나 탭하면 링에서 감정 표현이 표시되는 변형. |
로컬 스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureClient({guiType = EmoteBar.GuiType.EmoteWheel,})
함수
서버 구성
서버 구성(config: table)
다음 키/값을 사용하여 config 테이블의 기본 서버 측 구성 옵션을 재정의합니다.이 함수는 Script에서만 호출할 수 있으며 변경 사항은 모든 클라이언트에 자동으로 복제됩니다.
키 | 설명 | 기본 |
---|---|---|
useDefaultEmotes | 제공된 기본 감정 표현이 포함되는지 여부. | 참 |
useMegaEmotes | 메가 감정 표현 기능을 활성화하거나 비활성화합니다. | 참 |
emoteMinPlayers | 메가 이모트에 기여하기 위해 동일한 이모트를 수행하는 플레이어의 최소 수. | 3 |
emoteMaxPlayers | 메가 이모트에 기여하기 위해 동일한 이모트를 수행하는 플레이어의 최대 수. | 50 |
playParticles | 플레이어가 머리 위로 떠있는 입자로 감정 표현을 재생하도록 설정하거나 비활성화합니다. | 참 |
sendContributingEmotes | 메가 이모트에 기여하기 위해 작은 이모트 아이콘을 전송하도록 설정하거나 비활성화합니다. | 참 |
스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureServer({emoteMinPlayers = 2,playParticles = false,})
클라이언트 구성
client 구성(config: table )
다음 키/값을 사용하여 config 테이블의 기본 클라이언트 측 구성 옵션을 재정의합니다.이 함수는 LocalScript 호출할 수 있습니다.guiType 의 값에 따라 주석에 있는 옵션도 적용됩니다.
키 | 설명 | 기본 |
---|---|---|
guiType | GUI를 구성하는 컨트롤은 감정 표현을 표시하기 위해 사용됩니다(EmoteBar.GuiType). | 이모트바 |
useTempo | 사용자가 동일한 감정 표현을 반복적으로 활성화하여 플레이되는 감정 표현의 속도를 제어할 수 있는 템포 기능을 활성화하거나 비활성화합니다. | 참 |
tempoActivationWindow | 시간, 초 단위로, 사용자가 템포의 일부로 계산되도록 감정 표현을 순차적으로 활성화하는 데 걸리는 시간. | 3 |
lockedImage | 잠금된 감정 표현 위에 표시할 이미지. | “rbxassetid://6905802778” |
로컬스크립트 - 감정표현 바
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureClient({guiType = EmoteBar.GuiType.EmoteBar,maxEmotesPerPage = 6,nextPageKey = Enum.KeyCode.Z,prevPageKey = Enum.KeyCode.C,})
로컬스크립트 - 감정 바퀴
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureClient({guiType = EmoteBar.GuiType.EmoteWheel,})
emotes 설정
setEmotes(emotes: table )
사용할 사용자 지정 이모트를 설정합니다.이들은 기본값에 추가되거나, useDefaultEmotes 가 true 인 경우 기본값을 대체하거나, useDefaultEmotes 가 false인 경우 기본값을 대체합니다.이 함수는 Script에서만 호출할 수 있으며 변경 사항은 모든 클라이언트에 자동으로 복제됩니다
이 함수에 전달된 각 감정 표현의 구조는 감정 표현을 참조하십시오.
스크립트 - ConfigureEmotes
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureServer({useDefaultEmotes = false,})EmoteBar.setEmotes({{name = "Hello",animation = "rbxassetid://3344650532",image = "rbxassetid://7719817462",defaultTempo = 1,},{name = "Applaud",animation = "rbxassetid://5915693819",image = "rbxassetid://7720292217",defaultTempo = 2,},})
setGuiVisibility
setGuiVisibility(visible: boolean)
감정 표현 GUI를 표시하거나 숨깁니다. 이 함수는 특정 클라이언트에서만 LocalScript에서 호출할 수 있습니다.
로컬 스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.setGuiVisibility(false)
감정표현 가져오기 getEmote
이름으로 감정 표현을 가져옵니다.감정 표현을 찾을 수 없으면 nil를 반환합니다.이 함수는 특정 클라이언트에서만 LocalScript에서 호출할 수 있습니다.
로컬 스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))local shrug = EmoteBar.getEmote("Shrug")
플레이Emote
playEmote(emote: 감정 표현 )
지정된 감정 표현을 재생하고 연결된 경우 서버에서 감정 표현 플레이 이벤트를 발생시킵니다.이 함수는 특정 클라이언트에서만 LocalScript에서 호출할 수 있습니다.
로컬 스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))local shrug = EmoteBar.getEmote("Shrug")EmoteBar.playEmote(shrug)
잠금 감정표현
lockEmote(emoteName: string )
지정된 이름으로 감정 표현을 잠금합니다. 이 함수는 클라이언트에서만 LocalScript 호출할 수 있습니다.
로컬 스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.lockEmote("Applaud")
감정 표현 잠금 해제
감정 표현 잠금 해제(emoteName: string )
지정된 이름으로 감정 표현을 잠금 해제합니다. 이 함수는 클라이언트에서만 LocalScript
로컬 스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.unlockEmote("Applaud")
이벤트
감정 표현 재생됨
클라이언트가 감정 표현을 재생할 때 발생합니다. 이 이벤트는 LocalScript에만 연결할 수 있습니다.
로컬 스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
EmoteBar.emotePlayed:Connect(function(player, emote)
print(player.Name, "played", emote.name)
end)
잠긴 감정 표현 활성화
클라이언트가 잠긴 이모트를 클릭할 때 발생합니다. 이 이벤트는 LocalScript에만 연결할 수 있습니다.
매개 변수 | |
---|---|
감정 표현: 감정 표현 | 활성화된 잠긴 감정 표현. |
로컬 스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
EmoteBar.lockedEmoteActivated:Connect(function(emote)
print(Players.LocalPlayer, "clicked", emote.name)
end)