忍者ブログ

雑記帳

シムズ2のスキン、オブジェクトのダウンロード記録

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

BHAV挑戦日記3-1

こちらのチュートリアルに挑戦してみました。

「Making a better interaction - Entries, exits, skills and motives 」 by echo
http://www.modthesims2.com/showthread.php?t=222531

内容も、だんだん難しくなってきましたよ。
説明文も出来る限り訳そうとしたんですけど、英語能力が足りなかったりでかなり意訳になってます。
原文チュートリアルをいつでも参照できる状態で、お試しください。
日記2でやっているチュートリアルをすでにやっていることが前提です。
それから「Data Types for Simantics Users」も、出来れば読んでおいた方がいいみたいです。
一応一通り読んでみたんですけど、私にはまだ難しすぎる内容でした;

「Data Types for Simantics Users」 by echo
http://www.modthesims2.com/showthread.php?t=212101
 

■Revision and preparation
【1】
03f3ca45.jpeg

チュートリアルではすでにデフォオブジェクトをクローンして、新しいパイメニューとBHAVを作ったところから始まってます。
前回の復習もかねて、チュートリアル通りのものを用意していきます。
今回クローンするのは、「彫像」カテゴリにあるヴィーナス像みたいなのです。
詳しいクローンのやり方は、前回の日記2-1か、コミュニティーJPさんのチュートリアルを参考にしてください。

とりあえず今回も、GUIDはechoさんのお手本オブジェクトからいただいてます。

【2】
6919fefd.jpeg
ゲームに導入して、うまくクローンできてるか確認。
右がデフォルト、左がクローン自作です。どっちにも動作は異常なし。

【3】
ecd088e8.jpeg
クローン自作オブジェクトの編集に入ります。
まずはGLOBでsemi blobalの確認です。

【4】
b9bf5c75.jpeg
Resorce treeをざっと見てみると、TTAsがないですね。TTABも一応あるみたいなんですが、Instanceが0x81です。見慣れないInstanceナンバーな気がします。

次にResorce treeからOBJD内のファイルを確認します。
RAW Dataのタブをクリックして、「Interaction Table ID」を確認。0x1でした。

【5】
9ba0dd4c.jpeg
「Interaction Table ID」が分かったので、TTABとTTAsをインポートしてきましょう。
上部メニューのToolsからObject Tools>Import Semi Globalsとします。
PaintingGlobalsを選んで、scanをクリック。
ずらっと出てきたら、uncheck allでチェックをいったん全てはずし、Instanceが0x1のTTAs(Pie Menu Strings)と、同じくInstanceが0x1のTTAB(Pie menu functions)にチェックを入れてOKします。

【6】
1a00ef95.jpeg
インポートしたら、忘れずにGroupを0xFFFFFFFFに変更します。
まずはTTAsを修正。

【7】
4b4e4fbc.jpeg
TTAsに、新しいパイメニューを加えます。
ここではチュートリアルに従い、「Talk」としました。

【8】
3b651a3a.jpeg
次にTTAB編集。Instance0x1のものをいじります。最初からあったTTABは何に使用されているのか分からないので、そのまま放置しておきます。

Groupを0xFFFFFFFFに変更したら、Plugin Viewに戻って「View」をクリック。Addボタンを押して、新しく「Talk」の設定を作ります。
BHAVはまだ作ってないので、まだ設定しません。

【9】
0e1c759d.jpeg
BHAVの編集に入る前に。
今回もアニメーションを使うので、先にアニメーションを登録するSTR#をインポートしてきます。

【10】
63cec950.jpeg
インポートしたら、忘れずにGroupを0xFFFFFFFFに変更しておきます!(←私はここでうっかり忘れて、BHAVいじっていた時にはじめて気がつきました;)

使うアニメーションの名前をデフォルトから探してきて、新しく追加したライン0x25に入力しました。

【11】
363b974b.jpeg
下準備が出来たので、BHAVを作ります。
適当な既存のBHAVをクローンして、あたらしいBHAVを作成。
ファイル名を「Interaction - Talk」にしました。
Instanceも、他のBHAVとかぶらないように設定します。

【12】
e5c6236c.jpeg
0x0のBoxをクリックして、上図のように設定。
オブジェクトの正面に行くコマンドです。

【13】
cc8a8b06.jpeg
Insert via Trueボタンを押して、新しいBoxを追加。
アニメーションの設定です。
ちなみにSTR#のGroupを変更し忘れていると、Operandsの下の文に、Animate Sim ○△□(semi)みたいな表記が出てきて、忘れた事に気がつくと思います。幸いにして。
私は【10】のところでGroupを変更し忘れていたんですが、ここを見て間違いに気がつきました。Privateになっている事をきちんと確認した方がいいみたいです。

というわけで、ようやくチュートリアルのスタート地点に到達しました。
慣れないと、ここまでの操作だけでも結構疲れます。
それでは本題に入っていきます。

■Proper entry and exit
シムが自発的に使えるようなオブジェクトを置いた時、シムはどのようにして自分が使いたいオブジェクトを選ぶのでしょうか。これはゲームのRelationshipシステムによって制御されています。また、シムがすでに使っているオブジェクトは「in use」の状態にあり、後から他のシムが来ても同時に使うことは出来ませんね。

Global functionの「Standard Entry」は、オブジェクトに「in use」のマークを付け、それを使用しているシムとオブジェクト間のRelationship(関係)を構築してくれるものです。そしてこれをOffにするのは「Standard Exit」です。

Standard Entryは、シムがオブジェクトを使い始める直前に呼び出さなくてはいけません。
今回のBHAVの場合では、「オブジェクトを使う位置まで移動する」後で、「アニメーションを開始する」前の位置に入れないといけません。


【11】
49795c43.jpeg
0x0のBoxをクリックして、Insert via Trueボタンを押します。
新たに加わったBoxをクリックして、OpCodeの横の矢印ボタンを押し、Resource Chooserウィンドウを開きます。
Globalのタブをクリックして、Standard Entryを探しましょう。選んだら、OKします。
Standard EntryはParameterを必要としないので、Operandsはすべてゼロにします。

【12】
f4218d96.jpeg
こんな感じ。
次に、Standard EntryでONにしたものは、使い終わったらOFFにしなくちゃいけません。Standard ExitはStandard Entryとペアで使います。
このBHAVでは、Standard Exitはアニメーションのあとにいれます。
0x2のBoxをクリックして、Insert via Trueボタンを押します。

【13】
931081d7.jpeg
Standard Entryの時と同様にして、上図のように設定します。Operandsも全てゼロにします。

【14】
ゲーム内で動作確認する前に、「in use」のオブジェクトを後から来たシムが使わない設定も入れておきます。
Guard BHAV は使いません。例えば、シングルベッドをシムに使わせようとします。しかし先に別のシムが寝ると、後から来ようとしていたシムの行動アイコンがその時点で消えます。使えなかったシムは地団太を踏みます。
つまりオブジェクトが「in use」であるかどうかチェックするコードは、シムがオブジェクトに向かって歩いていく後、かつシムがオブジェクトとのInteractionに入る前、に挿入する必要があります。

84f77e7a.jpeg
というわけで、Standard Entryの前に「in use?」の判断をさせるコードを入れます。
0x0のBoxをクリックして、「Insert via true」を押します。
新しく出来たBoxにOpcode0x0002を入力して、Interaction Wizardを開き、上図のように設定します。
「このオブジェクトは使用中ですか?」と尋ねるもので、「使用中」ならば緑の矢印(True)へ、「未使用」ならば赤の矢印(False)へ行きます。

【15】
b623c702.jpeg
矢印もこんな感じにしました。
緑の矢印(true)の先がFになっているので、オブジェクトが使用中だった時はBHAV実行終了。「In use?」の結果がFだった事を受けて、ゲームはその場でシムに文句を言わせ、行動アイコンを消します。文句を言うシムの噴出しも、先にオブジェクトを使っていたシムの顔になります。
(Go to Relative PotisionがFで終了した場合、シムは「足跡と×印」の「行けないよ!」の吹き出しを出して文句を言います)

ちなみにGlobal BHAVに"In use?"(Opcode0x0102)があります。これも上記と同じ働きを持つものなので、代わりにこれを使うことも出来ます。

Note:Standard Entry and Exit
今回使用したのは1タイルのオブジェクト用のコマンドです。複数のタイルを使用するオブジェクトは「Standard Entry - Multi Tile 0x116」と「Standard Exit - Mlti Tile 0x117」を使わないといけません。これらはオブジェクトをどう使うかによって、Operandsの入力が必要です。これらのコマンドを使う際は、似たようなEntryとExitを持つオブジェクトを調べて、Operandsをどうしたらいいのか調べます。

【16】
5f9e0c68.jpeg
危うく忘れる所でしたが、TTABのライン0x7「Talk」に自作BHAVを設定します。
これでOK。

ゲームにいれてここまでの作業がうまくいっているか確認します。

■Earning skills
前チュートリアルで、Expressionを使ってシムにスキルポイントを与える方法は分かったと思います。
しかしこの方法だと、シムのスキルポイントは一瞬で設定値分だけ加算されます。
普通シムがスキルアップする時は、頭の上に青いゲージが出ますよね。そして時間経過とともに、少しずつスキルポイントをゲットしていきます。これはGlobal functionを使って行うことが出来ます。

先ほどStandard entryとexitについて設定をしましたが、スキルアップの行動も同じようにstart とendが存在します。まずはBHAVのどの時点でスキルアップを開始させるかですが、Standard Entryの後、Animate Simの前にします。新しいBHAVのBoxをこの位置に入れて、Globalの" Skill - Start "(Opcode:0x1D7)を設定します。これはパラメーターを必要とするコマンドです。

パラメーターはBHAVに与えられる値で、値によってそのBHAVの方向性を指定します。値を与えるのは、そのBHAVを呼び出したBHAVです。
例えば「Skill - Start」の場合。どのスキルを上げるのか、どれくらいのスピードでスキルポイントが貯まるのか、シムがスキルを鍛えるのにどのオブジェクトを使っているのか、シムの性格よるボーナスは付くのか(例:社交が高いとカリスマスキルの学習にボーナスが付く)という事を決めるパラメーターが必要になります。呼び出されたこのBHAVは、パラメーターを与えられることによってはじめて具体化され、パラメータに基づいて動作することが出来るようになります。この辺りの事は「Data Types for Simantics Users」に書いてあるそうです。

【17】
f568aab1.jpeg
Standard Entryの後に 新しいBoxを追加して、"Skill - Start "(Opcode:0x1D7)を設定します。
次にIntaraction Wizardを開いてOperandsを設定していきます。
(1)New Formatにチェックを入れます。これで値の種類を選べるようになります。
(Old Formatにチェックが入っていると、すべてLiteralとして扱われてしまいます)
(2)各行以下のように設定。
・Skill ID……どのスキルを鍛えるかを決めます。Literalに設定。値は0x000B(カリスマスキル)。
ちなみにここで、変数や定数として格納されている値を使う事も出来るそうです。
・Speed Mod……シムの学習速度を決めます。値が高いほど、早くスキルポイントが貯まります。ここでは適当にLiteral 0x0070にします。
・Interaction Object ID……どのオブジェクトによってシムがスキルポイントを獲得しているのか決めます。「Stack Object ID」によって指定します。Stack Object IDは、各々の関数が独自に持つ変数です。Interactionでは、Stack Object IDは、ユーザーが使用しようとクリックしたオブジェクトに最初に設定されます。今回の場合では、石像のIDがStack Object IDに格納されます。
・Special Personality……シムのどの性格によってスキルアップボーナスが付くかどうかの設定です。今はボーナスをつけないのでLiteral 0x0000とします。
(3)出来たらOkeyを押します。

【18】
6ec8ebb2.jpeg
で、結局こうなりました。

【19】
スキルアップをスタートさせたら、スキルアップの終わりも作らねばなりません。Standard Exitの前に新しいコマンドを入れます。Globalより「Skill - End(Opcode:0x01D8)」を設定します。これはパラメーターは必要としません。

d403ef7c.jpeg
こんな感じになりました。

【20】
スキルアップ行動が便利になるように、アニメーション回りにループを入れます。特にスキルアップのStartとEndをループに含まないようにしないといけません。さもないと、シムの頭上のゲージが、オブジェクトを使用中出たり消えたりしてうっとうしいです。

9a0749b0.jpeg
ループの作り方は、前回のチュートリアルで学びました。
まずは、シムが自発的にループから抜け出るコマンドをAnimate Simの次に入れます。

【21】
6ba54c60.jpeg
次に、ゲームシステムがエラーを出さないよう、Idleを入れます。
Animate Simの上。

【22】
d3f78404.jpeg
最後に、緑と赤の矢印を適切につなぎます。
最終的にBHAVは上図のようになります。
赤枠の設定を参考に、矢印がちゃんとなっているか確認してみて下さい。

Commitしてセーブ。ゲームに入れて確かめます。シムは石像に話しかけて、カリスマスキルをアップさせます。

【23】
ゲーム内で動作確認する際、チート「boolprop TestingCheatsEnabled true」でデバッグモードにしておくといいそうです。BHAVに不備があった時などエラーログが作成され、それを参照することで何がいけなかったのか読み取ることが出来ます。ログはマイドキュメント>EA Games>シムズ2>Log に作成されます。

で、デバッグモードにしてオブジェクトを使ってもらったんですが……。早速エラーが出ました!
「チュートリアルの画像と同じにBHAVを作ったのにーー!!?」とびっくりしすぎて、エラーが出た時のSSをとり忘れました。エラーが表示されたら、とりあえずResetを選択してセーブせずにゲームを終了し、作成されたログを見てみました。
66127957.jpeg
赤線が、ゲーム内で表示されたエラー。
オブジェクトを使用しようとしたAdultの女性シムに関するエラーです。
原因は「Animation の名前がstring内に見つからない」らしいんですが。

上の画像の下にもずらずらと何か数字が並んでいるのですが、読めません!

とりあえずもう一度Packageファイルを開けて、アニメーションの名前がリストに存在していること、BHAV内でも正しく指定されている事を確認しました。何がいけないのかさっぱり分からなかったので、どこもいじらずに閉じました。
再度ゲームに入れて確認してみることに。

【24】
166c310d.jpeg
デバッグモードにせずに、使わせてみました。
普通に使えました。その後デバッグモードにして再度使用させても、特にエラーは出ず。
さっきのは何だったんだろう???

お母さんは順調にスキルアップして、1レベルまで到達しました。
体感速度は、本棚で料理スキルを1レベルにする時よりは遅かったです。
うまくいった……として良さそうですね。
(追記:実は初歩的かつ重大なミスを犯していました(>_<; 管理人、この時はまだ全っ然気づいてません)

というわけで、次回はダイアログの追加やシムに自己主張の余地を与えたりなどをやっていきます。

次へ 

PR

Comment

お名前
タイトル
E-MAIL
URL
コメント
パスワード

Trackback

この記事にトラックバックする

SimPE覚書リスト(Sims2)

■拡張対応アップデート■
├ 冷蔵庫のシーズンズ対応
├ オブジェクトのフリータイム対応
├ アパートライフのシフト機能添付
└ カスタムドアのアパート区画対応

■近所関連■
├ 家系図編集
├ 生涯願望変更
├ 瞳と肌の変更
├ シムの性別変更
└ シムを整形する(AltSimsSurgery使用)

■スキン関連■
├ 服のカテゴリ変更
├ カスタムヘアの整理
├ 職業服のロック解除
├ アクセサリーの青点滅修正
├ 同メイクの重ね張り(アクセサリ複数使用)
└ Hairリカラーの不必要な年代削除

■オブジェクト関連■
├ オブジェクト日本語化
├ Subsetの追加&Recolorable化設定
├ Repository Technique (Master&Slave Object)
├ Slotの追加
├ エフェクトの追加
├ 複数リカラーを1ファイルに
├ Allowed with Foodな飾りオブジェクト
├ GMDCの複製
├ ベッドの回復値変更(BCON編集)
└ オブジェクト制作メモ

■Food関連
├ 料理の整理(パイメニュー階層化)
├ 朝食シリアルのリカラー(カスタム料理作成基礎?)
└ 料理のメニュータイム操作

■package総合■
├ packageファイルの構造
├ Material Difinition(TXMT)をいじる
└ BHAVに挑戦?

■その他■
├ 便利メモ
├ 音楽抽出
├ 絵画や写真の抽出
├ オリジナル絵画の描かせ方
└ BodyShopで髪リカラー

シム作成の覚書(シムズ2)

■遺伝システム■
遺伝とカスタムシム1

■ボディショップでシム作成■
下準備
テンプレート選び
眉と目の編集
鼻と口の編集
顔と顎の編集

■リンク■
個性付けメイク

■シム置き場■
女性シム
男性シム

シム作成(シムズ3)

■シム置き場■
男性シム
女性シム

プロフィール

HN:
うに
性別:
非公開
自己紹介:
シムズ2、3のレビューは、上のリンクからどうぞ。
■The sims2プレイ環境
本体+キャンパス+ナイト+ショップ+ファミリー+ゴージャス+ペット+ウィンター+シーズンズ+パーティー+H&M+トラベラーズ+ティーンエイジャー+フリータイム+K&B+IKEA+アパート+M&G
■The Sims3プレイ環境
本体のみ

カレンダー

03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

ブログ内検索

最新コメント

[01/05 Abuiship]
[12/10 ぺや]
[12/03 ぺや]
[11/25 小原沙貴]
[06/19 めい]

最新トラックバック

バーコード

Copyright © 雑記帳 : All rights reserved

TemplateDesign by KARMA7

忍者ブログ [PR]