一般的に、同カテゴリにあるメイク同士は、重ね使用できません。
例えば頬紅では、重ねて使おうと二つ目の頬紅を選択すると、前に選択した頬紅が自動的に取れて、後から選んだ頬紅のみが適用されてしまいます。口紅でもアイシャドーでも、同じです。
マスクでも同じですが、コンタクトレンズと前髪を併用したいという場合は多いと思います。
同カテゴリに存在する他のメイクと同時使用できるようカスタマイズされたメイクは、特にその機能が強調される場合、「multi-wearable 」、「layerble」などと呼ばれているようです。
というわけで、メイクを重ね張りできるようにする方法に挑戦してみたいと思います。
原文チュートリアルはこちら。
「Changing makeup layering/multi-wearability」 by HystericalParoxysm
http://sumomo.modthesims2.com/showthread.php?p&t=173232
こちらでは、各メイクの重ね張りに加え、それぞれのメイクが重なる順番を自由に決められる方法も、紹介されています。
メイクの重ね張りの方法は、アクセサリーの同時使用にも応用できます。
作業を始める前に、変更を加えるpackageファイルのバックアップをとっておきます。
原文チュートリアルでは頬紅を例に作業を進められていますが、私はとあるマスクを重ね張りできるようにしたいので、そちらでいきます。
メイクでもマスクでも、やることは同じですけど。
以下の順に分けて説明しますが、必要ならば同時に作業してください。
変更箇所は同じ場所にありますので。
1、重ね張りできるようにする(multi-wearable にする)
2、メイクの重なり順を変える(layerの変更)
1、重ね張りできるようにする(multi-wearable にする)
SimPEで該当ファイルを開きます。
左のResource TreeからTexture Overlay XML (XTOL)をクリック。
すると右のResource Listにファイルがずらりと出てきます。
それぞれは、各年代と性別専用のファイルです。
適当なファイルをクリックすると、下のPlugin viewに中身が出てきます。
ずらずらと並んでいる項目のageとgenderの数値を確認することで、どの年代性別のファイルかが分かります。詳細は「服のカテゴリ変更」の所で表を作ってますので、必要な場合はそちらをご覧下さい。
さて、重ね張りできるようにするためにbin (dtUIintger) という項目を探します。
上図では、下から二番目にその項目があり、「0x00000014」という数値が入っています。
マスクでは、一般的にこの項目は「0x00000014」となっています。
ここの数値が同じもの同士だと、どちらかひとつしか身につける事が出来ません。
しかし数値が違うもの同士だと、重ね張りできるようになります。
というわけで、ここの数値を何か他の数値に書き換えればOKです。
数値は何でもいいですが、かならず「0x」以下の8桁内で決定します。使えるのは16進数です。
ちなみに、他の「multi-wearable」なメイクを持っていて、万一それと数値が同じになってしまうと、そのメイクとは同時使用できなくなるので注意してください。
5桁以上の数値を使えば、数値がかぶることはまずないと思うので、いちいちbinの数値をリサーチしなくてもいいですよ。たいへんですしね。
↑5桁以上の値を入力しても構いませんが、実際には下4桁までしか読み取られないみたいです。
なので、4桁で値を決めて下さい。(2009/04/04追記)
私は「0x0007ECB4」を使うことにしました。関数電卓でデタラメに打った10進数を、16進数に変換しただけです。
binの項目をクリックすると、右側で数値変更できるようになります。
Value:のテキストエリアに、「0x0007ECB4」を入力。
0x以下がちゃんと8桁になっていることを確認して、Commitボタンを押します。
Resource Listの該当ファイルが斜体になり、変更が確定されます。
以下同様にして、Resource Listの他のファイルについても、binの値を「0x0007ECB4」に変更していきます。
全て変更したら、セーブしてSimPEを終了。
BodyShopを起動して、重ね張りが可能になっているか確認します。
この方法は、特にコンタクトレンズや前髪に非常に有用です。
コンタクトレンズ専用のbinの値、前髪専用のbinの値を自分なりにひとつに決めて、修正していくと便利ですよ。
また、この方法はアクセサリーの同時使用にも応用できます。
※注意!!
アイライナーはmulti-wearableに出来ない事が報告されています。binの値をいじると、ゲームに認識されなくなるそうです。
MTS2を見てみると、multi-wearableにしてあるのはマスクと頬紅だけみたいです。他のメイクで試される場合は、そのつどBodyshopで確認してください。バックアップは厳重にお願いします。
以下、multi-wearableに出来るものと出来ないものを、分かっている範囲でまとめておきます。
・出来るもの……頬紅、マスク、口紅(作っておられる方がいらっしゃいました)
・出来ないもの(ゲームに認識されなくなる)……アイライナー、髭(管理人で確認済み)
↓知識がないので、推測にしか過ぎませんが……。
XTOLのsubtypeという項目は、それがどのメイクであるのか等を規定しているようです。
しかし、アイライナーとアイシャドウのsubtypeは0x07、髭と無精髭のsubtypeは0x00と共通の値が使われています。
恐らくbinの値によって、アイライナーとアイシャドウの区別、髭と無精髭の区別をつけていると思われます。
勝手なbinの値を設定してゲームに認識されなくなるのはそのせいかと。
ちなみに頬紅、マスク、口紅は、それぞれ専用のsubtypeを持っているので、binの値に融通がきくのかもしれません。
※留意点
各メイクのbinのデフォルトの数値は、こんな感じ。
口紅 : 0x0000000A
頬紅 : 0x00000008
アイシャドー : 0x00000007
アイライナー : 0x00000006
マスク(一部を除く) : 0x00000014
無精ひげ : 0x00000001
ひげ : 0x00000002
眉毛 : 0x00000003
フリータイムまでの段階で、0x00000046までの値は、ゲーム内で何らかの形で、アクセサリーやスキントーンに使われているらしいです(欠番も多いのですが)。
絶対にこれらとbinの値がかぶらないようにして下さい。
2、メイクの重なり順を変える(layerの変更)
各メイクやマスクの重なり順は、layerの数値で決定されています。
先ほどbinの値を変えましたが、同じ場所にlayer (dtString) という項目があるので探して下さい。
上の図では、ちょうどbinの真上にあります。
各メイクのデフォルトの値は、次のようになります。カッコ内は、10進数に換算した値。
口紅 : 0x00000000 (0)
頬紅 : 0x00000014 (20)
アイシャドー :0x0000001E (30)
アイライナー :0x00000028 (40)
マスク : 0x00000032 (50)
不精ひげ : 0x0000003C (60)
ひげ : 0x00000046 (70)
眉毛 : 0x00000050 (80)
ここの値が大きいものほど、手前に表示されます。
例えば、マスクで長めの前髪を作っても、デフォルトのままでは眉毛の下に表示されてしまいます。
同様に、マスクで頬傷を作って頬紅で化粧させても、傷は頬紅の上に表示されることになります。
layerの値を変更することで、これらは修正できます。
マスクの前髪は、眉毛の値「0x00000050」よりも大きい数、例えば「0x00000051」にすればOK。
マスクの頬傷の上に頬紅を塗りたければ、マスクのlayerを「0x00000013」くらいにすればいいです。
ちなみに、layerの数値が同じもの同士を重ね張りした場合、どういう表示になるのかは、実際にBodyShopで確かめてみないと分かりません。
一番下のレイヤーは、口紅の「0x00000000」です。マイナスの値は絶対に使わないで下さい。
ヴァンパイアの肌のlayerは、マスクと不精ひげの間にあるそうです。
だから、ヴァンパイアにはメイクが出来なかったのかな? 植物シムも同じ原理かも。
layerをいじれば、ヴァンパイアや植物シムにも、メイクをのせられるようになるかもしれませんね。
ただし、Defalt Replacementのヴァンパイアスキンなどを使っている場合は、クリエイターさんがあらかじめ肌のlayerに手を加えておられる事があるみたいなので、ダウンロードページの記述をよく読むか、ゲーム内でどのあたりにlayerが設定されているか調べる必要があります。
だいたいが、メイクが乗るように修正してくださっているみたいですが。
以上です。
PR