감정 표현 바

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

감정 표현은 모든 사회적 경험의 핵심 구성 요소입니다.EmoteBar 개발자 모듈은 플레이어에게 의미 있는 사회적 상호작용을 용이하게 하는 접근 가능하고 사용자 지정 가능한 방법을 제공하기 위해 노력합니다.

모듈 사용

설치

경험에서 감정 표현 바 모듈을 사용하려면:

  1. 보기 탭에서 도구 상자 를 열고 크리에이터 스토어 탭을 선택합니다.

    Toolbox toggle button in Studio
  2. 모델 정렬이 선택되었는지 확인한 다음 모두 보기 버튼을 클릭하여 카테고리를 확인하십시오.

  3. 찾아서 클릭하십시오 개발자 모듈 타일.

  4. 감정 표현 바 모듈을 찾아 클릭하거나 3D 뷰에 드래그 앤 드롭하세요.

  5. 탐색기 창에서 전체 EmoteBar 모델을 ServerScriptService로 이동합니다.경험을 실행하면 모듈이 다양한 서비스에 배포되고 실행을 시작합니다.

구성

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

  1. In ServerScriptService 에서 새로운 Script를 생성하고 이름을 Emotes 구성 으로 변경합니다.

  2. 새로운 ConfigureEmotes 스크립트에 다음 코드를 붙여넣으십시오.useDefaultEmotes 설정의 false 기본 이모트를 재정의하고 setEmotes 함수를 통해 사용자 지정 이모트를 정의할 수 있습니다.

    스크립트 - 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,
    },
    })

메가 감정 표현

같은 영역에 있는 여러 플레이어가 동시에 동일한 감정 표현을 수행하면 메가 감정 표현 이 형성됩니다.점점 더 많은 플레이어가 참여함에 따라 메가 감정 표현이 커집니다.플레이어가 감정 표현을 중지하면 메가 감정 표현은 점점 작아지다가 결국 사라집니다.

템포

감정 표현의 속도 는 버튼이 한 번 탭될 때 재생되는 속도입니다.감정 표현의 기본 속도는 그것의 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 의 값에 따라 주석에 있는 옵션도 적용됩니다.

설명기본
guiTypeGUI를 구성하는 컨트롤은 감정 표현을 표시하기 위해 사용됩니다(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 )

사용할 사용자 지정 이모트를 설정합니다.이들은 기본값에 추가되거나, useDefaultEmotestrue 인 경우 기본값을 대체하거나, useDefaultEmotesfalse인 경우 기본값을 대체합니다.이 함수는 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

getEmote(emoteName: string ): table

이름으로 감정 표현을 가져옵니다.감정 표현을 찾을 수 없으면 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에만 연결할 수 있습니다.

매개 변수
플레이어: Player감정 표현수행한 플레이어.
감정 표현: 감정 표현재생된 감정 표현.
로컬 스크립트

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)