이번 글에서는 의복에 대해 다룰 예정이다.

의복은 도구에 비해 개발 난이도가 좀 있다.

그 이유가 뭐냐? 필요로 하는 텍스처가 많기 때문이다.

앞 뒤 옆 전부 그려야 하는 것은 물론이고 체형별로 만들어줘야하기 때문이다.

물론 림월드 그림이다 보니 무기에 비해 어려운거지 시간이 엄청 걸리고 그런건 아니다.

종족 전용 의상을 만들면 종족 체형을 하나로 고정할 수 있어 편리하다.

그래서 그런지 한국의 모드들은 옷 퀄리티가 전반적으로 높으나 체형이 1가지로 고정된 모드가 많고 다른 종족이 입을 수 없는 경우가 많다.




예를 들자면 랫킨이나 모요 모드의 텍스처들은 바닐라에 비해 퀄리티가 높지만 종족 체형이 고정되어 있다.


우리는 이번 모드에서 랫킨의 의상 일부를 인간이 입을 수 있도록 해볼 것이다.

랫킨의 체형은 인간의 체형 '마름'과 동일하니 마른 인간이라면 똑같이 입을 수 있다.

그 이외의 체형에는 그림을 직접 수정하지 않는한 입힐 수 없을 것이다.

Steam Workshop::NewRatkinPlus (steamcommunity.com) 


이러한 이미지를 사용하는 모드는 이미지 저작권이 이미지를 만든 모더에게 있으니 허락 없이 넥서스 모드나 스팀 창작마당에 올려서는 안된다.


우선 랫킨의 그림 파일을 구하자.



보다시피 하나의 체형에 대한 그림이 있고 나머지 체형에 대해서는 아무것도 없는 이미지를 사용하고 있는 것을 볼 수 있다.


아래에 내가 올린 것을 받거나 이 사이트를 통해 랫킨 모드를 받고 취향에 맞는 의상을 준비하자. SteamWorkshop.download 



내가 사용할 이미지는 수녀복 세트다.


이 이미지는 인게임에서 바닥에 놓여있거나 아이콘으로 보이는 이미지다.


이 이미지는 옆을 보는 모습이다. 게임이 알아서 왼쪽 오른쪽 둘 다 이 이미지를 방향만 바꾸어 사용한다.


이 이미지는 뒤를 보고 있는 모습니다.


이 이미지는 밑을 향해 가고 있는 모습이다.


  이 이미지는 인게임에서 바닥에 놓여있거나 아이콘으로 보이는 이미지다.





"

"

이 따옴표 사이에 투명한 이미지 파일이 있다.

이 이미지는 지원하지 않는 체형을 땜빵하는 용이다.

이것도 받아두자.


이렇게 해서 랫킨 수녀복 세트를 인간에게 입혀보자.



모드를 만들기 전 Pixlr로 이미지를 조립해보니 적절하게 맞는 것으로 보인다.

참고로 림월드 텍스처는 여기서 구할 수 있다 GitHub - RimWorld-zh/RimWorld-Textures



자 이제 이 옷을 림월드로 옮겨보자.

전에 모드를 만들던 Defs - ThingDefs_Misc 폴더에 누가 보아도 의상에 대한 것이 들어있을 것 같은 제목으로 xml 문서를 만들자.



작업 이전에 수녀복의 레이어, 즉 이 옷이 다른 옷보다 앞에 오는지 뒤에 오는지 결정을 해야한다.

랫킨 모드 자체에서는 Onskin, 즉 티셔츠와 같은 레이어를 공유하니 동일하게 만들도록 하자.



RimWorld\Data\Core\Defs\ThingDefs_Misc

저번과 같이 게임 본편의 def에서 우리에게 필요한 가장 유사한 물건을 찾아 가져올 것이다.

난 '몸싸개'의 def를 가져올 것이다.

컨트롤+f   tribalwear을 치거나 아래의 것을 복사하여 사용하자.

이왕이면 파일에서 직접 찾자, 여기서 복붙을 하니 양식이 보기 안좋게 변하고 연습을 할 필요도 있다.

가장 위에 <Defs> 가장 아래 </Defs>는 꼭 붙이도록 하자.



<?xml version="1.0" encoding="utf-8" ?>

<Defs>

  <ThingDef ParentName="ApparelMakeableBase">

    <defName>Apparel_TribalA</defName>

    <label>tribalwear</label>

    <description>A full-body garment crafted using neolithic tools. While it may look primitive, it is effective at insulating the wearer.</description>

    <graphicData>

      <texPath>Things/Pawn/Humanlike/Apparel/TribalA/TribalA</texPath>

      <graphicClass>Graphic_Single</graphicClass>

    </graphicData>

    <techLevel>Neolithic</techLevel>

    <costStuffCount>60</costStuffCount>

    <stuffCategories>

      <li>Fabric</li>

      <li>Leathery</li>

    </stuffCategories>

    <tradeability>Sellable</tradeability>

    <statBases>

      <MaxHitPoints>100</MaxHitPoints>

      <WorkToMake>1800</WorkToMake>

      <Mass>0.5</Mass>

      <StuffEffectMultiplierArmor>0.2</StuffEffectMultiplierArmor>

      <StuffEffectMultiplierInsulation_Cold>0.55</StuffEffectMultiplierInsulation_Cold>

      <StuffEffectMultiplierInsulation_Heat>0.55</StuffEffectMultiplierInsulation_Heat>

      <EquipDelay>1.5</EquipDelay>

    </statBases>

    <thingCategories>

      <li>Apparel</li>

    </thingCategories>

    <apparel>

      <bodyPartGroups>

        <li>Torso</li>

        <li>Legs</li>

      </bodyPartGroups>

      <wornGraphicPath>Things/Pawn/Humanlike/Apparel/TribalA/TribalA</wornGraphicPath>

      <layers>

        <li>OnSkin</li>

      </layers>

      <tags>

        <li>Neolithic</li>

      </tags>

    </apparel>

    <recipeMaker>

      <recipeUsers>

        <li>ElectricTailoringBench</li>

        <li>HandTailoringBench</li>

        <li>CraftingSpot</li>

      </recipeUsers>

    </recipeMaker>

    <colorGenerator Class="ColorGenerator_Options">

      <options>

        <li>

          <weight>10</weight>

          <only>(0.4,0.3,0.15)</only>

        </li>

        <li>

          <weight>15</weight>

          <only>(0.6,0.45,0.18)</only>

        </li>

        <li>

          <weight>20</weight>

          <only>(0.8,0.6,0.23)</only>

        </li>

      </options>

    </colorGenerator>

  </ThingDef>

</Defs>


본래 랫킨 수녀복은 제작하는 것에 연구가 필요하고 값비싼 물건이지만 여기선 몸싸개와 같은 취급이 될 예정이다.

우리는 여기서 defname, label, description, 그리고 가장 중요한 texpath를 수정할 것이다.

순서대로 def이름, 아이템 이름, 설명, 텍스처 위치를 의미한다.

전에 말하였지만 꼭 def는 다른 것들에 안겹치게 독특하지만 아이템을 알아보기는 쉽게 만들도록 하자.

우선 texpath를 제외한 나머지는 취향에 맞게 영어를 사용해서 수정하자.


이제 텍스처를 넣어야한다.

일단 폴더를 만들고 받은 이미지를 전부 넣어두자.




이제 의상의 이름들을 다음과 같이 바꿔야 한다.

의상이름.png는 입기 전 바닥에 있을 때 또는 아이콘에 있을 때 모습이다.

의상이름_체형_(east, north, south).png 들이 인게임에서 의상을 입은 모습을 규정한다.


우선 의상들의 이름을 보기 편하게 바꾸자.

다음과 같이 만들어주었다면 이제 해주어야할 일이 있다.

여기에는 마름(Thin) 체형에 대한 옷만 있는데, 만약 다른 체형의 인간이 옷을 입으면 오류가 생길 것이다.

따라서 나머지 체형, Male, Female, Hulk, Fat에 대한 공백의 이미지를 넣어 땜빵할 것이다.

종족을 만들 때 종족만의 의상을 넣는 경우가 많은데, 체형 5개 중에서 1개만 사용하면 작업량이 5분의 1로 준다.

그래서 종족 모드는 대다수 1개의 체형만 사용하는 것이 많은 것이다.


우리는 지금 인간의 옷을 만들고 있으니, 땜빵용 이미지를 만들도록 하자.

노가다가 귀찮다면 방금 당신을 위해 만든 이 땜빵 이미지 모음을 받자.

여기서 의상이름 부분만 자신에게 필요한 부분으로 바꾸면 된다.

https://drive.google.com/drive/folders/1AQBdUJEAx1IWfKYc-O1i94mKh_rcQ2Ss?usp=sharing




이제 의상의 texPath를 수정하자.


나의 경우 그래픽 파일 위치는

Things/Apparel/testapparel

이라고 적는다.

무기를 만들때와 같이 Textures/ 는 생략한다.

그러면 다음과 같게 된다.



https://drive.google.com/file/d/1PBF3vnBuQWGrMnzZoNg4xyrG0TMkWuCs/view?usp=sharing

이것도 파일을 올려두었다.





수녀 베일의 def만 만들고 바로 게임에서 확인해보도록 하자.


적절한 이름의 xml 파일을 만들도록 하자.


아까 본편의 옷 def를 가져온 것처럼 이번에는 마스크의 def를 찾아보자.


아까와 동일 폴더의 이름에 headgear 가 들어간 파일에 있다.

림월드에는 이미 WarVeil이라는 아이템이 있는데 이걸 가져오도록 하자.


<?xml version="1.0" encoding="utf-8" ?>

<Defs>

  <ThingDef ParentName="HatMakeableBase">

    <defName>Apparel_WarVeil</defName>

    <label>war veil</label>

    <description>A war veil, made out of reinforced cloth torn to appear damaged in combat. Some believe this functions as a talisman of courage.</description>

    <techLevel>Neolithic</techLevel>

    <graphicData>

      <texPath>Things/Pawn/Humanlike/Apparel/WarVeil/WarVeil</texPath>

      <graphicClass>Graphic_Single</graphicClass>

      <drawSize>0.80</drawSize>

    </graphicData>

    <uiIconScale>1.15</uiIconScale>

    <stuffCategories>

      <li>Fabric</li>

    </stuffCategories>

    <costStuffCount>20</costStuffCount>

    <statBases>

      <WorkToMake>1400</WorkToMake>

      <MaxHitPoints>80</MaxHitPoints>

      <Mass>0.08</Mass>

      <StuffEffectMultiplierArmor>0.2</StuffEffectMultiplierArmor>

      <StuffEffectMultiplierInsulation_Cold>0.05</StuffEffectMultiplierInsulation_Cold>

      <StuffEffectMultiplierInsulation_Heat>0.05</StuffEffectMultiplierInsulation_Heat>

      <EquipDelay>1.5</EquipDelay>

    </statBases>

    <equippedStatOffsets>

      <PainShockThreshold>0.05</PainShockThreshold>

    </equippedStatOffsets>

    <apparel>

      <bodyPartGroups>

        <li>FullHead</li>

      </bodyPartGroups>

      <wornGraphicPath>Things/Pawn/Humanlike/Apparel/WarVeil/WarVeil</wornGraphicPath>

      <hatRenderedFrontOfFace>true</hatRenderedFrontOfFace>

      <layers>

        <li>Overhead</li>

      </layers>

      <defaultOutfitTags>

        <li>Soldier</li>

      </defaultOutfitTags>

    </apparel>

    <recipeMaker>

      <recipeUsers>

        <li>CraftingSpot</li>

      </recipeUsers>

      <factionPrerequisiteTags>

        <li>Tribal</li>

      </factionPrerequisiteTags>

    </recipeMaker>

  </ThingDef>

</Defs>


이를 apparel_b xml에 넣고 적절하게 수정하자.




https://drive.google.com/file/d/1-9z7C8WvqiQWooLYvCXB3YlqcmSkvkqs/view?usp=sharing


이제 저장하고 게임으로 들어가 직접 확인하자.







옷이 몸싸개의 색깔을 사용하고 있어서 그런지 조금 어둡다.


랫킨 모더 얼굴 모드를 깔아보았다.

착용자의 머리카락이 너무 커서 뒤에 꽁지가 뛰어나오기는 했지만 성공적으로 적용된 모습이다.


우리가 사용한 의상의 이미지만 바꾸면 네 옷으로 변한다.

그림을 직접 그릴 예정이라면 림월드 바디 텍스쳐에 덧그리는 식으로 작업하자.

RimWorld-Textures/things/pawn/humanlike/bodies at master · RimWorld-zh/RimWorld-Textures · GitHub



성공적으로 의상을 인간에게 입히는 것에 성공하였다.

모드를 올려두었으니 막히면 참고하자.

https://drive.google.com/drive/folders/1N-ibdJapewV4NoYZU0lh9wwqHdyAfmam?usp=sharing