물리 기반 렌더링 (PBR) 텍스처는 여러 유형의 텍스처 이미지 또는 맵 을 사용하여 단일 개체에서 현실적인 그림자와 조명을 표현할 수 있습니다.여러 텍스처 맵을 결합하면 조명 환경에서 색상, 거칠기, 반사율을 더 정확하게 시뮬레이션할 수 있으며 자산과 환경의 시각적 요소를 향상시킬 수 있습니다.


PBR 텍스처를 생성하기 위한 다양한 응용 프로그램과 워크플로가 있습니다.Roblox Studio가 사용 중인 특정 텍스처 맵을 지원하는 한, 사용자 지정 3D 개체 작품모델링 및 텍스처링 단계에서 이를 사용할 수 있습니다.
이 가이드에서는 PBR 텍스처 맵을 사용하도록 메쉬 개체를 설정하는 방법과 Roblox가 지원하는 PBR 텍스처 맵의 일반적인 사용 사례와 최선의 방법을 설명합니다.자신의 표면을 만들 때, 일반적인 재료 값, 이미지 비교 및 의류 예제에 대한 재료 참조를 참조하십시오.
표면 모양 모습
원래 할당된 텍스처를 덮어쓰는 MeshPart 개체를 추가하여 모든 SurfaceAppearance 에 PBR 텍스처를 추가할 수 있습니다.일반적으로 경험 중에 스크립트로 SurfaceAppearance 속성을 수정할 수 없으며, 엔진에서 이러한 그래픽을 표시하기 위해 약간의 선행 처리가 필요하기 때문입니다.기본 텍스처를 추가하는 것과 마찬가지로, 각 텍스처 이미지 맵은 적절하게 업로드된 이미지 자산 ID를 가리킬 수 있어야 합니다.
MeshPart에 대한 표면 모양 활성화를 위해:
탐색기 창에서 을 가리키고 MeshPart 버튼을 클릭하십시오.
컨텍스트 메뉴에서 SurfaceAppearance를 삽입합니다.
텍스처 맵을 SurfaceAppearance 개체에 추가할 준비가 되면 속성 창에서 각 맵 속성을 클릭하고 자산 ID를 입력하면 됩니다.
텍스처 지도
Studio는 현재 4가지 유형의 PBR 텍스처 맵을 지원합니다: 색상, 일반, 거칠기, 그리고 금속성.이러한 각 맵은 개체의 표면 모습중요한 측면을 나타냅니다.텍스처 맵은 시각적 모양만 변경하고 MeshPart 개체의 기하학에 영향을 주지 않습니다.
Roblox의 지원되는 텍스처 맵과 추가 리소스에 대한 개요는 다음 예제를 참조하십시오:
ColorMap 속성은 맵에 존재하는 투명도를 포함하여 표면의 색상 데이터를 설정합니다.추가 정보는 색상(반사율)에 참조하십시오.



색상 (반사율)
색 , 또는 반사율 은 텍스처의 색상을 결정하고 조명이나 텍스처 정보가 거의 없는 대부분 색상 정보로 구성됩니다.추가 사용자 지정을 위해 이미지 맵에 불투명도를 추가하여 반사 텍스처에 투명도를 추가할 수도 있습니다.
알파 모드
잔디, 나뭇잎, 레이스 또는 먼지나 그룬지와 같은 투명도가 부분적이거나 전체적으로 필요한 개체의 경우, 다양한 알파 모드 를 사용하여 색상 맵에 투명도를 적용할 수 있습니다.색상 맵 이미지 형식이 알파 채널을 지원하면 0.0 가 투명하고 1.0 가 불투명한 회색 알파 맵을 적용할 수 있습니다.마찬가지로, 이미지 형식(예: .png)을 사용할 때 색상 맵의 어떠한 불투명도라도 자산에 투명도로 적용됩니다.
다음 AlphaMode 값을 설정하여 두 가지 다른 행동에 투명도를 적용할 수 있습니다:
- 오버레이 — 기본 메쉬의 ColorMap 위에 오버레이 MeshPart.Color합니다. 오버레이 를 사용하여 색상 맵을 표시하면 투명도가 있는 어디서나 메시의 기본 색상이 드러납니다.이는 기본 설정입니다.
- 투명도 — 투명도를 기반으로 보이는 메쉬를 제거합니다 ColorMap .이렇게 하면 메쉬가 투명하게 표시되고 투명도가 있을 때마다 원래 메쉬 색상을 공개하지 않습니다.
오버레이
오버레이 를 사용하여 메시의 원래 색상 섹션을 드러낼 수 있습니다.색상 맵의 투명한 영역이 기본 색상을 노출하기 때문에, 메시의 Color 속성을 부분적으로 또는 전체적으로 드러내는 독특한 텍스처 맵을 디자인하여 특별한 스킨 톤이나 특별한 색상의 다른 상황에서 메시의 속성을 드러낼 수 있습니다.
다음 예제에서는 하얀색 구 참조를 사용하여 오버레이 모드가 작동하는 방법을 보여줍니다.
다음 예제에서는 사용자 지정 캐릭터에 대해 오버레이 모드를 사용하여 캐릭터의 원래 피부색을 드러냅니다.


피부 및 유사 응용 프로그램에 대한 레이어를 최적화하는 방법에 대한 자세한 내용은 커스텀 피부 톤에 참조하십시오.
투명성
투명도 모드를 사용하여 메쉬의 가시적 부분을 제거하여 메쉬 기하오형을 조각하는 대신 레이스나 그물과 같은 복잡하거나 매우 미세한 개체를 만들 수 있습니다.이것이 메쉬 개체의 기하학에 영향을 주지 않기 때문에, 복잡한 메쉬 모델의 성능 영향 없이 상세한 개체를 만들 수 있습니다.
다음 예제에서는 이 모드의 부분 및 전체 투명도가 메시의 섹션을 시각적으로 제거하는 방법을 보여줍니다.



모드의 두 결과는 가 또는 최소한 으로 설정되는지에 따라 다릅니다, 비록 숫자 전체가 불투명한 투명도를 트리거하는 작은 값으로 이어질 수 있지만.
- 알파가 사용되어 잡초, 레이스 패브릭 및 그물과 같은 대부분 불투명한 개체의 모양을 잘라내면 MeshPart.Transparency 를 0 로 설정합니다.표면의 일부가 완전히 불투명할 때 Roblox 엔진은 적절한 깊이 기반 차단으로 렌더링할 수 있습니다.불투명 표면은 일반적으로 깊이 기반 효과(예: DepthOfFieldEffect , 유리 및 물 굴절, 물 반사), 및 물 반사와 같은 깊이 기반 효과와 더 잘 작동합니다.
- 알파가 반투명 개체나 투명도 그라데이션이 부드러운 개체에 세부 정보를 추가하는 데 사용되면 MeshPart.Transparency 를 최소한 0.02 으로 설정합니다.이렇게 하면 더러운 창문과 부드러운 가장자리 깃털과 같은 개체의 블렌딩 품질이 향상되지만, 모든 효과에서 작동하지는 않습니다.
틴트마스크
모드를 사용하여 표면의 선택적 영역에 틴팅을 적용할 수 있습니다.알파 채널이 완전히 표시되고 알파 채널이 투명한 곳에서는 색상이 가장 강하고 알파 채널이 투명한 곳에서는 적용되지 않습니다.

색상 염색
SurfaceAppearance.Color 속성을 수정하여 색상 맵에 틴트를 적용할 수 있습니다.염색은 성능에 영향을 주지 않으며 다른 염색으로 단일 색상 맵을 다시 사용하여 메모리를 절약할 수 있습니다.색상 염색을 사용하여 MeshPart PBR 텍스처 또는 실시간으로 PBR 표면 색상을 프로그래밍 방식으로 수정하기 위해 추가 저렴한 변형을 생성하거나 PBR 표면 색상을 프로그래밍 방식으로 수정합니다.
SurfaceAppearance.Color 색칠은 배수로 적용되므로 최종 모양은 Color3 (텍셀 색) 배 때문에 SurfaceAppearance.Color입니다.이는 원래 SurfaceAppearance.ColorMap 색상을 거의 백색 그레이스케일 색상으로 작성하면 이 속성이 적용될 때 가장 강한 염색 효과를 생성한다는 것을 의미합니다.
색상은 SurfaceAppearance.ColorMap 에만 적용되고 MeshPart.Color 에는 적용되지 않습니다. 투명도를 적용할 때 알파 채널을 계속 사용할 수 있습니다.
When 가 로 설정되고 알파 채널이 있으면 기본 가 드러나고 색상 밸런스는 표시되는 색상 맵만 적용됩니다.
When SurfaceAppearance.AlphaMode 가 TintMask 로 설정되고 알파 채널이 있으면 알파 채널은 색상의 SurfaceAppearance.Color 틴팅 양을 제어합니다.알파 채널이 완전히 표시되고 알파 채널이 투명한 곳에서는 색상이 가장 강하고 알파 채널이 투명한 곳에서는 적용되지 않습니다.

일반
정상 또는 표면 , 텍스처 깊이를 표면에 추가하고 높이 맵과 유사하게 동작합니다. 결과적으로 시청각과 조명 환경에 따라 효과가 사라지거나 강화될 수 있습니다.일반 맵이 없을 때 값은 0.0 로 설정됩니다.
다음 그림에서는 일반 맵 값의 비교를 위해 메시 참조와 맵 참조 간을 전환할 수 있습니다:



이미지의 R , G 및 B 채널은 각각 로컬 표면 벡터의 X , Y 및 Z 구성 요소에 해당합니다.색상의 일관된 이미지 [127, 127, 255] 는 완전히 평평한 일반 맵으로 번역됩니다.Roblox는 OpenGL 형식 - Tangent Space 일반 맵만 지원합니다.
일반 맵은 메쉬의 시각적 표면에 큰 영향을 미치고 텍스처에서 어색한 선을 강조할 수 있습니다.가능하면 메쉬와 관련된 시각적 문제를 피하기 위해 텍스처 섬을 숨겨두십시오.
거칠기
거칠기 또는 마이크로 표면 , 맵은 조명이 모델의 표면에 어떻게 퍼지는지 결정합니다.거칠기가 0.0 에 있을 때 표면은 전체빛을 흩뿌리지 않아 재료에 훨씬 더 날카롭고 밝은 반사와 유광이 생깁니다.1.0 에서 빛과 반사가 균등하게 모델에 흩어져 덜 반사되는 매트 같은 표면을 만듭니다.
거칠기는 각도에 따라 물체가 얼마나 반사적인지에 영향을 줄 수 있으며, 프레셔널 효과라고 합니다.일관된 반사 행동을 유지하기 위한 자세한 내용과 모범 사례는 fresnel에 참조하십시오.
다음 그림에서는 다양한 거칠도 맵 값의 비교를 보여줍니다:



프레셀
프레셔널 은 현재 시청 각도에 대한 표면의 반사량을 가리킵니다.Studio의 프레셔널 처리는 물리적 실제 세계 정확도를 목표로 하지만, 거친 표면에서도 특정 각도에서 예기치 않은 반사 기여를 얻을 수 있습니다.어떤 경우에는 재료와 일관된 조명 응답을 얻기 위해 거칠도 맵을 0.1 만들어 보상할 수 있습니다.
Roblox가 이 조명 효과를 정확하게 렌더링했지만, 텍스처 생성 소프트웨어(예: 서브스턴스 페인터 및 스튜디오)에서 표면의 밝기와 반사율이 일관되게 반응하지 않을 수 있습니다.응용 프로그램 간의 렌더링 차이에 대한 예를 의류 예시에서 참조하십시오.
금속성
금속성 은 표면의 반사율을 결정합니다.금속성 값은 0.0 와 1.0 사이에 있습니다.Roblox는 금속성 맵이 없는 경우 기본값을 0.0
다음 그림에서는 다양한 금속성 맵 값의 비교를 참조하십시오:



다른 PBR 렌더러는 반사율 처리를 위해 다양한 워크플로우를 사용합니다.Studio는 재료가 비금속인지 금속인지를 결정하는 메탈니스 워크플로만 사용하며, 때로는 절연체 또는 전도체라고 합니다.
대부분의 경우, 이 값을 0.0(비금속) 또는 1.0(금속)로 설정해야 합니다.매트한 또는 실크와 같은 중간 반사 속성을 가진 더 드문 표면을 만들 때 부분 금속성 값을 사용할 수 있습니다.이 연습은 재료의 반사를 은밀하게 조작하여 환경에 반사된 색과 색/반사도 맵의 색을 강조할 수 있습니다.