이모티콘은 모든 소셜 경험의 핵심 구성 요소입니다. EmoteBar개발자 모듈은 플레이어가 의미 있는 소셜 상호 작용을 쉽게 할 수 있도록 액세스 가능한 사용자 지정 가능한 방법을 제공하려고 합니다.
모듈 사용
설치
경험에서 EmoteBar 모듈을 사용하려면:
모델 정렬을 선택한 다음 모두 보기 버튼을 클릭하여 범주 에 대한 전체 보기를 클릭하십시오.
찾아 클릭하십시오 개발자 모듈 타일.
이모티콘 바 모듈을 찾아 클릭하거나 3D 뷰에 드래그 앤 드롭하세요.
탐색기 창에서 전체 EmoteBar 모델을 ServerScriptService 로 이동합니다. 경험을 실행할 때 모듈은 다양한 서비스에 배포되고 실행을 시작합니다.
구성
모듈은 7개의 이모티콘으로 미리 구성되지만, 자신의 이모티콘과 표시 옵션으로 쉽게 사용자 정의할 수 있습니다. 또한, 플레이어가 Lil Nas X, Royal Blood 또는 Twenty One Pilots와 같은 Roblox 이벤트의 이모티콘을 소유하고 있다면, 이 이모티콘은 사용 가능한 이모티콘 목록에 자동으로 추가
In ServerScriptService , 새로운 Script 를 생성하고 이름을 ConfigureEmotes 로 변경합니다.
새로운 ConfigureEmotes 스크립트에 다음 코드를 붙여넣습니다. useDefaultEmotes 설정의 false는 기본 이모티콘을 재정의하고 사용자 정의 이모티콘을 정의하도록 허용합니다.
스크립트 - 이모티콘 구성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,},})
메가 이모티콘
동일한 지역의 여러 플레이어가 동일한 감정 표현을 동시에 수행하면 메가 이모트 가 형성됩니다. 더 많은 플레이어가 참여함에 따라 메가 이모트는 점점 더 크게 됩니다. 플레이어가 이모트를 수행하지 않더라도 메가 이모트는 점점 더 작아지므로 마침내 사라집니다.
테모
감정 표현tempo는 버튼을 한 번 누르면 플레이하는 속도입니다. 이모티콘의 기본 속도는 defaultTempo 입니다. 감정 표현속도를 빠르거나 느리게 조정하려면 버튼을 더 빠르게 또는 더 느리게 탭하십시오.
API 참조
형식
이모티콘
각 이모티콘은 다음 키 값 쌍으로 표시됩니다:
키 | 유형 | 설명 |
---|---|---|
name | 문자열 | 이름, 예를 들어 "Shrug" . |
animation | 문자열 | 애니메이션 감정 표현대한 자산 ID. |
image | 문자열 | 이 감정 표현이미지에 대한 자산 ID. |
defaultTempo | 숫자 | 감정 표현 애니메이션을 재생할 기본 속도 요소. 예를 들어, 2초의 시간은 애니메이션을 두 배 더 빠르게 재생합니다. 0보다 더 큰 값이어야 합니다. |
isLocked | 부울 | 감정 표현이 활성화되었을 때 "잠긴"상태인지 여부. |
열거
EmoteBar.GuiType
이름 | 요약 |
---|---|
EmoteBar | 화면 하단에 있는 바에 표시되는 이모티콘이 개별 "페이지"로 표시되는 기본 형식입니다. |
EmoteWheel | 플레이어가 플레이어 캐릭터를 클릭하거나 탭하면 이모티콘이 링에 표시되는 변형. |
로컬 스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureClient({guiType = EmoteBar.GuiType.EmoteWheel,})
함수
서버 구성
Class.Script 테이블에 있는 다음 키/값을 통해 서버 사이드 구성 옵션을 재정의합니다. 이 함수는 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,})
구성 클라이언트
config 테이블의 다음 키/값을 통해 기본 클라이언트 사이드 구성 옵션을 재정의합니다. 이 함수는 LocalScript 호출할 수 있습니다. 기존 guiType 옵션에 따라 해당 탭에 있는 옵션도 적용됩니다.
키 | 설명 | 기본 |
---|---|---|
guiType | 이모티콘을 표시하는 컨트롤(EmoteBar.GuiType). | 이모티콘 표시줄 |
useTempo | 사용자가 동일한 감정 표현 �hythm을 반복하여 얼마나 빠르거나 느리게 감정 표현을 제어할 수 있는 테모 기능을 활성화하거나 비활성화합니다. | 참 |
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
사용자 지정 이모티콘을 사용할 수 있도록 설정합니다. 이는 useDefaultEmotes 가 true 인 경우에만 기본값에 추가되며, useDefaultEmotes 가 2>false2> 인 경우에는 기본값을 자동으로 대체합니다. 이 함
이 함수에 패스된 각 이모티콘의 구조에 대해서는 이모티콘을 참조하십시오.
스크립트 - 이모티콘 구성
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,},})
설정 가이드 표시
이모티콘 가이드를 보거나 숨깁니다. 이 기능은 특정 클라이언트의 LocalScript에서만 호출할 수 있습니다.
로컬 스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.setGuiVisibility(false)
이모티콘 가져오기
이름별 이모티콘을 가져옵니다. 이모티콘을 찾을 수 없으면 nil을 반환합니다. 이 함수는 특정 클라이언트의 LocalScript에서만 호출할 수 있습니다.
로컬 스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))local shrug = EmoteBar.getEmote("Shrug")
플레이 이모트
지정된 이모티콘을 재생하고 서버에서 이모티콘 플레이 이벤트를 발생시키고, 연결된 경우 LocalScript 이벤트를 서버에서 호출합니다. 이 함수는 특정 클라이언트의 2>Class.LocalScript2>에서만 호출할 수 있습니다.
로컬 스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))local shrug = EmoteBar.getEmote("Shrug")EmoteBar.playEmote(shrug)
lockEmote
이 이모티콘을 클라이언트에서만 사용할 수 있도록 합니다. Class.LocalScript 에서만 호출할 수 있는 이 함수는 클라이언트에서만 호출할 수 있습니다.
로컬 스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.lockEmote("Applaud")
Emote 잠금 해제
이 이름의 이모티콘을 잠금 해제합니다. 이 기능은 클라이언트의 LocalScript에서만 호출할 수 있습니다.
로컬 스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.unlockEmote("Applaud")
이벤트
emote플레이
클라이언트가 감정 표현플레이할 때 이벤트가 발생합니다. 이 이벤트는 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)