Entry 目次

只今コメントには返信できませんがツッコミ大歓迎です(゜∀^)/
Reproduction or appropriation of HTML, images and comics from within this blog(site) is prohibited. Do not use my works without permission.

シムズ2スロットを追加して置けるようにする!

≫EDIT

たとえばこちらの床の間板。
2マスオブジェクトで左右に物が置けますが、真ん中にも置けるようにしたくないですか??
チートとOMSPなんかを駆使しても置けますが、設置のたびに毎回そんなのメンドクセーですよね。移動したらずれちゃうし。

そこでスロットの追加です!
真ん中にも置ける第3のスペースを改造して作っちゃお!

これ、何か苦手意識があって避けていたんだけど、これが奥さん!やってみると予想外に簡単だったのよ!(゜0゜)
簡単なんだけど、忘れた頃に自分が読んでもわかるように、説明は少々クドめに書いています^^



私が参考にしたSLOT追加マニュアルはこちら
★MTS:[Tutorial] Adding Slots(英語)こちらで配布のPDFで学べます。
スロット15個くらい一気に追加してますw

今回、↑こちらと同じことをやるのですが、毎度英語読むのはツライんで、これの日本語訳みたいなのを綴ろうかと。ご自分用に要約&追記もしてるんでそのへんはご了承。


その他ありがたい日本語実践マニュアル!
★simpleLife>雑記帳>Slotの追加
毎度目ウロコな情報に陰ながら感謝御礼申し上げますm(_ _)m!!
新たに3D(メッシュ)製作からSlotも作ってみたい職人向けの素敵なチュートリ。より詳しくSlotについて理解したい方は↑こちらを熟読せよッ!


で、私は3D製作まではやらないので、単純に既存のオブジェクトにslotを追加する方法だけ書きます。

でもって。
マニュアルを読みますと、つまりこういうことらしい
↓↓
SLOTの掟
・1スロット追加するごとに、STR#、SLOT、CRESの変更が必要
    STR#:Instance末尾90番に名前を追加する
    SLOT:container情報を追加する
    CRES:追加と座標を決める  
・OBJDの0x0014でSLOT番号(通常Instance末尾80番~)を指定する
・複数タイルオブの場合はOBJDの分だけ変更(メインOBJDは変更不要)



ではレッツゴッ!!


本日のお題はBLUE CHLIPEPPERさんの和室にかかせない床の間板。

こちらはコーヒーテーブルで、野菜(!?)が乗ってる①と②はデフォで物が置ける場所。
これに招き猫(犬だけど)が乗ってる③の部分を追加してみよう!





1.STR#の追加(slotに名前を付ける)
slotの掟その1:
slotを使う場合は、「STR#の、Instance末尾90番で、名前を指定する」という決まり。

てことで、STR#の90番に1行追加Addし、テキトーな名前を付ける。
ここでは「kazari(飾り)」としてます。ほんとテキトー・・・自分がわかりやすければいいんだそれで。

もしslotを何個も追加する場合は、ここでその分だけ行を追加して名前(別名)を付けます。

名前は別に「slot_」とかにしなくてもおk。Maxis一般では、統一性をもたせるためにslotとかrouteとか書いてるだけっぽい。
ちなみにそのMaxis一般では、「slot_」と付けば、主にシムやオブジェクトの行動スペースで、「route_」はシムの行動領域、「target_」はエフェクトの場所などを示している。とかいう話である。



2.SLOTの追加(Containerを追加する)

Slotの掟その2:
置く場所=Containerである。

ここで置く場所の追加です。置くためのスペースの確保みたいな。
さっきからスロット、スロットと言っているが、それは総称で厳密には「コンテナ」というのである!
というわけで「Container」を追加Addする。

今回は2タイルオブですので、タイル0か1か、どっちに追加するか決めなきゃなんだけど、タイル0の方に追加してみようと思うので、SLOT-80番をクリックしてAddします。
(SLOTファイルが複数あってどれをいじればいいかわからん場合は後述↓)

中身の数値設定がイミフで難しいと思ってたんだけど、大事なのはS2、I7、I9、I10の設定だけっぽい。

あとの中身は真似ろ!!

そんなことでいいのか?いいみたいよ。(゜д゜)
今回の床の間板(コーヒーテーブル)のように、元々置くスペースが備わってる場合は、すでにContainerがあると思うので、それをお手本に同じ数値を入れればおk!
ない物に新たに作る場合は、他のテーブル類のメッシュを開いてSLOTにあるContainer値をマネればいいかと。

変えなきゃいけないのは I9 と I10 で、

I9には、STR#で追加した時の番号が入る。
今回は、先ほどSTR#で6番目に追加したので「6」。
もしここで同じ番号を記入した場合、STR#の同じ場所を指すことになるわけだ。

I10には、全SLOT内での通し番号を記入する。
複数タイルオブの場合はSLOTも複数あると思うので、全SLOTファイルを見てダブらないよう連番にする。

今回はSLOTファイルが4つあるので4つとも見てI10を確認する(上2つは使ってないけど)。
80番で3、4、6が抜けてるのは、81番の方にあるのでこっちは1、2、5、7となる。

ちなみにSLOTでは10進数を使っているので10を0Aとかにしなくておk。





3.CRESの追加・座標設定
置くスペースが確保できたので、次は置く位置設定です。
サァ!楽しいCRESの時間ですよ~w
結局はCRESの変更の仕方もわかってないとスロット追加はできないって話です・・・。
(CRES追加変更のマニュアルはこちら参照)

ここはもうスロットの説明ではないので、まずは結果をドンとお知らせ!
↓↓
←はい!こうなった。
(画像では余計な部分を「-」で隠してます)

最初にSTR#で追加した名前を使ってCRESにも追加。←ここがポイント!

あとは置く位置として座標を任意で決める。
でもって、テキトーな親を決めて完成!!

最初に「slot_...1」に物を置かないと、真ん中「kazari」に置けない仕様ですが、最初に真ん中に置きたいのであれば、「slot_...1」をX=0.50にして「kazari」X=0.00にしちゃえばおk。


以下このへんの手順をざっと知りたい人用
毎度同じことなのでざっとね。
なお、CRESは本セーブしてリロード(CRESを開き直す)しないと変更が見て取れませんので、必要に応じてセーブ&リロして確認のこと。

CRESに追加
EditBlocksより「cObjectGraphNode(座標付きのやつ)」を追加Add。

commitしる。



追加したやつに、STR#で付けた名前を付ける。
今回は「kazari」としてるので、ここでも「kazari」と記入。

commitで。




引き続き追加した「kazari」で、タブを変えて。
座標の設定!
ここが置く位置の指定になります。自由に決めてOK!

今回は真ん中に置きたいだけなのでX=0.50
他は元々備わってる「slot_0と1」と同じにしてます。

commitで仮セーブ。



でもって、最後に親決め。

どこの子にするかはヒエラルキーから熟考。
今回はデフォの置くスペース(slot_0,1)が0x4の子になってたので、追加したkazariスロットも何となく0x4の子にしてますが、これはrouteを持たない独立した(ただ物を置くだけの)スペースなので、0x0でも0x3でもいいと思われます。どこでもいい。

コツとしては座標のない(XYZ全て0.0)ものを親とするといいです。

本セーブしてリロードして、ヒエラルキーから完成した並びを確認あれ!




というわけでこうなった
↓↓

OMSPもチートも使わず、デフォで真ん中にドーンと刀が乗りますヨ^^
1マスでは小さすぎる、3マスだと大きすぎる、やっぱり2マスタイプが床の間にしっくりくるんですよネ!
同じようにして左にある和棚にも空いてるスペースに物が置けるようにできると思います^^

<注!>ただし!これは単純に飾り用として場所を追加しただけなので、シムの行動は伴いません。
たとえば、この追加した場所にシムが新聞を自発的に置いたりはしません。それには別途Routingの設定が必要です。
ただし、置いた後に関しては自発的に持ったり、見たりはしてくれる(置いた物の方のRoutingを使うため)と思います。ここがOMSPで置くのとは違うところ!

ただ飾り用として置くだけでいいなら、タンスの上やテレビの上、冷蔵庫の上などにもSLOT-Containerを追加してやれば物が置けるようになっちゃうわけです!


マニュアルにもあるようにスロットは1個に限りません。何個でも追加できちゃいます!
←一気に5個追加してみた例。

これは8kさんの和棚(2タイルのコーヒーテーブル)で、元は下の2箇所しか置けないですが、上のスペースがもったいなかったので5箇所追加してみました。


←改造箇所はこう。

スロット追加する分だけSTR#、SLOT、CRESの行もそれぞれ追加してやりゃあいんです。
5個追加なら5個、10個なら10個・・・みたいに。
CRESで個々に座標を変えてやることで、それぞれ置く位置を変えることができます。

これはタイル0(SLOT-80)に5個追加してますが、タイル0に2個、タイル1(SLOT-81)に3個とか分けてももちろんOK。
そうすることで、タイル0に合わせた時2個置けて、タイル1に合わせたら3個置ける感じになります。



配布品の中には「飾りは専用のOMSPを使ってね!」みたいにOMSPもセットで配布されているオブもありますが、そんな時にはOMSPのCRES座標をマネて、スロットの追加しちゃえばラクラクよ!
ぜひお試しください(^∀^)/





その他SLOT解説

複数タイルオブジェクトのSLOTの見分け方

どのタイルがどのSLOTを使っているかは、OBJD の slot idって所で指定されている。
通常OBJDでは、ファイル名に「-0.0」とか「-1.0」とか付いてるので、それがタイル0や1に該当している(何も付いていないのは代表)と思っていい。

てことで、タイル0に物を置きたい場合はOBJD-0.0の情報を見るわけネ!
別にタイル0側じゃないとダメってことはないので、タイル1に追加したい場合はもう一方のOBJDから対応するSLOTを見ればおk。両方に追加したってかまわないし。
このへんは臨機応変に^^



SLOT-Container-I7の数値について
SLOTファイルの中の数値についてはこちら

I7には置ける物の「分別番号(みたいな)」が入る。

1 = ground(地面や床における物)
2 = low table(コーヒーテーブル)
3 = table(ダイニングテーブル)
4 = on counter(カウンター上、コーヒーメーカー、フードプロセッサーなど)
5 = non-standard (on sims)
6 = hand(シムが持つ)
7 = sitting(イスとかベッドとかで使う番号=つまりシムが乗る)
8 = end table
9 = in counter(カウンター中=シンクなど)
10 = under counter(カウンターの下=ウォッシャーなど)
11 = decorative
12 = ドライブウェイ(つまり車が置ける)
13 = 棚
(正確には、全てのオブジェクトはBHAVで「置ける場所-My allowed height flags」というのが設定されていて、その番号がこれに該当する。)

たとえば、I7を8にした場合、エンドテーブルに乗る物が置けるようになる。招き猫は乗るが、フードプロセッサーは乗らない。
フードプロセッサーはカウンター上専用オブジェクトなので、4じゃないとダメーって具合である。

I7は複数設定しても可なので、フードプロセッサーも乗せられるようにしたいのであれば、さらにI7を4にしたContainerを1行追加する。

そしてI9は同じにする。
こうすることで同じ場所で2種類の物が置けるようになり、招き猫も乗るし、フードプロセッサーも乗せれるようになる。

←左の例では
2=コーヒーテーブル
4=カウンター上
8=エンドテーブル
12=ドライブウェイ
の4種類の物を1箇所に乗るようにしてみた。I9=0の場所で招き猫もフードプロセッサーも車も乗る仕様だw

ただし、置けるだけで、元のオブがカウンターでなければフードプロセッサーを使うことはできないし、ドライブウェイじゃなければ車も機能しない(ので設定しても意味がないw)。
Containerはあくまでも物を置くだけのスペースなので、シムやオブジェクトの行動までは対応しない。