시각적 요소를 최소화하기 위해 도움말 버튼 숨기기 및 프리셋 버튼 숨기기 기능을 함께 사용하는 것을 추천합니다.
플레이 모드에서 저장하기 (Save in play mode)
플레이 모드 중에도 컴포넌트를 저장할 수 있는 버튼이 추가됩니다.
컴포넌트 창 (Component windows)
Alt 키를 누른 상태로 드래그하여 개별 컴포넌트 창을 생성할 수 있습니다.
컴포넌트 애니메이션 (Component animations)
컴포넌트의 확장 및 축소 시 애니메이션 효과가 적용됩니다.
미니멀 모드 (Minimal mode)
불필요한 요소를 숨겨 보다 깔끔한 UI를 제공합니다.
미니멀 모드 OFF → 기본 보기 미니멀 모드 ON → 간결한 보기
리셋 가능한 변수 (Resettable variables)
스크립트에서 정의된 기본값으로 변수를 초기화할 수 있는 리셋 버튼이 추가됩니다.
프리팹 인스턴스의 경우 원본 프리팹의 값이 기본값으로 간주됩니다.
스크립트 필드 숨기기 (Hide script field)
회색으로 표시된 스크립트 필드를 숨기고, 대신 스크립트 아이콘을 클릭하여 스크립트를 열거나 찾을 수 있습니다.
스크립트 필드 숨기기 OFF → 기본 표시 스크립트 필드 숨기기 ON → 간결한 표시
딕셔너리 (Dictionaries)
SerializedDictionary를 사용하여 딕셔너리를 편집하고 직렬화할 수 있습니다.
public SerializedDictionary<string, Color> colorDictionary;
일반적인 딕셔너리 클래스를 상속하므로 기존 딕셔너리처럼 사용할 수 있습니다.
단축키
모든 컴포넌트 축소/확장
인스펙터 위에 마우스를 올리고 Ctrl-Shift-E를 누릅니다.
컴포넌트 고립
컴포넌트 헤더 위에 마우스를 올리고 Shift-E 또는 Shift-클릭을 합니다.
컴포넌트 삭제
컴포넌트 헤더 위에 마우스를 올리고 X를 누릅니다.
컴포넌트 활성/비활성 전환
컴포넌트 헤더 위에 마우스를 올리고 A를 누릅니다.
속성 (Attributes)
속성을 사용하면 몇 줄의 코드로 스크립트 인스펙터에서 UI 요소를 생성하고 그룹화할 수 있습니다.
속성을 사용하려면 스크립트에 다음 코드를 추가하세요:
using VInspector;
버튼 (Buttons)
함수 앞에 [Button] 속성을 추가하면 버튼이 생성됩니다.
[Button]
public void SayHelloWorld()
{
Debug.Log("Hello World!");
}
버튼 이름, 크기, 색상을 커스터마이즈할 수 있습니다.
[Button("Custom name")]
public void RenamedButton() { }
[Button(size = 50, color = "red")]
public void BigRedButton() { }
폴드아웃 (Foldouts)
변수 앞에 [Foldout]을 추가하면 변수들을 그룹화할 수 있습니다.
[Foldout("Floats")]
public float float1;
public float float2;
public float float3;
[Foldout("Ints")]
public int int1;
public int int2;
public int int3;
[Foldout("Strings")]
public string string1;
public string string2;
public string string3;
폴드아웃 섹션을 끝내려면 [EndFoldout]을 사용하세요.
[Foldout("Floats")]
public float float1;
public float float2;
public float float3;
[Foldout("Ints")]
public int int1;
public int int2;
public int int3;
[Foldout("Strings")]
public string string1;
public string string2;
public string string3;
[EndFoldout]
public string string4;
public string string5;
폴드아웃은 중첩이 가능하며,
[Foldout("Floats/Subfoldout 1")]
public float float1;
[Foldout("Floats/Subfoldout 2")]
public float float2;
[Foldout("Floats/Subfoldout 3")]
public float float3;
버튼도 포함할 수 있습니다.
[Foldout("Floats")]
[Button]
public void FloatsButton() { }
탭 (Tabs)
[Tab] 속성을 사용하면 탭을 생성할 수 있습니다.
[Tab("Floats")]
public float float1;
public float float2;
public float float3;
public float float4;
[Tab("Ints")]
public int int1;
public int int2;
public int int3;
[Tab("Strings")]
public string string1;
public string string2;
public string string3;
탭 섹션을 끝내려면 [EndTab]을 사용합니다. 탭도 중첩이 가능하며 버튼을 포함할 수 있습니다.
숨겨진 변수 표시 (Show Hidden Variables)
[ShowInInspector]를 사용하면 비공개(private) 변수도 인스펙터에 표시할 수 있습니다.
public bool isBossLevel;
[HideIf("isBossLevel")]
public int waveCount;
public int enemyCount;
public int enemyStrength;
[ShowIf("isBossLevel")]
public float bossStrength;
public float bossStamina;
public float bossSpeed;
public float bossRegen;
[DisableIf]와 [EnableIf]를 사용하면 변수를 비활성화할 수 있습니다.
public bool isBossLevel;
[DisableIf("isBossLevel")]
public int waveCount;
public int enemyCount;
public int enemyStrength;
[EnableIf("isBossLevel")]
public float bossStrength;
public float bossStamina;
public float bossSpeed;
public float bossRegen;
[EndIf]로 조건 섹션을 종료할 수 있습니다.
public bool isBossLevel;
[DisableIf("isBossLevel")]
public int waveCount;
public int enemyCount;
public int enemyStrength;
[EnableIf("isBossLevel")]
public float bossStrength;
public float bossStamina;
public float bossSpeed;
public float bossRegen;
[EndIf]
public float foo;
public float bar;
불린(bool) 외의 변수도 조건으로 사용할 수 있습니다.
public enum LevelType { Normal, Boss }
public LevelType levelType;
[DisableIf("levelType", LevelType.Boss)]
public int waveCount;
public int enemyCount;
public int enemyStrength;
범위 슬라이더 (Range Sliders)
[MinMaxSlider]를 사용하면 Vector2 또는 Vector2Int에 범위 슬라이더를 추가할 수 있습니다.
[MinMaxSlider(0, 2)]
public Vector2 widthRange;
[MinMaxSlider(0, 2)]
public Vector2 heightRange;
[MinMaxSlider(-180, 180)]
public Vector2 rotationRange;
버전 선택기 (Variants)
[Variants]를 사용하면 선택 가능한 옵션 목록을 만들 수 있습니다.
[Variants(512, 1024, 2048)]
public int resolution;
[Variants("png", "jpg", "raw")]
public string extension;
값 변경 시 콜백 (Callback on Change)
[OnValueChanged]를 사용하면 변수 값이 변경될 때 함수를 호출할 수 있습니다.
public int level;
[OnValueChanged("level")]
public void OnLevelChanged() { }
여러 변수를 동시에 구독할 수 있습니다.
public int level_player1;
public int level_player2;
public int level_player3;
[OnValueChanged("level_player1", "level_player2", "level_player3")]
public void OnLevelChanged() { }
읽기 전용 변수 (Read-Only Variables)
[ReadOnly]를 사용하면 변수를 읽기 전용으로 설정할 수 있습니다.
public int level;
[ReadOnly]
public int score;
[ReadOnly]
public int enemyCount;
정적 인스펙터 (Static Inspector)
[ShowInInspector]가 있는 정적 변수와 [Button] 속성이 있는 정적 함수도 스크립트 에셋에 표시됩니다.
이것은 Unity3D용 AAA급 애니메이션 - 툰 셰이더/셀 셰이딩 셰이더입니다. 이 셰이더의 목표는 캐릭터나 오브젝트의 셰이딩을 실시간으로 빠르고 실제 애니메이션이나 만화에 최대한 가깝게 보이도록 하는 것입니다. RealToon 셰이더를 게임, 애니메이션, 일러스트레이션/아트 작업에 활용해보세요.
목차
셰이더 및 유형
RealToon 사용 방법
RealToon 셰이더 제어 및 기능
프레임별 렌더링 도구
참고 사항 및 팁
연락처/지원/소셜 네트워크
셰이더 및 유형
A. Types:
a. Default
*RealToon Default Shaders
b. Lite
*RealToon 셰이더 라이트 버전: 고급 기능이 필요하지 않은 모바일 또는 애니메이션/게임용.
c. Tessellation
*RealToon 테셀레이션 버전 셰이더.
B. Shaders:
a. Default - 기본 RealToon 셰이더.
b. Fade Transparency - 페이드 또는 부드러운 투명도를 지원하는 RealToon 셰이더.
c. Refraction - 굴절 셰이더.
C. Effects:
a. Sobel Outline - 에지 감지 또는 아웃라인 이미지 효과.
RealToon 사용 방법
A. Use RealToon:
a. 소재(Material)를 생성합니다.
b. 생성한 소재를 선택한 후, 사용하려는 RealToon 셰이더로 셰이더를 변경합니다.
c. 소재를 오브젝트에 드래그하여 적용합니다.
d. 사용하지 않으려는 기능을 활성화/비활성화합니다.
e. 필요에 따라 셀프 섀도 크기(Self Shadow Size)를 조정하여 수신된 섀도의 이상한 가장자리를 숨깁니다.
f. 필요에 따라 섀도 감소(Reduce Shadow)를 조정하여 오브젝트-소재에서 원치 않는 실시간 섀도 아티팩트를 줄입니다. (RealToon 기본 및 테셀레이션 전용)
g. 필요에 따라 광원(Light Source)을 조정합니다.
B. Use RealToon Effects:
a. 카메라를 선택합니다.
b. 구성 요소 추가(Add Component) -> RealToon -> Effects를 선택합니다.
c. 사용하고자 하는 효과를 선택합니다.
C. Use Frame By Frame Rendering:
a. 카메라 또는 오브젝트를 선택합니다.
b. 구성 요소 추가(Add Component) -> RealToon -> Tools를 선택합니다.
c. 사용하려는 프레임별 렌더링(Frame By Frame Rendering)의 유형을 선택합니다.
D. Use Custom Shadow Resolution:
a. 광원(Light Source)을 선택합니다.
b. 구성 요소 추가(Add Component) -> RealToon -> Tools를 선택합니다.
c. 사용자 지정 그림자 해상도(Custom Shadow Resolution)를 선택합니다.
[중요 참고 사항/팁]
고성능 게임 설정
그림자 유형 변경: 소프트 섀도(Soft Shadow) 또는 하드 섀도(Hard Shadow)로 변경하거나, 그림자 해상도를 낮게 설정해 부드러운 수신 그림자를 만드세요.
No Shadow 설정: 그림자 유형을 No Shadow로 설정하고 셀프 섀도(Self Shadow)만 사용하면 성능을 높일 수 있습니다.
사용자 설정: 성능 요구 사항에 따라 고유한 설정을 적용하세요.
최상의 애니메이션/툰 스타일
빛 바이어스: Light Bias를 0.01로 설정하세요.
그림자 설정: 하드 섀도(Hard Shadow)와 높은 해상도(High/Very High)를 선택하세요.
그림자 투영: Shadow Projection을 Close Fit으로 변경하고, Shadow Cascade를 Four Cascades로 설정한 뒤 Cascade Splits를 조정하세요.
그림자 거리: Shadow Distance를 조정해 씬의 모든 그림자가 보이도록 설정하세요.
사용자 지정 그림자 해상도: 포함된 Custom Shadow Resolution 스크립트를 광원에 추가하세요.
텍스처의 강도. b. Texture/Main Texture (기본값: No Texture)
오브젝트의 메인/기본 텍스처. c. Main Color (기본값: Gray/ RGB:200)
오브젝트의 메인/기본 색상.
Unity Standard 셰이더와 다른 오브젝트와 조화를 이루고 싶거나 너무 밝거나 과다 노출된 경우, 메인 색상을 회색 계열로 조정하세요.
한 개의 광원만 사용하고 광원 강도가 1~0 사이일 경우, 순수 흰색(RGB: 255)을 사용하세요. d. Enable Texture Transparent (기본값: 체크 해제)
텍스처에 투명도/알파가 있을 경우 이를 활성화합니다. e. Reduce Texture Quality (기본값: 0) f. Texture Pattern Style (기본값: 체크 해제)
메인/기본 텍스처를 패턴 스타일로 전환합니다.
C. Normal Map
a. Normal Map (기본값: No Texture)
b. Normal Map Intensity (기본값: 0)
D. Color Adjustment (라이트 버전에서 사용 불가)
a. Saturation (기본값: 1) - 오브젝트의 색상 채도를 조정합니다.
E. Cutout (라이트 버전에서 사용 불가)
투명도를 잘라냅니다. a. Cutout (기본값: 0)
잘라내기 양. b. Alpha Base Cutout (기본값: 체크)
체크 시 텍스처/메인 텍스처의 투명도/알파를 사용합니다. 체크 해제 시 텍스처/메인 텍스처의 색상을 사용합니다. c. Use Secondary Cutout Only (기본값: 체크 해제)
Secondary Cutout만 사용합니다. d. Secondary Cutout (기본값: No Texture)
보조 잘라내기 텍스처.
F. Transparency (Fade Transparency 셰이더 전용)
오브젝트의 투명도/불투명도를 설정합니다. a. Opacity (기본값: 1)
오브젝트의 불투명도/투명도. b. Affect Shadow
투명도가 그림자에 영향을 미치도록 설정합니다. c. Mask Transparency (기본값: No Texture)
투명도에 영향을 받는 오브젝트의 일부를 마스킹합니다.
순수하고 강한 흑백 텍스처 또는 알파/투명도를 가진 텍스처를 사용하세요.
검은색: 영향을 받음, 흰색: 영향을 받지 않음.
G. Refraction (Refraction 셰이더 전용) a. Refraction Intensity (기본값: 1) - 굴절 강도. b. Main Color Affect Texture (기본값: 체크 해제) - 메인 색상이 텍스처에 영향을 미치도록 설정합니다.
H. Outline a. Width (기본값: 0.5) - 외곽선의 두께/너비. b. Width Control (기본값: No Texture) - 외곽선의 양과 너비를 제어합니다. - 흰색: 1 또는 그 이상, 검은색: 0. c. Outline Extrude Method (기본값: Normal) - 외곽선의 돌출 방법. - Origin: 박스나 큐브 모양의 오브젝트에 유용. - Normal: 둥글거나 매끄럽고 약간 큐브 모양의 오브젝트에 유용. d. Enable Outline Offset (기본값: 체크 해제) e. Outline Offset (기본값: XYZ: 0) - 외곽선의 위치를 변경합니다. f. Reduce Outline Backface (기본값: 0) - 외곽선의 뒤쪽 면을 줄입니다. g. Color (기본값: 검은색) - 외곽선 색상. h. Noisy Outline Intensity (라이트 버전에서 사용 불가) (기본값: 0) - 외곽선의 노이즈/왜곡 정도. i. Dynamic Noisy Outline (라이트 버전에서 사용 불가) (기본값: 체크 해제) - 움직이는 왜곡된/노이즈 외곽선을 활성화합니다. - 체크 시 외곽선이 스케치된 애니메이션 드로잉처럼 움직입니다. j. Light Affect Outline Color (기본값: 체크 해제) - 광원 감쇠 및 강도가 외곽선 색상에 영향을 미치도록 설정합니다.
k. Outline Width Affected By View Distance
외곽선 두께가 뷰 거리(View Distance)에 따라 조정됩니다.
먼 거리: 외곽선 두께 증가.
가까운 거리: 외곽선 두께 감소.
l. Vertex Color Red Affect Outline Width (기본값: 체크 해제)
Vertex Color의 빨간색 채널이 외곽선 두께에 영향을 미칩니다.
I. Self Lit/Self Illumination
오브젝트의 자체 조명/발광. a. Intensity (기본값: 0)
자체 조명의 강도. b. Color (기본값: 흰색)
오브젝트의 조명 색상. c. Power (기본값: 2)
오브젝트 조명의 세기. d. High Contrast (기본값: 체크)
고대비 색상을 사용합니다. e. Mask Self Lit (기본값: No Texture)
자체 조명을 마스킹합니다.
순수한 강한 흑백 텍스처 또는 알파/투명도를 가진 텍스처를 사용하세요.
흰색: 영향을 받음, 검은색: 영향을 받지 않음.
J. Gloss
광택 효과. a. Intensity (기본값: 1)
광택 강도 조정. b. Glossiness (기본값: 0.5)
광택의 반짝임 정도. c. Softness (기본값: 0)
광택의 부드러움 조정. d. Color (기본값: 흰색)
광택 색상. e. Color Power (기본값: 10)
색상 강도 조정. f. Gloss Mask (기본값: No Texture)
광택을 마스킹합니다.
순수한 강한 흑백 텍스처 또는 알파/투명도를 가진 텍스처를 사용하세요.
흰색: 표시됨, 검은색: 표시되지 않음.
K. Gloss Texture
텍스처 형태의 광택/사용자 지정 광택. a. Gloss Texture (기본값: No Texture)
광택으로 사용할 텍스처.
권장: 순수한 강한 흑백 텍스처, 알파/투명도가 있는 텍스처, 정사각형 크기.
컬러 텍스처도 사용할 수 있지만 자동으로 흑백으로 변환됩니다. b. Softness (기본값: 0)
Gloss Texture의 부드러움.
c. Rotate (기본값: 0)
광택 텍스처(Gloss Texture)를 회전시킵니다.
**광택 텍스처 오프셋(Gloss Texture Offset)**을 조정하면서 함께 조정하세요.
d. Follow Object Rotation (기본값: 체크 해제)
광택 텍스처가 오브젝트 회전을 따라가도록 설정합니다.
e. Follow Light (기본값: 0)
광택 텍스처가 광원을 따라가도록 설정합니다.
L. Shadow (그림자)
오브젝트의 그림자 설정. a. Overall Shadow Color (기본값: 검은색)
그림자 색상. Color Shadow Texture, PTexture, ShadowT가 보이도록 하려면 흰색 또는 원하는 색상으로 변경하세요. b. Overall Shadow Color Power (기본값: 1)
그림자 색상의 강도/세기를 조정합니다. c. Self Shadow at View Direction (기본값: 체크 해제)
셀프 섀도가 뷰 방향을 따릅니다.
체크 시 뷰 방향을 사용, 체크 해제 시 기본 광원 방향을 사용합니다. d. Reduce Shadow (Point Light) (기본값: 0)
오브젝트-소재에서 포인트 라이트의 실시간 그림자를 줄입니다. e. Reduce Shadow (Spot & Directional Light) (기본값: 10)
오브젝트-소재에서 스팟 및 디렉셔널 라이트의 실시간 그림자를 줄입니다.
이 값을 조정하려면 스팟 라이트 또는 디렉셔널 라이트 Bias를 0 이상으로 설정해야 합니다.
M. Self Shadow (셀프 섀도)
오브젝트의 자체 그림자 설정. a. Highlight Color (기본값: 흰색)
오브젝트의 하이라이트 또는 조명 색상. b. Highlight Power (기본값: 0)
하이라이트 색상의 강도/세기를 조정합니다. c. Self Shadow & RealTime Shadow Intensity (기본값: 1, 라이트 버전에서 사용 불가)
셀프 섀도 및 실시간 그림자 강도. d. Threshold (기본값: 0.56)
오브젝트에 적용되는 셀프 섀도의 양.
수신 그림자(Received Shadows)가 활성화된 경우, 이상한 가장자리가 나타나지 않도록 0.85를 초과하지 않도록 조정하세요. e. Vertex Color Green Control Self Shadow Threshold (기본값: 체크 해제)
Vertex Color의 녹색 채널로 셀프 섀도 임계값을 제어합니다.
f. Hardness (기본값: 1)
셀프 섀도의 경계가 딱딱한지 부드러운지 설정합니다.
g. Self Shadow & Real Time Shadow Color (기본값: 흰색)
셀프 섀도와 실시간 그림자의 색상.
Overall Shadow Color를 흰색으로 변경해야 이 색상을 변경할 수 있습니다.
셀프 섀도와 실시간 그림자는 함께 병합됩니다.
h. Self Shadow Affected By Light Shadow Strength (기본값: 체크 해제, 라이트 버전에서 사용 불가)
셀프 섀도가 광원 그림자 강도의 영향을 받도록 설정합니다.
i. Self Shadow & Real Time Shadow Color Power (기본값: 1)
셀프 섀도와 실시간 그림자의 색상 강도/세기를 조정합니다.
Overall Shadow Color를 흰색으로 변경해야 이 값을 변경할 수 있습니다.
셀프 섀도와 실시간 그림자는 함께 병합됩니다.
N. Smooth Object Normal/Ignore Object Normal [실험적 기능] a. Smooth Object Normal (기본값: 0)
부드러움 강도 또는 오브젝트 노멀 무시 강도. b. Vertex Color Blur Control Smooth Object Normal (기본값: 체크 해제)
Vertex Color로 Smooth Object Normal 제어. c. XYZ Position (기본값: 0)
노멀 XYZ 위치 조정. d. XYZ Hardness
노멀 XYZ 경계의 단단함 조정.
높은 값: 단단한 경계, 셀프 섀도 및 ShadowT Threshold 제어 감소.
낮은 값: 부드러운 경계, 셀프 섀도 및 ShadowT Threshold 제어 증가. e. Show Normal (기본값: 체크 해제)
XYZ 노멀 표시.
노멀을 시각화하고 조정 사항을 확인할 때 사용.
O. Shadow Color Texture
텍스처 형태의 그림자 색상. a. Shadow Color Texture (기본값: No Texture)
텍스처 형태의 그림자 색상 또는 메인 텍스처의 그림자/어두운 버전.
참고: Overall Shadow Color를 조정해야 표시됩니다. b. Power (기본값: 0)
텍스처 색상의 강도/대비 조정.
값을 증가시키면 텍스처 색상이 더 강해지거나 어두워집니다.
P. ShadowT
텍스처 기반 그림자(2D 텍스처 사용). a. Intensity (기본값: 1, 라이트 버전에서 사용 불가)
ShadowT의 강도를 조정합니다.
b. Texture (기본값: No Texture)
그림자로 사용할 평면 또는 그라디언트 다크 그레이 & 화이트 텍스처.
권장: 다크 그레이 & 화이트 텍스처 또는 알파/투명도가 있는 텍스처를 사용하세요.
순수/깊은 블랙 & 화이트 텍스처를 사용하면 ShadowT가 Light Threshold, Shadow Threshold, Light Falloff의 영향을 받지 않습니다.
c. Light Threshold (기본값: 0.5)
조명의 양.
높은 값: 더 밝음.
낮은 값: 덜 밝음.
d. Shadow Threshold (기본값: 0)
그림자의 양.
낮은 값: 그림자 감소.
높은 값: 그림자 증가.
e. Hardness (기본값: 0)
ShadowT 가장자리의 경도.
f. Color (기본값: 검은색)
ShadowT의 색상.
g. Color Power (기본값: 1)
색상의 강도/세기 조정.
h. Show In Shadow (기본값: 체크 해제, 라이트 버전에서 사용 불가)
그림자 내에서 ShadowT를 표시합니다.
참고: Overall Shadow Color 또는 Self Shadow - Color를 조정해야 표시됩니다.
i. Show In Ambient Light (기본값: 체크 해제, 라이트 버전에서 사용 불가)
환경광 내에서 ShadowT를 표시합니다.
j. Show In Ambient Light & Shadow Threshold (기본값: 0.4, 라이트 버전에서 사용 불가)
환경광 및 그림자 임계값 내에서 ShadowT를 표시합니다.
k. Light Falloff Affect ShadowT (기본값: 체크 해제)
Light Falloff이 ShadowT에 영향을 미칩니다.
Q. PTexture (기본값: No Texture)
패턴 스타일 그림자로 사용할 텍스처. a. Shadow PTexture (기본값: No Texture)
패턴 그림자로 사용할 텍스처. b. Power (기본값: 1)
텍스처의 강도/대비 조정.
참고: PTexture/Pattern Texture는 만화 "하프톤(Half Tone)" 스타일 그림자나 알파/투명도가 있는/없는 패턴 스타일 그림자로 변환하는 데 사용됩니다.
R. Lighting (GI 조명, Light-Falloff 및 기타 조명) a. GI Flat Shade (기본값: 체크 해제)
하드 엣지 또는 평면 쉐이드 GI를 사용합니다. b. GI Shade Threshold (기본값: 0)
그림자의 양.
Self Shadow Threshold와 유사합니다.
c. Mask Reflection (기본값: No Texture)
반사를 마스킹합니다.
순수/강한 흑백 텍스처 또는 알파/투명도가 있는 텍스처를 사용하세요.
흰색: 영향을 받음, 검은색: 영향을 받지 않음.
U. FReflection (Fake Reflection)
실시간이 아니며, 큐브 맵을 사용하지 않고 텍스처(2D 텍스처)를 사용한 가짜 반사. a. Use FReflection (기본값: 체크 해제)
FReflection 사용 여부. b. FReflection/FReflection Texture (기본값: No Texture)
반사로 사용할 텍스처.
권장: 정사각형/동일한 측면 크기의 텍스처 또는 파노라마 이미지/사진을 사용하세요. Tiling & Offset을 사용해 위치와 크기를 조정하세요.
V. Rim Light
오브젝트의 림 라이트 설정. a. Unfill (기본값: 1.5)
오브젝트의 림 라이트 감소. b. Softness (기본값: 체크 해제)
림 라이트 가장자리 부드러움 조정. c. Light Affect Rim Light (기본값: 체크)
광원 강도 및 Light Falloff이 림 라이트에 영향을 미칩니다. d. Color (기본값: 흰색)
림 라이트 색상. e. Color Power (기본값: 10)
색상의 강도/세기를 조정합니다. f. Rim Light In Light (기본값: 체크)
림 라이트가 빛에서만 보이도록 설정합니다.
W. Depth (Refraction Shader 전용)
깊이 효과. a. Depth (기본값: 0.2)
깊이 강도. b. Edge Hardness (기본값: 0.1)
깊이 경도. c. Color (기본값: 흰색)
깊이 색상. d. Color Power (기본값: 1.8)
색상의 강도/세기 조정.
X. Tessellation (RealToon Tessellation Version Shader 전용)
테셀레이션 설정. a. Smoothness (기본값: 0.5)
테셀레이션의 부드러움. b. Transition (기본값: 0.8)
가까운 뷰와 먼 뷰 간의 전환량. c. Near (기본값: 1)
가까운 뷰에서의 테셀레이션 양. d. Far (기본값: 1)
먼 뷰에서의 테셀레이션 양.
Y. See Through
오브젝트를 투과하여 다른 오브젝트를 볼 수 있는 기능. a. ID (기본값: 0)
참조용 ID 값. b. Set 1 & Set 2 (기본값: 없음)
설명:
A: 투과 가능한 오브젝트.
B: A를 통해 보이는 오브젝트.
Set 1이 A로 설정되면, Set 2도 A로 설정됩니다.
Set 1이 B로 설정되면, Set 2도 B로 설정됩니다.
투과 가능한 오브젝트 A의 ID가 1로 설정되면, A를 통해 보이는 오브젝트 B의 ID도 1로 설정됩니다.
[중요 사항]
투과 가능한 오브젝트 A: Render Queue를 **Geometry (2000)**으로 설정.
A를 통해 보이는 오브젝트 B: Render Queue를 **Geometry (2000)**으로 설정하고 -1로 조정.
자세한 내용은 "See Through Example" 씬을 참고하세요.
Z. Disable/Enable Feature
원하는 기능을 활성화/비활성화할 수 있습니다.
외곽선(Outline) 기능은 하나씩만 활성화/비활성화할 수 있습니다.
선택한 소재의 외곽선 기능을 비활성화/활성화하려면 아래 방법을 사용하세요:
폴더 내 첫 번째 소재를 선택한 후, 방향키 아래를 눌러 마지막 소재까지 이동합니다.
이 방법은 소재의 외곽선 비활성화/활성화 상태를 업데이트합니다.
AA. 기타 옵션/기능 a. Hide Directional Light Shadow (기본값: 체크 해제)
Directional Light 그림자를 숨깁니다. (기본 및 테셀레이션 전용) b. Hide Point & Spotlight Shadow (기본값: 체크 해제)
Point 및 Spotlight 그림자를 숨깁니다. c. ZWrite (Fade Transparency 및 Refraction 전용) (기본값: On)
Z 버퍼에 쓰기 여부를 설정합니다.
[프레임별 렌더링 도구]
Frame by Frame Rendering
프레임별로 각 프레임을 PNG 파일로 렌더링하는 간단한 도구입니다.
용도: 애니메이션 및 일러스트레이션/아트 작업.
프레임별 렌더링 스크립트 유형
Frame by Frame Rendering (Default)
자동 렌더링 (시작 프레임 기준).
Frame by Frame Rendering (Manual)
수동 렌더링.
(컨트롤 및 기능)
Frame By Frame Rendering (Default)
A. 설정 (Settings) a. Path Folder (기본값: Rendered Files)
PNG 파일을 저장할 경로/위치.
폴더 이름만 지정하면 Unity3D 프로젝트의 루트 폴더에 생성됩니다.
다른 위치/드라이브에 저장하려면 "DriveLetter:"를 포함하세요. 예: "C:\PNGFiles".
값이 비어 있으면 기본값으로 "Rendered Files"로 설정됩니다.
b. PNG File Name (기본값: Frame)
PNG 파일의 이름.
값이 비어 있으면 기본값으로 "Frame"으로 설정됩니다.
c. Frame Rate (기본값: 24)
렌더링 프레임 속도.
d. Start Frame (기본값: 0)
렌더링을 시작할 프레임 번호.
e. End Frame (기본값: 0)
렌더링을 종료할 프레임 번호.
f. Single Frame Rendering Mode (기본값: 체크 해제)
단일 이미지만 렌더링합니다.
이 옵션을 활성화하면 Frame Rate, Start Frame, End Frame 설정이 무시됩니다.
오직 Frame 1만 렌더링됩니다.
활성화 시 파일 이름: "YourFileName Hour_Min_Sec".
비활성화 시 파일 이름: "YourFileName FrameNumber".
B. 정보 (Information) a. Current Frame
현재 프레임 번호를 표시합니다.
b. Info
렌더링 정보 및 작업 상태를 표시합니다.
Frame By Frame Rendering (Manual)
A. 설정 (Settings)
a. Frame Number (기본값: 0)
렌더링할 프레임 번호.
b. Render (기본값: 0)
렌더링을 시작합니다.
c. Path Folder (기본값: Rendered Files)
PNG 파일을 저장할 경로/위치.
폴더 이름만 지정하면 Unity3D 프로젝트의 루트 폴더에 생성됩니다.
다른 위치/드라이브에 저장하려면 "DriveLetter:"를 포함하세요. 예: "C:\PNGFiles".
값이 비어 있으면 기본값으로 "Rendered Files"로 설정됩니다.
d. PNG File Name (기본값: Frame)
PNG 파일의 이름.
값이 비어 있으면 기본값으로 "Frame"으로 설정됩니다.
e. Picture Mode (기본값: 체크 해제)
단일 이미지만 렌더링합니다.
활성화 시 파일 이름: "YourFileName Hour_Min_Sec".
비활성화 시 파일 이름: "YourFileName FrameNumber".
B. 정보 (Information)
a. Last Rendered Frame
마지막으로 렌더링된 프레임 번호를 표시합니다.
b. Info
렌더링 정보 및 작업 상태를 표시합니다.
(Frame By Frame Rendering Notes/Tips)
Frame By Frame Rendering (Default & Manual) 공통 팁
렌더링 일시 중지: 일시 정지 버튼을 클릭하면 렌더링을 일시 중지할 수 있습니다.
렌더링 중단: 플레이 버튼을 다시 클릭하면 렌더링이 즉시 중단됩니다.
폴더 내 파일이 있는 경우: 렌더링을 시작할 수 없으므로 Path Folder를 다른 위치나 폴더로 변경해야 합니다.
해당 사항은 Non Picture Mode 및 Single Frame Mode에만 적용됩니다.
폴더 내 파일이 있는 경우에도 시작 가능: Picture Mode 및 Single Frame Mode에서는 파일이 있어도 렌더링을 시작할 수 있습니다.
새 폴더 생성: 현재 경로에 없는 폴더 이름을 입력하면 자동으로 새 폴더가 생성됩니다.
해당 사항은 Path Folder에 적용됩니다.
해상도 설정: 해상도는 Game View/Game Panel에서 설정하세요.
Frame By Frame Rendering (Manual) 팁
Render 버튼 클릭: 렌더링을 시작하려면 Render 버튼을 클릭하세요.
클릭 후 버튼이 체크 해제 상태로 돌아오며, 연속 렌더링이 아닌 한 프레임만 렌더링합니다.
특정 프레임 덮어쓰기: 덮어쓰려는 프레임 번호를 Frame Number에 입력한 뒤 Render 버튼을 클릭하세요.
해당 프레임 번호가 폴더에 있는지 확인해야 하며, 렌더링을 두 번 클릭하지 않도록 주의하세요. 그렇지 않으면 저장된 다음 프레임 번호를 덮어쓸 수 있습니다.
Frame By Frame Rendering (Default) 팁
플레이 버튼 클릭: 플레이 버튼을 클릭하면 렌더링이 시작됩니다.
버튼을 클릭하면 Current Frame이 움직이기 시작하거나 현재 프레임을 표시합니다.
Current Frame이 Start Frame 번호에 도달하면 렌더링이 시작됩니다.
이후 End Frame에 도달하면 렌더링이 중지됩니다.
렌더링을 완전히 종료하려면 플레이 버튼을 다시 클릭하세요.
타임라인과 동기화: 타임라인과 동기화를 위해 Frame Rate를 타임라인 프레임 속도와 동일하게 설정하세요.
예: 타임라인 프레임 속도가 60이면 **Frame By Frame Rendering (Default)**의 프레임 속도도 60으로 설정합니다.
두 값이 다르면 특히 비디오 편집 소프트웨어나 합성 소프트웨어에서 작업할 때 결과가 동기화되지 않을 수 있습니다.
Detailer Type: 적용할 디테일링 유형을 지정합니다. Contours and Cavities, Contours Only, Cavities Only를 선택합니다.
Stencil/Mask Use: 효과에 Stencil Buffer 또는 Custom Mask를 사용할지 여부를 지정합니다.
Stencil Mask Layer (Built-in, URP 2022): 스텐실 또는 커스텀 마스크로 사용할 메시 렌더러가 포함된 레이어를 선택합니다. PostProcessDetailer.cs 스크립트와 Toon Detailer Feature가 이 레이어의 모든 객체를 자동으로 렌더링합니다.
Fast Mode (Built-in Only): 깊이 버퍼에서 더 빠르게 노멀을 재구성할 수 있도록 활성화하는 불리언 값입니다.
조정 (Adjustments)
Color Hue: 효과의 어두운 색상에 약간의 색조를 추가합니다.
Use Fade: 거리 기반 페이드 효과를 켜거나 끕니다.
Fade Affects Only Contours: 활성화 시 페이드 효과를 컨투어에만 적용합니다.
Fade Start: 페이드 효과가 시작되는 지점을 설정합니다.
Fade End: 페이드 효과가 끝나는 지점을 설정합니다.
Black Offset: 디테일링의 최소 어두움 수준을 설정합니다.
컨투어 (Contours)
Contours Intensity: 컨투어 선의 강도를 조절합니다.
Contours Thickness: 컨투어 선의 두께를 정의합니다.
Contours Elevation Strength: 고도 기반 컨투어의 강도를 변경합니다.
Contours Elevation Smoothness: 고도 기반 컨투어를 부드럽게 만듭니다.
Contours Depression Strength: 침강 기반 컨투어의 강도를 조정합니다.
Contours Depression Smoothness: 침강 기반 컨투어를 부드럽게 만듭니다.
빌트인 렌더링 파이프라인을 사용하는 경우, Shader Graph가 프로젝트에 설치되어 있는지 확인하세요. 데모 씬이 정상적으로 작동하려면 Shader Graph가 필요합니다.
가져오기 에셋을 다운로드한 후, Unity 버전과 SRP(렌더링 파이프라인)에 맞는 .unitypackage 파일을 가져오세요.
Built-in.unitypackage: 빌트인 렌더링 파이프라인용
URP 6.unitypackage: URP 6 버전용
URP2022.unitypackage: URP 2022 버전용
Unity 6을 지원하지만, 디퍼드 렌더링(deferred rendering) 모드에서는 Unity 버그로 인해 노멀 버퍼(normals buffer)가 작동하지 않습니다. 이로 인해 해당 모드에서 노멀 기반 엣지 감지가 비활성화됩니다. 이 문제는 곧 출시될 예정인 에디터 버전 6000.0.22f에서 해결될 예정입니다.
Unity 6 버전의 에셋에서는 볼륨 컴포넌트와 렌더러 기능의 명칭에 약간의 차이가 있을 수 있습니다.
사용 방법
가져오기
에셋을 다운로드한 후, Unity 버전과 SRP(렌더링 파이프라인)에 맞는 .unitypackage 파일을 가져오세요.
Built-in.unitypackage: 빌트인 렌더링 파이프라인용
URP 6.unitypackage: URP 6 버전용
URP2022.unitypackage: URP 2022 버전용
Built-in
에서 메인 카메라 오브젝트를 찾습니다.
메인 카메라에 PostProcessDetailer.cs 스크립트를 추가합니다.
에디터 씬에서 효과를 확인하려면 'Update' 버튼을 사용하세요.
URP
URP 설정에서 Depth Texture와 Opaque Texture 옵션을 반드시 활성화하세요.
현재 사용 중인 Universal Render Pipeline(URP) 에셋을 열고 "Toon Detailer Feature"를 추가하세요.
Toon Detailer가 다른 포스트 프로세싱 효과들보다 먼저 적용되도록 설정하세요.
설정에 문제가 발생하면, 제공된 예제 URP 설정 에셋을 사용할 수 있습니다. 현재 URP 설정을 변경하려면 프로젝트 설정의 Graphics 섹션에서 설정을 변경하세요.
문제 해결 에셋을 사용하는 데 있어 어려움이 있거나 구현 및 이해에 문제가 발생하면 아래로 문의해주세요: