이모트는 채팅 명령어("/e cheer")를 사용하거나 게임의 오른쪽 상단에 있는 이모트 메뉴에 접근하여 사용할 수 있는 표현력 있는 캐릭터 애니메이션입니다. 모든 사용자는 댄스, 포인트, 응원과 같은 기본 이모트에 접근할 수 있습니다. 추가 아바타 이모트는 마켓플레이스에서 구매 및 장착할 수 있습니다.
게임 내에서 다음과 같은 이모트 사용자 정의를 수행할 수 있습니다:
이모트 메뉴
사용자의 이모트 메뉴를 수동으로 열고 닫거나, 특정 이모트를 표시하도록 메뉴를 사용자 정의하거나, 메뉴를 완전히 비활성화할 수 있습니다.
열기 및 닫기
플레이어의 이모트 메뉴를 수동으로 열거나 닫으려면 GuiService:SetEmotesMenuOpen()을 호출하고 true 또는 false의 불리언 값을 전달합니다.
다음 코드 샘플은 사용자의 이모트 메뉴를 엽니다:
-- 이모트 메뉴 열기local GuiService = game:GetService("GuiService")GuiService:SetEmotesMenuOpen(true)
이모트 메뉴가 열려 있는지 감지해야 하는 경우, GuiService:GetEmotesMenuOpen()을 호출합니다. 이는 메뉴의 현재 상태를 나타내는 불리언 값을 반환합니다.
이모트 추가 및 제거
카탈로그의 이모트를 설정한 후 Humanoid에 이모트를 장착하여 이모트 메뉴를 사용자 정의합니다. HumanoidDescription:SetEmotes() 메서드를 사용하여 이모트를 설정하고, 최대 8개의 이모트를 HumanoidDescription:SetEquippedEmotes()를 통해 이모트 메뉴에 장착할 수 있습니다.
게임 내에서 이모트를 설정하고 장착하기 위해 StarterCharacterScripts 폴더 내의 LocalScript에서 다음 코드 샘플을 사용하세요:
local Players = game:GetService("Players")local humanoid = Players.LocalPlayer.Character.Humanoidlocal humanoidDescription = humanoid.HumanoidDescription-- 테이블 내에서 사용자 지정 이모트 설정local emoteTable = {["Hello"] = {3576686446},["Stadium"] = {3360686498},["Tilt"] = {3360692915},["Shrug"] = {3576968026},["Salute"] = {3360689775},["Point"] = {3576823880}}humanoidDescription:SetEmotes(emoteTable)-- 특정 순서로 이모트 장착local equippedEmotes = {"Hello", "Stadium", "Tilt", "Shrug", "Salute", "Point"}humanoidDescription:SetEquippedEmotes(equippedEmotes)
비활성화
StarterGui:SetCoreGuiEnabled()로 이모트 메뉴를 비활성화할 수 있습니다. 이모트 메뉴를 비활성화해도 이모트를 채팅 명령어로 수행하는 것은 방해하지 않습니다.
다음 샘플 코드는 이모트 메뉴를 비활성화합니다:
local StarterGui = game:GetService("StarterGui")StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.EmotesMenu, false)
메뉴를 비활성화하는 것 외에도 StarterPlayer ⟩ Character 내의 StarterPlayer.UserEmotesEnabled 속성을 false로 설정하여 사용자 소유 이모트의 로드를 비활성화할 수 있습니다. 이 특정 속성은 스튜디오에서만 설정할 수 있으며 스크립트로 설정할 수 없습니다.
이모트 재생
캐릭터가 HumanoidDescription에 보유한 이모트를 수동으로 재생하려면 Humanoid:PlayEmote()를 호출하고 이모트의 문자열 이름을 전달합니다. 이 호출은 이모트가 성공적으로 재생되었음을 나타내기 위해 true를 반환하며, 그렇지 않은 경우 false를 반환합니다.
Shrug 이모트를 재생하기 위해 다음 코드 샘플을 사용하세요:
local Players = game:GetService("Players")local humanoid = Players.LocalPlayer.Character.Humanoidhumanoid:PlayEmote("Shrug")