재질을 데칼로 투영

데칼은 색상 텍스처, 법선 맵 및 방사 색상 효과를 수준의 메시에 투영합니다.

데칼을 사용해 다양한 효과를 얻을 수 있습니다. 예:

위의 이미지는 벽돌 텍스처를 위한 법선 맵, 두 가지 반투명 색상 채우기, 알파 투명도가 적용된 색상 텍스처 및 색상 및 일반 정보를 추가하는 총알 자국과 같은 여러 데칼을 통해 수준에서 향상된 흰색 벽을 보여줍니다.

단계 1: 데칼 프로젝터 생성

데칼은 일반적으로 핵심 리소스 폴더(core/stingray_renderer/helper_units/decals/decal_box)에서 Stingray와 함께 제공되는 데칼 프로젝터 유닛을 사용해 투영됩니다.

수준에서 새 데칼 프로젝터를 만드는 방법:

  1. Create 패널을 엽니다.

  2. Rendering 범주에서 Decal Projector 아이콘을 선택해 Place 도구를 활성화합니다.

  3. 수준에서 위치를 클릭하여 새 프로젝터 볼륨을 배치합니다. Place 도구가 활성 상태이면 필요한 볼륨을 얼마든지 추가할 수 있습니다.

  4. 완료하면 Decal Projector 아이콘을 다시 클릭하거나 다른 뷰포트 상호작용 도구로 전환하십시오.

단계 2: 프로젝트에 새 재질 생성

각각의 새 데칼 프로젝터는 Stingray 핵심 리소스에서 제공되는 기본 재질을 사용합니다. 이 자리 표시자는 누락된 텍스처를 위한 디버그 텍스처(노란색 배경의 물음표)를 투영합니다. 데칼을 위한 새 재질을 생성하려는 경우 고유한 텍스처를 투영하도록 설정할 수 있습니다.

  1. Asset Browser에서 새 재질을 저장하려는 폴더로 이동합니다.

  2. Asset Browser에서 폴더를 마우스 오른쪽 버튼으로 클릭합니다. 상황별 메뉴에서 Create > Material (Empty) 또는 Create > Material (Standard)을 선택합니다.

  3. 새 재질의 이름을 입력하고 OK를 클릭합니다.

  4. Asset Browser에서 재질을 선택하고 Property Editor를 열어 특성을 표시합니다.

  5. Parent Material 그룹에서 기본 데칼 재질 core/stingray_renderer/helper_units/decals/decal을 가리키도록 Name 필드를 설정합니다.

    그러면 이 재질이 적용되는 모든 메시가 일반적으로 조명이 비춰진 메시 대신 데칼 프로젝터로 음영 처리되도록 재질이 설정됩니다.

  6. 상위 재질을 설정하면 Property Editor에 새 Color Map 특성이 표시됩니다. 이 설정을 사용하면 적용하려는 데칼 이미지로 기본 물음표 색상 텍스처를 바꿀 수 있습니다. 투영된 텍스처의 색상 및 알파 값은 여기서 설정한 텍스처에서 가져옵니다.

법선 맵 또는 방사 텍스처를 투영하려는 경우 재질의 셰이더 그래프를 수정해야 합니다. 아래를 참조하십시오.

단계 3: 프로젝터에 새 재질 적용

  1. 수준에서 프로젝터를 선택하고 Property Editor를 열어 특성을 표시합니다.

  2. Shared Materials 그룹에서 새 재질을 가리키도록 프로젝터의 decal 재질 슬롯을 설정합니다.

단계 4: 프로젝터 이동, 배율 조정 및 방향 지정

프로젝터는 데칼을 프로젝터의 볼륨과 교차하는 메시에만 적용합니다. 투영하려는 메시와 교차하도록 프로젝터 유닛을 이동하고 배율을 조정하여 어떤 메시에 투영이 적용될지 제어할 수 있습니다.

텍스처는 항상 텍스처의 상단이 프로젝터 상자의 위쪽 로컬 축(파란색 화살표)에 정렬된 상태로 프로젝터 상자의 앞쪽 로컬 축(아래 기즈모의 녹색 화살표)을 따라 직각으로 투영됩니다. 앞쪽 축 주위로 프로젝터를 회전하여 투영을 옆으로 또는 거꾸로 회전할 수 있습니다.

또한 텍스처는 앞쪽 축의 반대 방향을 따라 투영되지만 수평으로 반전됩니다. 교차하는 메시 쪽 반대 방향으로 향하도록 프로젝터를 돌려 텍스처를 반전할 수 있습니다.

투영된 텍스처는 오른쪽 및 위쪽 로컬 축을 따라 프로젝터 유닛의 치수에 맞춰 배율이 조정됩니다. 이러한 축을 따라 프로젝터 상자의 배율을 조작하여 투영되는 텍스처의 너비와 높이 비율을 변경할 수 있습니다.

프로젝터를 회전해 프로젝터와 프로젝터가 투영되는 메시 사이의 입사각을 변경하면 투영의 "왜곡"을 제어할 수 있습니다.

선택 사항: 재질 셰이더 그래프 사용자 정의

법선 텍스처 또는 방사 텍스처를 투영하거나 색상 텍스처 입력이 해석되는 방식을 변경하려는 경우 재질의 셰이더 그래프를 수정할 수 있습니다.

  1. Asset Browser에서 재질을 선택하고 Property Editor를 열어 특성을 표시합니다.

  2. Property Editor에서 Make Unique 버튼을 클릭합니다. 그러면 상위 재질에서 재질을 분리해 편집할 수 있습니다.

  3. Open Shader Graph 버튼을 클릭하거나 Asset Browser에서 재질을 클릭합니다.

그러면 재질의 그래프가 로드된 상태로 Shader Graph Editor가 열립니다. 필요에 따라 재질 노드를 다시 와이어링할 수 있습니다. 예를 들어, 다음 그래프는 Property Editor를 통해 재질의 법선 맵과 맵 불투명도를 설정할 수 있는 기능을 추가합니다. 평평한 영역이 다른 데칼에서 추가한 표면 법선과 충돌하지 않도록 Decal Base 노드의 Mask 입력으로 법선 맵의 알파 채널이 전달됩니다.

선택 사항: 사용자 정의 데칼 프로젝터 유닛 생성

셰이더 그래프가 Decal Base 출력 노드를 사용하는 재질을 사용하도록 유닛을 설정하여 유닛을 데칼 프로젝터로 만들 수 있습니다. Create 패널에서 배치한 핵심 리소스의 데칼 프로젝터 유닛은 단순히 데칼 재질을 사용하기 위한 입방체 메시 사전 설정입니다. 그 외에 특별한 점은 없습니다.

일반적으로 여러 위치에서 동일한 텍스처를 투영해야 하는 경우 기본 유닛을 사용하는 대신 사용자 정의 데칼 도우미 유닛을 설정하는 것이 더 편할 수 있습니다.

Unit Editor에서 기본 데칼 상자를 열고 다른 리소스 이름으로 다시 저장하면 사용자 정의 데칼 도우미 유닛을 쉽게 설정할 수 있습니다. 투영하려는 재질을 사용하도록 유닛을 사전 설정할 수 있으므로 수준에서 유닛을 생성할 때 이와 같이 설정하기 위해 미세 조정 작업을 많이 수행할 필요가 없습니다.

동적으로 데칼 프로젝터 생성

데칼 프로젝터는 기본적으로 유닛일 뿐이므로 다른 종류의 유닛을 생성 및 생성 취소하는 것과 완전히 동일한 방식으로 흐름 또는 Lua에서 게임 내 런타임 시 데칼 프로젝터를 동적으로 생성 및 생성 취소할 수 있습니다. 원하는 메시에 투영되도록 유닛을 배치하고 크기를 조정해야 하고 올바른 재질을 투영하도록 유닛을 설정해야 합니다.

예:

-- spawn the unit
local my_projector = stingray.World.spawn_unit(SimpleProject.world, "core/stingray_renderer/helper_units/decals/decal_box")
-- set a new material for the decal slot
stingray.Unit.set_material(my_projector, "decal", "content/materials/my_texture")
-- move, scale, resize
stingray.Unit.set_local_position(my_projector, 1, wanted_position)
stingray.Unit.set_local_rotation(my_projector, 1, wanted_rotation)
stingray.Unit.set_local_scale(my_projector, 1, wanted scale)
...
-- unspawn the unit
stingray.World.destroy_unit(SimpleProject.world, my_projector)

제한 사항