이모티콘 바

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

이모티콘은 모든 소셜 게임의 핵심 요소입니다. EmoteBar 개발자 모듈은 플레이어가 의미 있는 사회적 상호작용을 촉진할 수 있도록 접근 가능하고 사용자 정의 가능한 방법을 제공합니다.

모듈 사용법

설치

게임에서 EmoteBar 모듈을 사용하려면:

  1. Studio의 메뉴 또는 탭 도구 모음에서 툴박스를 열고 크리에이터 스토어 탭을 선택합니다.

  2. 모델 정렬이 선택되었는지 확인한 후, 카테고리모두 보기 버튼을 클릭합니다.

  3. 패키지 타일을 찾아 클릭합니다.

  4. Emote Bar 모듈을 찾아 클릭하거나 3D 뷰로 드래그 앤 드롭합니다.

  5. 탐색기 창에서 전체 EmoteBar 모델을 ReplicatedStorage로 이동합니다. 게임을 실행하면 모듈이 실행되기 시작합니다.

구성

이 모듈은 7개의 이모티콘으로 미리 구성되어 있으며, 사용자의 이모티콘 및 표시 옵션으로 쉽게 사용자 정의할 수 있습니다. 또한, 플레이어가 Lil Nas X, Royal Blood 또는 Twenty One Pilots와 같은 이전 Roblox 이벤트에서 소유한 이모티콘이 있다면, 해당 이모티콘이 자동으로 사용 가능한 이모티콘 목록에 추가됩니다.

  1. ServerScriptService에서 새 Script를 만들고 이름을 ConfigureEmotes로 변경합니다.

  2. ConfigureEmotes 스크립트에 다음 코드를 붙여넣습니다. useDefaultEmotes 설정이 false로 설정되면 기본 이모티콘을 무시하고 setEmotes 함수를 통해 사용자 정의 이모티콘을 정의할 수 있습니다.

    Script - ConfigureEmotes
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local EmoteBar = require(ReplicatedStorage.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 참조

유형

이모티콘

각 이모티콘은 다음 키-값 쌍을 가진 사전으로 표현됩니다:

유형설명
namestring이모티콘 이름, 예: "Shrug".
animationstring이모티콘 애니메이션의 자산 ID.
imagestringGUI에서 이모티콘의 이미지 자산 ID.
defaultTemponumber이모티콘 애니메이션을 재생할 기본 속도 계수. 예를 들어, 템포가 2이면 애니메이션이 정상 속도의 두 배로 재생됩니다. 0보다 커야 합니다.
isLockedbool이모티콘이 활성화되지 않도록 "잠금" 상태인지 여부.

열거형

EmoteBar.GuiType

이름요약
EmoteBar이모티콘이 화면 하단에 바 형태로 표시되는 기본 형태로, 개별 "페이지"로 구분됩니다.
EmoteWheel플레이어가 자신의 캐릭터를 클릭하거나 탭할 때 이모티콘이 링 형태로 표시되는 변형입니다.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureClient({
guiType = EmoteBar.GuiType.EmoteWheel,
})

함수

configureServer

configureServer(config: table)

다음 키/값을 통해 기본 서버 측 구성 옵션을 재정의합니다. 이 함수는 Script에서만 호출할 수 있으며, 변경 사항은 자동으로 모든 클라이언트에 복제됩니다.

설명기본값
useDefaultEmotes제공된 기본 이모티콘이 포함되는지 여부.true
useMegaEmotes메가 이모티콘 기능을 활성화하거나 비활성화합니다.true
emoteMinPlayers메가 이모티콘에 기여하기 위해 동일한 이모티콘을 수행하는 최소 플레이어 수.3
emoteMaxPlayers메가 이모티콘에 기여하기 위해 동일한 이모티콘을 수행하는 최대 플레이어 수.50
playParticles플레이어가 수행하는 이모티콘을 머리 위에 떠 있는 입자로 표시할지 여부.true
sendContributingEmotes메가 이모티콘에 기여하기 위해 작은 이모티콘 아이콘을 전송할지 여부.true
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureServer({
emoteMinPlayers = 2,
playParticles = false,
})

configureClient

configureClient(config: table)

다음 키/값을 통해 기본 클라이언트 측 구성 옵션을 재정의합니다. 이 함수는 LocalScript에서만 호출할 수 있습니다. guiType의 값에 따라 주목된 탭의 옵션도 적용됩니다.

설명기본값
guiType이모티콘을 표시하기 위한 GUI의 형태를 제어합니다 (EmoteBar.GuiType).EmoteBar
useTempo사용자가 이모티콘을 리드미컬하게 반복적으로 활성화하여 재생 속도를 조절할 수 있는 템포 기능을 활성화하거나 비활성화합니다.true
tempoActivationWindow이모티콘의 연속 활성화 사이의 시간(초)입니다. 이 시간 내에 활성화되어야 템포의 일부로 간주됩니다.3
lockedImage잠긴 이모티콘 위에 표시할 이미지입니다."rbxassetid://6905802778"
LocalScript - Emote Bar
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureClient({
guiType = EmoteBar.GuiType.EmoteBar,
maxEmotesPerPage = 6,
nextPageKey = Enum.KeyCode.Z,
prevPageKey = Enum.KeyCode.C,
})
LocalScript - Emote Wheel
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureClient({
guiType = EmoteBar.GuiType.EmoteWheel,
})

setEmotes

setEmotes(emotes: table)

사용할 사용자 정의 이모티콘을 설정합니다. useDefaultEmotestrue인 경우 기본값에 추가되거나, useDefaultEmotesfalse인 경우 기본값을 대체합니다. 이 함수는 Script에서만 호출할 수 있으며, 변경 사항은 자동으로 모든 클라이언트에 복제됩니다.

이 함수에 전달되는 각 이모티콘의 구조는 이모티콘을 참조하십시오.

Script - ConfigureEmotes
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.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에서만 호출할 수 있습니다.

LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.setGuiVisibility(false)

getEmote

getEmote(emoteName: string): table

이름으로 이모티콘을 가져옵니다. 이모티콘을 찾을 수 없는 경우 nil을 반환합니다. 이 함수는 특정 클라이언트의 LocalScript에서만 호출할 수 있습니다.

LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
local shrug = EmoteBar.getEmote("Shrug")

playEmote

playEmote(emote: Emote)

주어진 이모티콘을 재생하고, 서버에서 emotePlayed 이벤트를 발생시킵니다. 이 함수는 특정 클라이언트의 LocalScript에서만 호출할 수 있습니다.

LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
local shrug = EmoteBar.getEmote("Shrug")
EmoteBar.playEmote(shrug)

lockEmote

lockEmote(emoteName: string)

주어진 이름의 이모티콘을 잠급니다. 이 함수는 클라이언트의 LocalScript에서만 호출할 수 있습니다.

LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.lockEmote("Applaud")

unlockEmote

unlockEmote(emoteName: string)

주어진 이름의 이모티콘의 잠금을 해제합니다. 이 함수는 클라이언트의 LocalScript에서만 호출할 수 있습니다.

LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.unlockEmote("Applaud")

이벤트

emotePlayed

어떤 클라이언트가 이모티콘을 재생할 때 발생합니다. 이 이벤트는 LocalScript에서만 연결할 수 있습니다.

매개변수
player: Player이모티콘을 수행한 플레이어.
emote: Emote재생된 이모티콘.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.emotePlayed:Connect(function(player, emote)
print(player.Name, "played", emote.name)
end)

lockedEmoteActivated

클라이언트가 잠긴 이모티콘을 클릭할 때 발생합니다. 이 이벤트는 LocalScript에서만 연결할 수 있습니다.

매개변수
emote: Emote활성화된 잠긴 이모티콘.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.lockedEmoteActivated:Connect(function(emote)
print(Players.LocalPlayer, "clicked", emote.name)
end)
©2026 Roblox Corporation. Roblox 및 Roblox 로고, 'Powering Imagination'은 미국 및 기타 국가 내 당사의 등록 및 미등록 상표입니다.