흔히들 '스킨'을 바꾼다고 말하는 텍스쳐를 변경하는 방법입니다.
스킨은 겉텍스쳐(2d), 모델은 3d모델파일(m3)를 말하는 겁니다. 설마 이거 모르고 강좌 보는 분은 없으리라 봅니다....만 노파심에 언급해 놈.
워3와 달리 스2는 아예 텍스쳐를 바꿀수 있도록 데이터에서부터 지원합니다. 이를 이용하면 모델파일(m3)은 단 한개만 사용한다 하더라도 수십개의 다른 텍스쳐를 쓰는, 거의 다른 유닛을 몇십개도 만들수 있습니다. 당연히 기본 스2모델을 이용해 스킨만 다른 수십개의 유닛을 만들수도 있구요.
단.....현재 1.12버젼에선 초상화모델의 텍스쳐 변경은 어째서인지 제대로 지원이 되지 않습니다. 왠 이상한 텍스쳐로만 강제변환되는 관계로 초상화모델의 텍스쳐는 현재 변경이 안되는 거나 마찬가지입니다.ㅜㅜ....
강좌에서 수고해주실 예제는 제가 변환해 논 미쿠양입니다. 뭐 잘 모르겠으면 예제맵도 있으니 받아서 열어보세요.
모델 임포트 방법이나 적용방법 등 기본적인 부분은 타 기초강좌들을 참고하세요.
순서는 약간씩 바꿔도 됩니다.
간략한 설명
사용할 텍스쳐 파일 집어넣기->
데이터 '텍스쳐' 생성->유닛
'모델'에서
'텍스쳐 선언' 에서
슬롯 설정해주기
->유닛
'행위자'에서
'이벤트' 추가: (ID로 텍스쳐 설정)->실제 게임실행시켜 확인
---------------------------------------
1.일단 모델파일과 텍스쳐파일을 넣어줘야겠죠? 원본 미쿠모델(m3)은 miku01,miku02 dds파일을 텍스쳐로 쓰고 있습니다. 여기에 이것들을 각각 대체해줄
darkmukuxd 1,darkmukuxd 2 텍스쳐도 넣어줍니다.
만약 스타2의 기본유닛의 텍스쳐를 바꾸려면 바꿀 텍스쳐만 넣으면 되겠죠.
어떤 텍스쳐를 사용하는지 말 모르겠다면 미리보기에 재질들을 눌러보면 대강 눈치로 알 수 있을 겁니다.
diffuse, normal, specular 이렇게 다수의 텍스쳐를 사용하는 재질이 무슨 텍스쳐를 쓰는지 보면 알수 있죠.
----------
2.새로 바꿔줄 텍스쳐 파일을 사용하는 '텍스쳐 데이터'를 만들어 줍니다.데이터->텍스쳐 탭을 띄워서 새텍스쳐를 만듭니다. 굳이 복사를 안해주고 새로 만들어도 됩니다.
바꿔줄 텍스쳐가 두개니, '텍스쳐 데이터'도 2개가 필요합니다.
여기서 중요한 설정은 슬롯, 접두사입니다. 파일이야 뭐 바꿔줄 파일을 지정해주는것 정돈 알테고...
1-'슬롯'은 바꿔줄 텍스쳐의 자리를 배정해주는 겁니다. 각 텍스쳐가 들어가는 방이라고 생각하면 됩니다. 이 슬롯 이름은 몇가지로 정해져있습니다.
main - 가장 기본적인 슬롯 이름
video - 비디오 파일(ogv)를 재생하는 경우 지정하는 슬롯 이름
generic01,generic02,generic03...... - 위 2가지 이외의 슬롯이름을 정해주려면 generic에 숫자번호를 더한 이름만 지정해줄수 있습니다.
예제에서 우리는 첫번째 텍스쳐의 슬롯은 걍 main, 두번째는 generic01로 지정했습니다.
2-'접두사'는 바꿔줄 원본 텍스쳐의 이름입니다. 예제는 각각 miku01, miku02 파일들을 사용하니(파일포맷은 지정해주지 않습니다.) 각각의 텍스쳐 데이터의 접두사를 이것들로 지정해줍니다.
만약!!스2 원본 유닛의 모델의 텍스쳐를 바꿔주고자 한다면, 스2 유닛들은 보통 3가지 텍스쳐를 섞어 사용한단 사실을 명심하십시오. (
'스2파일에 쓰는 텍스쳐 설명 강좌' 참고) 이 텍스쳐들은 각각 특수효과를 담당하지만, 기본적으로 같이 맵핑이 되기 때문에 텍스쳐 이름중 접두사만 써놓으면 됩니다.
(예를 들어
marine_diffuse,
marine_specular,
marine_normal이 있다면 공통인 '
marine'이 접두사입니다. 나머지 부분은 접미사인데 이것은 뒤에 설명할 텍스쳐 선언에 쓰입니다.) 각 모델이 어떤 텍스쳐를 쓰는지는 '미리보기'로 해당 모델의 재질 부분을 확인하기 바랍니다.
-------------------------------
3. 유닛의 '모델 데이터'의 '텍스쳐 선언'을 합니다.바꾸고 싶은 유닛의 모델로 가봅시다. 모델 데이터의 텍스쳐 선언을 지정해줘야 합니다. (예제는 외부모델인 미쿠 모델을 조정해주기 때문에 사전에 미쿠 m3파일을 모델로 지정한 건 기본이니까 굳이 설명할 필요 없겠죠?)
그림과 같은 순서로 텍스쳐 선언 개체를 추가해줍니다.
여기서 설정해줘야 할곳은 슬롯, 하위문자열의 트리거, 접두사입니다.(그림에는 안나와있지만 밑으로 내려보면 입력하는 곳이 나타납니다.) 속성모음이나 제거,추가등은 신경쓰지 않아도 됩니다 일단은.
1-'슬롯'은 아까의 '텍스쳐 데이터'를 설정한 것과 똑같이 합니다. 앞에서 main과 generic01로 설정한거 기억하겠죠?
2.-'접두사'부분 역시 아까의 설명과 동일합니다. 걍 텍스쳐 이름을 써주면 됩니다.
예제에선 miku01,02파일을 바꿔주는 거였으니 그대로 입력합니다. miku01, miku02를 각각 입력합니다.
아까 텍스쳐 데이터를 지정할때 입력한 슬롯과 일치해야 합니다.
슬롯 main-miku01
슬롯 generic01-miku02
단! 스2 원본 유닛의 모델을 지정하는 경우 아까 설명한 텍스쳐의 구조를 반영해야 합니다.
marine_diffue.dds, marine_specular 등일 경우 접두사를 '
marine_'을 입력합니다.
3.-'하위 문자열의 트리거'부분은 접두사를 제외한 부분을 입력합니다. 예를 들어 윗텍스쳐 설명의 '
_diffuse','
_specular' 이런식으로 입력합니다. 예제의 미쿠모델은 한장의 텍스쳐만 사용하는 경우이므로 접미사의 추가적인 입력은 필요없습다.
만약 저 텍스쳐들을 따로따로 쓰고자 한다면, 텍스쳐 선언의 하위카테고리 부분에서(개조)에서 인덱스를 여러개 만들어야합니다.
기본 베이스인 diffuse만 쓰려고 한다면 굳이 specluar등의 다른 텍스쳐선언 부분은 만들지 않아도 됩니다.
-----------------------------
4.해당 유닛의 행위자로 들어가 이벤트를 추가합니다.이벤트 조건이야 뭐 설정하는 사람 맘대로 하시고....예제에선 귀찮으니 걍 해당유닛(해병)이 생산되는 조건으로 했습니다.
메세지 유형을
'id로 텍스쳐 선택'으로 선택한후 아까 만들어논 '텍스쳐 데이터'를 지정합니다. 2개를 만들었으니 이벤트도 2개 만들어서 각각 지정해줍니다.
---------------------------------------
5.실제 게임에서 확인해 봅시다.기존 미쿠 텍스쳐를 그대로 사용하는 미쿠와, 새로 텍스쳐를 바꿔준 미쿠 2가지를 같이 쓸수 있게 됐습니다.
(예제맵에서 이렇게 가까이 보고 싶으면 키보드 '1'키를 누르세요.
끝.---------------------------------------
정리하자면
바꿔줄 텍스쳐를
'텍스쳐' 데이터로 만들어놓고,
텍스쳐선언으로 텍스쳐자리를 만들어논 모델을 사용하는 행위자에서
이벤트로 해당 텍스쳐 id로 변경해주면 되는 겁니다.
주의점은
1. 현재 1.12 버젼의 초상화 모델은 텍스쳐 변경이 안됩니다.텍스쳐 변경 자체는 되는데, 모든 텍스쳐를 요상한 한가지 텍스쳐로 바꿔버립니다. 차후 업뎃이트 되면 풀릴지 모르겠습ㄴ디ㅏ.
2.원본 텍스쳐를 여러개 바꿀때, 원본과 바꿔줄 새 텍스쳐는 1대1 관계만 됩니다. 새 텍스쳐 한개를 여러개의 기존 텍스쳐와 바꿔치기 할 수 없습니다.
----------------
++DIffuse,Normal,Specular 의 여러 텍스쳐를 교체하는 예제를 추가했습니다.
맵스터에 올라와있는 노바케릭 모델의 텍스쳐를 사용했으며,
유령의 모델 설정과 행위자의 이벤트, 연결된 텍스쳐들(zdiff,znormal,zspec)을 확인해보면 알 수 있을 겁니다.