Creating a Material

From Valve Developer Community
< Ko
Jump to navigation Jump to search
English (en)Español (es)Français (fr)日本語 (ja)한국어 (ko)Português do Brasil (pt-br)Русский (ru)中文 (zh)Translate (Translate)

이 강좌는 material(en)과 material의 texture(en)를 만드는 방법을 한단계 한단계씩 알려드릴겁니다.

텍스쳐 만들기

어떤 이미지 파일이든 텍스쳐에 사용될수 있습니다, 이것은 양쪽 넓이는 (높이와 폭) 2의 제곱수여야 합니다 : 2, 4, 8, 16, 32, 64 128, 256, 512, 1021, 2048 그리고 쭉 계속. 어떤것을 쓸지 결정했다면, 당신의 것과 똑같은 텍스쳐들이 현재 사용되고 있는지 확인하세요. 높은 해상도들은 낮은 화질을 보이지만 가까이 확대해서 보았을 때에는 이미지가 좀더 선명하게 보입니다.

다른 종류의 오브젝트는 다른 표준 해상도들을 가지고 있습니다 (즉. 캐릭터 모델의 것은 매우 높습니다). 만약 당신이 매우 혼동되신다면, Valve의 선택들을 sourcematerials.gcf 하고 GCFScape(en) 와 함께 확인해보세요.

Note.png참고:텍스쳐 소스 파일들은 불필요한 질의 손실을 막기 위해서, 무손실의 형식인 TGA 로 프리-컴파일 해야합니다.

텍스쳐 변환

텍스쳐들은 무조건 Source가 그들을 사용하게 하기 전에 Valve Texture Format(en)으로 변환되어야 합니다. Valve는 이것을 위해 VTEX(en)도구를 제공하고 있습니다. 이것은 아무리 꽤 제한적인 command line(en) 도구라고 해도, 제 3자의 도구인 VTFEdit(en)은 뛰어납니다 : 이것은 당신이 텍스쳐의 설정들을 그림으로부터 재-컴파일 하지않아도 바꾸게 허락해주고, 넓은 범위의 이미지 형식도 수락하고, 그리고 모든 각각 텍스쳐들 마다 스크립트 파일들을 만들지 않아도 되는, 그래픽 사용자 인터페이스를 제공합니다. 곤란한 상황들이 있다면, 당신은 VTEX에 대한 대비책이 필요합니다... 하지만 그저 곤란할 뿐입니다. 또한, 만약 당신의 텍스쳐들이 투명한 표면을 사용한다면, 이것을 VTFedit을 통해 불러오기 전에 TIFF 형식으로 저장하는 것을 추천합니다, 왜냐면 PNG 형식의 투명 텍스쳐는 문제들을 자주 일으키기 때문입니다.

(여기 당신이 즉각적으로 그 형식으로 저장하게 해주는 VTF 플러그-인들이 있습니다. Photoshop, GIMP 그리고 Paint.NET 입니다, 하지만 이 강좌에서는 이것들을 다루지 않습니다, 왜냐면 모두가 이 도구들을 이용하는것이 아니기 때문입니다.)

VTFEdit으로 당신의 텍스쳐를 불러오려면, File > ImportCtrl+I를 이용하세요. 당신의 이미지를 선택하면 당신은 불러오기 화면이 보여질겁니다 :

VTFEdit의 불러오기 화면.

기본 설정들

이 세팅들은 가장 중요합니다. 3개가 있습니다 :

보통 형식
만약 불투명한 텍스쳐를 사용 한다면 이용하는 색/압축 형식.
알파 형식
만약 알파 경로를 가지고있는 텍스쳐를 사용 한다면 이용하는 색/압축 형식.
Texture type
만약 하나 이상의 이미지를 불러온다면, 이것은 어떤것이 (animation frames/cubemap faces/depth slices) 으로 사용될지 결정합니다.

만약 당신이 무늬가 없고 간단한 텍스쳐를 만들고 있는 중이라면, 당신은 이것들 중 아무것도 바꿔도 되지 않습니다. 만약 당신이 질 좋은 세부 양식들을 만든다면, 당신은 choose a non-lossy compression mode가 필요합니다.

미니맵 세팅들

Mipmaps(en)들은 카메라로 부터 표면이 멀어질때 대체되는 저-화질 버젼들의 텍스쳐입니다. 그들은 표현과 이미지의 질을 향상시켜주고, 텍스쳐의 필요한 크기 조절양을 굉장하게 줄여줍니다. Mip들은 texture LOD(en)를 하기위해서는 필요합니다.

Tip.png 팁: 텍스쳐들은 mipmap들을 가지고 있을때 3D 세계에서는 나타납니다. 메모리를 아끼려면, 텍스쳐들은 오로지 2D 인터페이스로만 사용되게 하여야 합니다. .

이 이미지들은 VTFEdit에서 사용가능한 다양한 mipmap 필터들을 보여줍니다 :

평범한 맵 세팅들

(잘못 붙여진)이것들은 자동으로 당신의 입력 이미지에 bump map(en)를 생성하게 설정 되어있습니다. 당신은 당신이 덮어씌운 재료들을 위한 이미지 에디터들과 적절히 하고 싶을겁니다, 하지만 만약 당신이 빠른 결과를 원하는지 아니면 일이 진행되는걸 다 볼껀지가 자동적으로 선택이 됩니다

배열 과 저장

당신이 OK를 누르고 입력 파일이 변환되었고 (꽤 긴 멈춤이 큰 이미지들 때문에 있을지도 모릅니다) 그리고 출력 VTF가 모습을 드러낸다면 이제 남은것은 텍스쳐를 화면의 좌측에있는 체크박스 옵션을 따라 배열하는 것입니다. 각각의 설명은 Valve Texture Format#Image_flags을 보세요.

마지막으로, 당신의 게임이나 모드의 \materials 폴더 아래에 파일을 저장하세요.

재료 생성하기

Source doesn't access textures directly. Everything goes through a material(en).

재료들은 어떤 텍스트 에디터로든지 스크립트 파일들을 생성할수 있습니다, 하지만 우리는 당신이 [1] 와 함께 커뮤니티-작품인 syntax highlighting rules(en)을 사용하는 것을 추천합니다. 당신의 재료들을 발견하기 위해, 당신은 반드시 당신의 게임이나 모드의 \materials 폴더 아래에 저장하고 확장자는 .vmt로 해야합니다.

Note.png참고:만약 당신이 재료들과 텍스쳐들을 배타적으로 기존의 모드 맵들을 위해 만드는 중이라면, BSPZIP(en)\Packbsp(en)\Pakrat(en)을 재료와 텍스쳐 파일들을 맵파일 안에 포장하기위해 사용을 고려해보세요. 이것은 그들이 손실되는것을 피하게 해줍니다.

구문

재료 파일들은 이렇게 생겻습니다:

<shader(en)>
{
	<parameter> <value>
	...
}
LightmappedGeneric
{
	$basetexture coast\shingle_01
	$surfaceprop gravel
}

shader(en)들이 많이 택해집니다, 하지만 대부분의 재료들은 LightmappedGeneric(en) (brush(en)es) 이나 VertexLitGeneric(en) (model(en)s)를 둘다 사용할겁니다. 3번째로 흔한 쉐이더는 UI(en) 재료들과 가끔 tool texture(en)로 사용되는 UnlitGeneric(en)입니다.

변수들

모든 문서로 기록된 쉐이더 변수들은, Category:List of Shader Parameters(en)을 보세요.

쉐이더와 같이 당신의 변수들로 선택되었다면. (또한 커맨드로 불려졋을때). 100가지의 무슨 재료들을 넣을지 정하는 옵션이 있습니다, 그래서 이 글은 가장 흔한 것들만 다루도록 하겟습니다 :

Tip.png 팁: 만약 당신이 함수 값에서 공백이나 tab 키를 써야할때, 당신은 모든 값을 "quote marks"로 채워야 합니다. 당신은 자주 이것들 처럼 덮여져 있는것을 볼것입니다 - 필요하지 않긴 하지만, 타이핑의 일부를 저장하세요.

다른 볼것