1.4부터 가구에
<building>
<paintable>true</paintable>
</building>
</ThingDef>
이렇게 빌딩 안에 페인트 에이블 트루 넣으면 색칠 가능
!!! 1.4 버전 나오고 나서 아래 1.3 버전의 제작방식은 버려짐 !!!
?? 그냥 about . xml 에서
<supportedVersions>
<li>1.4</li>
</supportedVersions>
이렇게 1.4 넣으면 적용 되던데 ?>
▦▦▦▦▦[심화]▦▦▦▦▦
제작 벤치 Small Fabrication Bench 3x2 사이즈로 패치하는법
연료정제기 (Biofuel Refinery) 의 경우 work giver def 긁어 와서
fixed bill giver defs 아래에 li 내가 정한 def /li 이렇게 넣어야 함
그래야 레시피 제작 작업 가능함
<!-- <interactionCellOffset>(0,0,2)</interactionCellOffset> -->
<hasInteractionCell>false</hasInteractionCell>
상호작용 위치 true 를 false 로 꺼도 작동 됨
끼이지도 않음
바로 아래에 인터렉션 넣고 싶으면
<hasInteractionCell>true</hasInteractionCell>
<interactionCellOffset>(0,0,-1)</interactionCellOffset>
damage def 는 공격형태 및 상태이상을 의미한다
<damageDef> 종류 = <capacities> 종류
원본 data 의 Damages_어쩌구 .xml을 찾아보면 된다
바닐라에선 아래와 같은 damage def 종류가 있다
Scratch Blunt Poke Stab Cut Bite
RangedStab Thump Bullet Arrow
SurgicalCut ExecutionCut
ScratchToxic ToxicBite Stun EMP Extinguish
Bomb Smoke
Flame Burn ( Burn is like Flame, but doesn't ignite anything)
Frostbite TornadoScratch
독데미지를 연출하고 싶으면
<damageDef>ScratchToxic</damageDef>
이렇게 교체하면 됨
번역은 저렇게 라벨(label)과 데스크립션(description)만 쓰면 된다
폴더는 /Languages/Korean/Definjected또는Keyed
DefInjected = XML 번역 / Keyed = 코딩된거 번역
이렇게 카데고리 안에 두 물체를 하나로 묶는 법
위 처럼
<DesignatorDropdownGroupDef>
<defName>PensFlowers</defName>
</DesignatorDropdownGroupDef>
를 ThingDef 시작 전에 넣어주고
마지막에 아래 줄을 추가한다
<designatorDropdown>PensFlowers</designatorDropdown>
(재료 stuff에 따라 변화가 안되게 해야함)
1x1 스탠드 장식물을 만들 때 기준으로 보면 :
<canOverlapZones>true</canOverlapZones>
true 로 해도 겹쳐쌓기 안됨
이 옵션은 모르겠다 기본값은 false 였음
Perspective: Buildings mod
아무 아이템의 위치조정을 옆으로 움직이는 모드인데
내가 장식품같은 건물아이템 만들면 호환 가능
Dubs Paint Shop 은 가능하지만
<stuffCategories>
<li>Metallic</li>
<li>Woody</li>
<li>Stony</li>
<li>Fabric</li>
<li>Leathery</li>
</stuffCategories>
<!-- 원하는 강철재료 원하는 나무재료로 제작가능 -->
이거 처럼 마테리알 지정가능할 때만 색칠 가능
▦▦▦▦▦[텍스쳐링]▦▦▦▦▦
1x1 만들땐 128 128 해상도에 외곽선굵기는 4px 로 하는게 보기 좋음
그래픽 single 로 해되 rotatable true 회전 가능하게 할 수 있다
기계적으로 돌릴 수 있다
인게임 각 마테리알 적용블랜드 모드는 multiply 다
투명도 52~55퍼센트 느낌은 위 사진과 같다
뒷부분이 안보이는 정도
림월드는 51% 이하의 투명도를 0% 처리해 날려버린단다
재료로 변경되는 텍스쳐는 흑백으로 처리해야 함
밝은 아이템 : 5~20 퍼센트 회색을 씀
어두운 아이템 : 50 퍼센트 회색을 씀
아주 까만색은 안씀. 그냥 쌔까매지기 때문
64 x 64 px 사이즈의 텍스쳐를 만들 경우
인게임과 어울리는 선 굵기는 2px 또는 3px
테두리는 64x64px사이즈 기준 2~3px로 추정되며,
테두리 색은 검정색이기도하며 어두운 컬러이기도 하다. 테두리가 없을 때도 있다
테두리엔 투명도가 적용이 안되고 연필툴처럼 딱딱하게 적용된다
<shadowData>
<volume>(0.5, 0.3, 0.5)</volume>
<!-- 그림자의 가로길이, 높이및그림자늘어지는길이 ,세로길이 -->
</shadowData>
<shadowData>
<volume>(0.23, 0.26, 0.23)</volume>
</shadowData>
위 사진은 이렇게 적용해본 사례
이걸 넣어야 그림자가 자연스럽게 나옴
참고로 <shadow data> 는 <graphic data> 속에 넣어야 함
<shadowData>
<volume>(0.08, 0.2, 1.4)</volume>
</shadowData>
새도우 데이터 볼륨은 0.08같이 작은 소수점이 되기도 하며 1.4가 되기도 함
<shadowData>
<volume>1.1</volume>
</shadowData>
이렇게 넣기도 함 -> rimworld auto xml doc에서 나와있는 거랑 다르게 안됨 소괄호로 없으면 빨간줄 오류 뜨더라
그림자 텍스쳐 참고자료는 Buildings_Furniture.xml 을 보며 참고하면 됨
def 에서 그림자 설정을
<castEdgeShadows>True</castEdgeShadows>
<!-- 네모 그림자가 아니라 png 에 맞춰서 그림자 자연스럽게 나오기 -->
<staticSunShadowHeight>0.50</staticSunShadowHeight>
<!-- 그림자 높이 -->
이거 하면 네모낳게 나옴. 어색함
위에거 두개 빼면 그림자가 아예 사라짐
CutoutComplex와 파일이름m마스크 텍스쳐 없이
그냥 일반 컬러텍스쳐를
<stuffCategories> <!-- 원하는 강철 나무 돌재료로 제작가능 -->
<li>Metallic</li>
<li>Woody</li>
<li>Stony</li>
<li>Fabric</li>
<li>Leathery</li>
</stuffCategories>
이 거랑 같이 쓰면 텍스쳐 전체에 다 재질색을 덮게 된다
단, 그냥 컬러로 만들면 어두워짐. 흰색와 회색을 넣을 필요가 있음
무채색을 섞어서 그리면 더욱 마테리알 표현이 잘 먹힘
def 에서 graphicData 에서
<texPath>Things/Building/Furniture/BasicBed</texPath>
<!-- 텍스쳐 그림의 경로 -->
<graphicClass>Graphic_Single</graphicClass>
<!-- 텍스쳐 그림의 표기 유형 싱글이면 단 한 장,
Graphic_Multi 면 여러개 아마도 동서남북 -->
텍스쳐 이름 메길 땐
ㅇㅇㅇ_east ㅇㅇㅇ_north ㅇㅇㅇ_south
3개의 파일을 만듬
west는 안 만듦
<shaderType>CutoutComplex</shaderType>
<!-- 저 위의 초록색, 빨간색 검은색의 이름끝에 m 들어간 파일은 마스크를 의미함
CutoutComplex 이 줄은 이 마스크 기능을 쓰겠다는 걸 의미함
초록색은 죄수할당컬러 병원할당컬러를 덮어씌울 건지를 의미함
빨간색 마스킹은 마테리알 변화를 의미함
검은색은 투명을 의미함-->
Black - (0,0,0) Area will not be coloured
Red - (255,0,0) Used material colour will be added on this
Green - (0,255,0) The "secondary" colour will be applied in this area
(I don't know much about this one except you can use it for the bedsheets
to take the prisoner/medical colours)
Grayscale - (255,255,255 - 0,0,0) Same as red (material)
but depending on how light or dark the hue is the more vibrant the added colour will be
To add a mask on a thing, you need to give the graphic data of that def this shadertype
<shaderType>CutoutComplex</shaderType>
and then name the mask as whatever the original is named but add "m" at the end like so
I believe these won't work with weapons without modding the thingclass of it
or whatever or things with randomized textures like plants
(Cause it treats the mask files as options for the random appearance)
also the textures go wherever you've specified
마스크는 검/ 빨강 으로만 칠해도 됨
빨강 : 마테리알 영향 받을 위치
포토샵에서 연필툴로 그린 후 ctrl 클릭하면 마스킹할 때 쉽게 그릴 수 있다
def 에서 graphicData 란을 보면 위와 같다
defaultPlacingRot, rotatable 은 graphicData 란이 아니라 아래에 써내려간다
<defaultPlacingRot>South</defaultPlacingRot> <!-- 기본으로 설정할 방향은 남쪽 -->
<rotatable>true</rotatable> <!-- q 키로 회전가능한가 -->
<stuffCategories> <!-- 원하는 강철 나무 돌 재료로 제작가능 -->
<li>Metallic</li>
<li>Woody</li>
<li>Stony</li>
</stuffCategories>
마테리알을 이렇게 가능하게 하면 paint 모드로 색칠 가능
마테리알을 안 정하면 고유의 알록달록한 컬러 가능
둘 다 장단점 있다
마테리알 강철 나무 돌 지정을 하겠다 하고 싶으면 위 사진처럼
텍스쳐는 색채를 0으로 빼서 회색으로 만들어야 함
원래 아이콘은 실물과 재질이 다르게 입혀지더라
마스킹이 아이콘엔 미적용될듯
어쩔 수 없으니 그냥 넘어가야 함
<clear building area>
<altitude layer>
<building>
<isedifice>
<canplaceoverwall>
</building>
이것들을 해줘야 테이블 위에 올려놓는 장식물로 만들 수 있음
▦▦▦▦▦[기초]▦▦▦▦▦
가로 2칸 세로 1칸인 아이템은
size 는 2, 1 로 지정함
drawSize>(2.0,1.0)</drawSize
드로우 사이즈도 2.0, 1.0 로하는듯 ? 이건 잘 모르겠음
def 파일엔 엔터 띄어쓰기 써서 정리해도 된다
림월드 원본의 버전 업이 있을 땐, 다른 모더의 모드를 뜯어서 봐야 함
깔린 폴터 \ workshop\content\294100 에서 해당 모드에 들어가는 단어를 검색
아니면 원본 파일을 뜯어서 살펴봐야 함
C:\Steam\steamapps\common\RimWorld\Data\Core\Defs
에서 원하는 거 검색
위 사진은 1.3버전 BorealForest 아한대림의 원본 def를 뜯은 예시. 여러 옵션들을 살펴볼 수 있다
내가 만든 모드는
C:\Steam\steamapps\common\RimWorld\Mods
여기 mods 안에 폴더를 배치함
폴더는 두 개를 만듦
테스팅용, 업로드용
테스팅용엔 설정을 이것저것 변경하면서 여러 def 아이템과 텍스쳐를 만들어 뭐가 좋을까 여러개를 한번에 보는 용도
업로드용엔 최종결정한 def와 텍스쳐를 넣는 용도
업로딩용과 테스팅용 모드는 둘 다 켜도 됨
테스팅용엔 label이름에 test를 꼭 넣어서 구분할 것
label (표시 이름) 엔 띄어쓰기 넣어도 됨
label 이름과 description 설명엔 숫자가 들어가도 됨
그러나
def name 엔 숫자가 들어가면 안됨
def name 엔 언더바 _ 는 넣어도 됨
about.xml 폴더에서 스팀 아이디 (packageId) 엔 띄어쓰기가 아니라 . 점을 넣는다
프리뷰 섬네일은 637 358로 씀
부가적인 섬네일은 스팀 창작마당 등록페이지에서 글 편집으로 따로 더 넣을 수 있음
[제작순서]
남이 만든 모드 뜯어보기 → def 여러가지 테스팅 해보기 → 몇개 좋은 거만 선별 → 선별된 거 업로드용 모드로 다시 폴더 만들기 → 섬네일 만들기 → 설명란 쓰기 → 최종 스팀 업로드 → 수정