캐릭터 이름/체력 표시

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

Class.Humanoid 인스턴스는 사용자 아바타 및 NPC 모두에 대해 캐릭터 모델을 생성합니다. Humanoid 가 있는 Model 내에 있는 경우 Roblox는 해당 부분 위에 이름 및/또는 체력 표시 줄을 표시합니다.

Character display information above an in-experience avatar

다양한 Humanoid 속성을 통해 팔로잉수정할 수 있습니다.

  • 사용자가 자신의 캐릭터와 관련하여 다른 인간형의 이름/상태를 볼 수 있는 거리 사이.
  • 인간형 위에 표시되는 표시 이름입니다.
  • 인간의 체력 바가 항상 표시되는지, 아니면 손상된 인간 때만 표시되는지.
  • 카메라와 다른 인간형 사이의 시야 라인이 차단된 경우 이름 및 체력 표시줄이 숨겨져 있는지 여부.

속성 표시

표시 거리 유형

Class.Humanoid.DisplayDistanceType 속성은 사용자가 다른 캐릭터의 이름/건강과 관련하여 자신의 캐릭터에 대해 볼 수 있는 방법을 설정합니다.

보기

Class.Humanoid.DisplayDistanceType|Class.Humanoid.DisplayDistanceType 을 HumanoidDisplayDistanceType.Viewer 와 Class.Humanoid

다음 시나리오에서 사용자의 캐릭터 ( 보기 )는 원의 크기가 NameDisplayDistance 보다 큰 HealthDisplayDistance 를 가지고 있습니다

주제

인간의 DisplayDistanceType 이 인간의 이름과 체력 표시를 통해 전체 컨트롤을 수행하면

다음 시나리오에서 WatchmanOctavia주제 로 설정되며, 그들의 1> Class.Humanoid.NameDisplayDistance|NameDisplayDistance1> 범위는 원 주위에 표시됩니다. 단지 이름 4>Octavia4> 만 해

없음

인간의 DisplayDistanceTypeHumanoidDisplayDistanceType.None 으로 설정되면 이름 및 건강 바가 아래에 나타나지 않습니다. 다음 시나리오에서 모든

건강 상태 표시 유형

Class.Humanoid.HealthDisplayType 속성은 캐릭터의 체력 표시줄 가시성을 더 자세게 제어합니다. 표시줄은 캐릭터의 체력 표시줄 가시성을 요소로 반영하며, 캐릭터의 체력 최대치 하향 변경 및 캐릭터의 체력 하락에

항상 켜기

인간의 HealthDisplayTypeHumanoidHealthDisplayType.AlwaysOn로 설정되면 항상 체력 표시줄이 나타납니다.

손상 시 표시

Class.Humanoid.HealthDisplayType|HealthDisplayType을 HumanoidHealthDisplayType.DisplayWhenDamaged 보다 작으면 건강 바가 표시되지 않습니

항상 끄기

인간의 HealthDisplayTypeHumanoidHealthDisplayType.AlwaysOff 로 설정되면 그 어떤 경우에도 건강 바가 나타나지 않습니다.

닫기

벽이나 다른 개체 뒤에 있는 인형 이름의 가려짐(숨기기)은 Humanoid.NameOcclusion 속성에 의해 제어됩니다.

결함 없음

인간형이 가시 개체 뒤에 숨겨지면 그의 NameOcclusionNameOcclusion.NoOcclusion 으로 설정되어 있으며, 이름과 건강은 인간형을 볼 때 결코 가려지지 않습니다.

다음 시나리오에서 WatchmanOctaviaNoOcclusion 로 설정됩니다. 두 가지 모두 충분히 숨겨져 있지만 시야 인간은 여전히 1>이름/건강1> 표시를 볼 수 있습니다.

전체 제외

인간형이 가시 개체 뒤에 숨겨지면 그의 NameOcclusionNameOcclusion.OccludeAll 로 설정되어 있으므로 인간형의 이름과 상태는 항상 인간형을 보는 것에서 숨겨집니다.

다음 시나리오에서는 WatchmanOctavia 가 충분히 숨겨져 있는 돌 기둥 뒤에 숨겨져 있습니다. Watchman 는 1>OccludeAll1> 로 설정되므로 그녀의 이름

적의 눈

Class.Humanoid.NameOcclusion|NameOcclusion 이 NameOcclusion.EnemyOcclusion 으로 설정되면 적에게 보이지 않는 이름과 체력만 occlusion되고 플레이어에게는 occlusion되지 않습니다 (다른 Team 에서 플레이하는 플레이어).

다음 시나리오에서는 WatchmanOctavia 가 충분히 돌 기둥 뒤에 숨겨져 있으며 두 가지 모두 EnemyOcclusion 로 설정됩니다. 시야 인간 및 1>Watchman

캐릭터 디스플레이 수정

사용자 아바타

경험에서 모든 아바타의 이름이나 체력 표시를 수정하려면 Players.PlayerAddedPlayer.CharacterAdded 이벤트를 Script에 연결하고 캐릭터의 2>Class.Humanoid2>에 대한 디스플레이 속성을 설정하고 5>Class.Script</

스크립트 - 전역 사용자 지정

local Players = game:GetService("Players")
local function onPlayerAdded(player)
player.CharacterAdded:Connect(function(character)
local humanoid = character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
-- 각 휴머노이드에 이름/체력 표시 범위에 대한 완전한 제어 부여
humanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.Subject
-- 이름 표시 거리를 20개로 설정
humanoid.NameDisplayDistance = 20
-- 체력 표시 바 표시 거리를 15 studs로 설정합니다.
humanoid.HealthDisplayDistance = 15
-- 인간형이 손상된 경우 오직 체력 표시줄만 표시합니다.
humanoid.HealthDisplayType = Enum.HumanoidHealthDisplayType.DisplayWhenDamaged
end
end)
end
Players.PlayerAdded:Connect(onPlayerAdded)

플레이어의 Team 속성을 사용자 정의하여 모든 "가드"플레이어를 일반적인 이름으로 설정하고 모든 "닌자"플레이어의 이름을 숨길 수 있습니다.

스크립트 - 팀 사용자 정의

local Players = game:GetService("Players")
local function onPlayerAdded(player)
player.CharacterAdded:Connect(function(character)
local humanoid = character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
-- 모든 경비원의 이름을 일반적인 "경비원"으로 설정
if player.Team.Name == "Guards" then
humanoid.DisplayName = "Guard"
-- 모든 닌자의 이름 숨기기
elseif player.Team.Name == "Ninjas" then
humanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
end
end
end)
end
Players.PlayerAdded:Connect(onPlayerAdded)

NPC 캐릭터

이미 3D 세계에 배치된 NPC 캐릭터의 경우, Humanoid 개체 내의 Name 및 Health를 직접 2>Properties2> 창에서 편집할 수 있습니다.

표시 이름 재정의

기본적으로 인간의 표시 이름은 사용자의 Roblox 계정의 이름과 일치합니다 이름 이며, 계정의 이름과 별도입니다 사용자 이름 . 사용자의 계정과 관련이 없는 완전히 사용자 지정 된 이름을 표시하려면 Humanoid.DisplayName

직접 설정

Class.Humanoid.DisplayName|DisplayName 속성을 가진 모든 Humanoid 인스턴스의 참조를 설정하는 데 사용할 수 있는 모든 속성 중 하나입니다. 예를 들어, Script 예 또는 직접

사용자 입력을 통해 설정

일부 장르, 예를 들어 롤플레이나 격투, 사용자가 자신의 캐릭터 이름, 펫 캐릭터 이름 등을 입력하는 방법을 제공하면 경험과 계정 표시 이름에 특정인 입니다. 이 입력은 클라이언트 측에서 TextBox을 통해 수집할 수 있습니다.

입력이 제출되면 원격 이벤트를 통해 서버에 전달하고 서버 측에서 원격 이벤트를 수신한 다음 필터링된 이름을 사용자 캐릭터의 Class.Humanoid에 할당하십시오.

로컬 스크립트 - 원격 이벤트 발생

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local changeNameEvent = ReplicatedStorage:WaitForChild("ChangeNameEvent")
changeNameEvent:FireServer("Amory")
스크립트 - 필터된 이름 할당

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TextService = game:GetService("TextService")
-- 텍스트를 필터링하기 위해 클라이언트에서 이벤트를 원격으로 생성
local changeNameEvent = Instance.new("RemoteEvent")
changeNameEvent.Name = "ChangeNameEvent"
changeNameEvent.Parent = ReplicatedStorage
local function onRequestNameChange(player, newName)
local character = player.Character
local humanoid = character:FindFirstChildWhichIsA("Humanoid")
local filterResult
local success, errorMessage = pcall(function()
filterResult = TextService:FilterStringAsync(newName, player.UserId)
end)
if success then
local filteredName
local success, errorMessage = pcall(function()
filteredName = filterResult:GetNonChatStringForBroadcastAsync()
end)
if success and humanoid then
humanoid.DisplayName = filteredName
end
end
end
changeNameEvent.OnServerEvent:Connect(onRequestNameChange)