VMT

From Valve Developer Community
< Ko
Jump to navigation Jump to search
English (en)Deutsch (de)Español (es)Français (fr)한국어 (ko)Русский (ru)Translate (Translate)

소스 엔진에서의 재질.vmt ("Valve Material Type") 확장자를 사용하는 텍스트 파일로 저장을 하게 됩니다. 이 파일을 이용하여 2차원 공간을 덮는 표면의 생김새, 무늬, 물리학적 성질, 충돌시 나는 소리등의 속성을 기록하는 스크립트 파일입니다.

이 파일의 내용은 아래와 같은 내용들로 채워 지게 됩니다.

  1. 텍스쳐(en) 파일의 이름.
  2. 물리학적 표면 성질(en)
  3. 쉐이더 English parameters(en)
  4. 쉐이더(en) 쉐이더 페러미터 목록(en)
  5. Fallbacks(en)
    Note.png참고:이거 알맞는 단어로 수정 부탁드립니다. 뭔가 떠오리르지가 않네요.
  6. Proxies(en)
    Note.png참고:이거 알맞는 단어로 수정 부탁드립니다. 뭔가 떠오리르지가 않네요.

간단한 예제

LightmappedGeneric
{
	$basetexture coast\shingle_01
	$surfaceprop gravel
}

위의 예제는 아주 단순한 형태의 English 자갈밭 해변의 재질을 표현 하기 위한 VMT 스크립트 파일 입니다.

  1. 소스엔진에서 가장 일반적으로 쓰이는 라이트맵(en) (i.e. 브러쉬(en)) 적용이 가능한 LightmappedGeneric(en) 쉐이더가 사용되었습니다.
  2. 대괄호를 열어서 패러미터 셋의 시작을 알립니다.
  3. $basetexture(기본 텍스쳐)(en) QC 명령어를 이용하여 coast\shingle_01 코드는 coasst 디렉토리에 있는 shingle_01.vmf 파일을 지정. 해당 모델에 덮힐 그림 파일을 지정 하는 명령어.
  4. $surfaceprop(물리적 물체 성질)(en) 자갈의 물리학적 물체 속성을 추가하였습니다.
  5. 대괄호를 닫아서 코드를 완성하였습니다.

아주 중요한점은 이 재질은 오직 브러쉬를 통해서만 사용이 가능하다는 점을 잊지 말자.

Note.png참고:뭐라고 하는지 모르겠습니다. 브러쉬 맵핑 아는분 추가 기록 부탁드려요.

이것을 모델(en)에 사용하기 위해서는 예를 들어 VertexLitGeneric(en) 쉐이더를 사용한 또다른 버젼의 VMT 파일을 만들어야 합니다.

대부분의 재질에 쓰이는 쉐이더를 변경하는것은 첫줄의 쉐이더 종류만 다른 것으로 바꾸어 주면 간단하게 변경이 됩니다. 페러미터 셋 안에 들어간 값들은 쉐이더가 바뀌더라도 적용이 되게 됩니다. 몇 몇 패러미터 값은 English Phong 쉐이더 같은 특정 쉐이더에서만 동작이 되게끔 되어 있는 경우가 있습니다만 그대로 남겨두더라도 커다란 에러를 일으키거나 하는 일 없이 해당 패러미터 값은 그냥 무시되고 쉐이더가 수용할수 있는 패러미터값만 적용이 되게 됩니다.

Tip.png팁:만약에 당신의 패러미터 값에 글자간의 간격이나 탭 공간을 끼워 넣어야 한다면 쌍따옴표를 써서 해당 패러미터를 감싸세요. "Super duper" . 페러미터 자동완성을 지원하는 코드 에디터들을 사용하십시요.

재질들의 위치및 찾아보기

가장 쉽게 재질들을 브라우징 하는것은 English 해머 맵 툴의 재질 편집기를 이용하는것입니다. 게임에 쓰이는 재질들은 찾는것은 <게임 디렉토리>\materials\ 폴더에 저장이 되므로 해당 폴더를 살펴보면 됩니다.

벨브 게임들의 재질들을 변경하기 원한다면 English GCFScape를 이용하여 English GCF 확장자 파일을 풀어야 합니다. material\ 폴더를 보면 모델에 맞는 재질이 같은 이름으로 저장이 되어 있으므로 해당 재질을 변경해주면 되겠습니다.

그외 참고사항