忍者ブログ

雑記帳

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

[PR]

×

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

BHAV挑戦日記2-3

2-2の続き。
BHAVにランダム要素、ループを加えていきます。

■part 5: Adding random elements, and making decisions

今までは、一本道のBHAVを作ってきました。
次は、途中で分岐のあるBHAVを作っていきます。
分岐の条件は、まったくのランダムでもいいし、何か特定の条件を設けてもいいかもしれません。
これまで、BHAVの各Boxから出ている緑と赤の矢印を、「そのコマンドがうまく実行できたかどうか」によって
「うまくいった→緑の矢印へ進む」、「うまくいかなかった→赤の矢印へ進む」と捉えてきました。
しかし分岐を考える際、このTrue(緑)とFalse(赤)の矢印が持つ意味合いは少し変わってきます。

というわけで、シムがフラダンスをした後、条件によってアニメーションAをとるかBをとるかの分岐を持ったBHAVを作っていきます。

【1】
b2143cce.jpeg
まずは、新しく使うアニメーション2つを探してきて、STR#の0x81にアニメーション名を登録します。
上図のように、Addボタンを2回押して新しい行を加え、アニメーション名を入力しました。
できたら、忘れずにCommitしてセーブします。

【2】
93365616.jpeg
BHAVのInteraction - Come do stuffをクリック。
PluginViewのフラダンスのアニメーションを指示する0x2のBoxをクリックして、Insert via Trueを押します。
緑の矢印でつながった新しいBox 0x3が加わるので、OpCode横の矢印をクリックしてResource Chooserウィンドウを開きます。
上図のように、GlobalタブからCoin Flipを選んでOK。

【3】
76948869.jpeg
このCoin Flipは50%の確立で緑の矢印、50%の確立で赤の矢印へ進むコマンドです。
このOpCodeはOperandsは使用しないそうなので、全部00と入力しておきます。
コインを投げて表が出たら緑矢印、裏が出たら赤矢印を選ぶって感じですね。

【4】
cefd562b.jpeg
0x3のBoxが選択されている状態で、Insert via falseを押します。
赤い矢印でつながった0x4のBoxが新たに加わります。
これに、以前やったのと同じ要領で、シムのアニメーションを設定しましょう。
armswingdanceのアニメーションを設定しました。

【5】
2da95900.jpeg
再び0x3のBoxを選択した状態で、Insert via trueを押します。
緑の矢印でつながった0x4のBoxが新たに加わり、前の0x4だったBoxのナンバーが自動的に0x5になります。
新たに加わった0x4に、同じく別のアニメーションを設定します。
shoulderpumpというのを設定しました。

【6】
674cc8b6.jpeg
最終的にこんなになりました。
0x3のCoin Flipで、シムはshoulderpumpかarmswingdanceのどちらかのアニメーションを1/2の確立でとることになります。
0x4と0x5のFalse Target はReturn Falseに設定し直しました。

さてこれで分岐は出来ましたが、この後も続けてBHAVを設定していきたい場合もあります。
特に、一度分岐した流れを再び一つに戻すのはどうすればいいのでしょうか。

【7】
584bda7a.jpeg
0x5のBoxを選択し、Insert via trueを押します。
新たに0x6のBoxが加わりますので、Opcodeを0x0002(Expression)に設定。
Operandsの右側にある、トンカチとスパナが交差してるボタンを押して、Instruction Wizardを開きます。
上図のように設定。
シムの「楽しさ」ゲージが、現在の値にプラス10される設定です。つまり楽しさが10回復するわけですね。

【8】
957c2a9f.jpeg
0x4のBoxをクリックします。
そして、True Targetのところに、0x0006と入力。
すると緑の矢印が0x6のBoxにつながります。
これで、0x3のCoinFlipで0x4と0x5に一度分岐し、再び0x6で一本道に統合されるBHAVが出来ました。

一列に並んでいると見にくいですが、こんな感じに図示すると分かりやすいかも。
550d44a7.jpg
こんな感じの図を、中学数学でちょっとだけやった記憶があります(^^;
複雑なBHAVを組む時は、一度手書きでこんな絵を書いてみた方がいいかもしれませんね。

【9】
Coin Flipで分岐を作るのもいいですが、特定の条件で分岐させたい場合もあります。
例えば、性格や持っているスキルによって異なるアニメーションをとらせたい場合など。
ExpressionのOpCodeは、こういった分岐条件を作るのにも非常に有用です。
今までは、シムの欲求を回復させたりしていましたが、今度は別の事をしてみます。

e8c90cc5.jpeg
0x3を選択し、OpCodeを0x0002(Expression)に変更します。
Instruction Wizardを開いて、上図のように設定します。
(1)Decimalにチェックを入れると、十進法で数字を入力することが出来ます。
(2)100を入力。このあとDecimalのチェックをはずすと、この数値が自動的に16進法に変わります。0x64になります。
シムのスキルは、100ポイント貯めるごとに1レベルアップしていきます。200ポイントあると2レベル、300ポイントだと3レベルという感じです。
ここでは、「身体スキルポイント>100」となる設定をしたことになります。
これは、「身体スキルポイントが100ポイントより多いですか?」という条件文です。
Yes(True)であれば緑の矢印、No(False)であれば赤の矢印に進みます。
つまり、シムの身体スキルが少なくとも1レベルあれば、身体スキルが0レベルのシムとは異なるアニメーションをとることになります。

【10】
e99a4416.jpeg
最終的にこんなになりました。
ゲームに導入して、確かめてみます。

【11】
fed0892f.jpeg
身体スキル0レベルのお父さんに、使ってもらいました。
フラダンスのあと、腕を大きく振ったダンスをし、楽しさが少しだけ回復しました。

【12】
7daeadb2.jpeg
次に、身体スキルを1レベル以上にしたお母さんに、絵を使ってもらいました。
フラダンスの後、肩をぐりぐり回して足踏みするダンスをしてくれました。
顔は無表情のままなんですが。
どうやら、うまくいったようですね。

ここで、「さあ、シムの性別によって分岐を作るには、どうしたらいいでしょう。ヒント: ”==”の記号は”イコール”の意味を持つ」という練習問題が出されています。
あとで挑戦することにして、今はチュートリアルの先を続けてみることにします。

■Part 6: Creating error free loops
ここまでは、いわゆる終点のあるBHAVを作ってきました。
しかし場合によっては、プレイヤーが行動をキャンセルさせるか、シムの欲求がレッドゾーンになるまで、ずっと行動を続けて欲しい時があります。
つまりループするBHAVを作るわけですが、ゲームがエラーを出さない工夫が必要になってきます。

というわけで、ちょっとループを作ってみましょう。

【13】
4d4c070c.jpeg
0x6のBoxを選択して、True Targetに0x0002を入力しました。
楽しさが回復したあと再びフラダンスのBHAVに戻り、ずっと0x2~0x6で無限にループする構造です。
ところが、このループには問題があります。

この程度の単純なBHAVならまず大丈夫でしょうが、もっと複雑なループを作ると、ゲームシステムは終わりのない多くの処理を強いられることになります。これによって他の必要な処理が出来なくなり、ゲームが固まってしまう危険性が出てきます。
Maxisは事前にそれを回避するルールをシステムに組み込んでいて、こういったBHAVにはエラーを出し実行を中止するようになっているそうです。

それでもループを作りたい時はどうすればいいかというと、ループの中に小休止を挟みます。
この小休止の間に、ゲームシステムは他のBHAVの処理ができるようになります。
この理論はそれなりに複雑な話なので、詳しく知りたかったら「threaded programming」のキーワードでググってね、とのことです。
「スレッド プログラミング」でググるとウィキペディアの説明が出てくるので、読んでみてもいいかもしれません。確かに、複雑そうでした。
でも、理解しなくても今回の場合は大丈夫です。

【14】
6951d27b.jpeg
0x6のBoxを選択して、Insert via trueを押します。
新しく0x7のBoxが加わるので、OpCodeの小さな矢印をクリック。
選択ウィンドウが開いたらGlobalタブからIdle(0x0118)を選びます。
Operandsは、上段左端の箱に「01」と入力し、あとは全て「00」にします。
TrueTargetは0x0002とします。
Commitしてセーブ。
これで、ゲームはエラーを出さずこのBHAVを実行してくれます。

ところが実はまだ、このループには問題があります。
それは、シムが自発的にこの行動をキャンセルできる余地がない事。
一度行動を始めたら、シムはずっと踊り続けることになります。少なくとも、プレイヤーが行動をキャンセルしない限りは。
楽しさは回復しますが、残りの欲求値は時間と共に減少します。
たとえ空腹値が真っ赤になってもシムは自発的に行動キャンセルできないので、餓死すらできません。
踊り続けるしかないのです。
呪い系オブジェクトとしてはいいかもしれませんが、普通は困りますね。
なので、シムに判断をさせるコマンドをIdleのあとに付け加える必要があります。

【15】
9dd9e5aa.jpeg
新しく0x8のBoxを付け加え、OpCodeにGlobalであるWait For Notifyというコマンドを設定します。
Operandsはすべて00とします。
このコマンドは「私はここでをループやめる必要がありますか?」という決定を、シムの欲求値にもとづいて判断するコマンドらしいです。
YesならばTrueの矢印、NoならばFalseの矢印に進みます。
なのでFalse Targetを0x0002にして、ループを作ります。

これで、ゲームシステムにとってもシムにとっても(?)安全なループが出来ました。
0x8でシムは判断をして、やめる必要があるならば緑の矢印Trueに進み、そこでBHAVを終了します。
Commit&セーブして、さっそく動作を確かめてみます。

【16】
7fac7dc9.jpeg
おじいさんにやってもらいました。
便意のゲージが一番最初になくなりそうですね。
フリーの状態であれば、「トイレ行きたい!」と騒ぎ出す状態ですが、踊りはやめようとしません。
……何か設定をしくじったのかな? と思いつつ観察していたんですが、

【17】
66006335.jpeg
便意がなくなった時点で自発的に行動をやめました!

【18】
55a76002.jpeg
お漏らし……。
BHAV作成はうまくいったようですね。
おじいさん、ごめんなさい。

しかしWait For Notifyとは、どんなコマンドなんでしょうか。
【15】のところでOpCodeを設定した際、隣の「View BHAV」が青く表示されているのに気がついたと思います。
ここをクリックすると、Wait For NotifyのBHAVを覗くことが出来ます。

【19】
ace7b43d.jpeg
覗いてみた所です。
0x0から0x8までは何をやっているのかよく分かりませんが、0x9から0xBまでの設定はなんとなく分かりますね。
空腹、便意、体力の順番で何かの判断をしているようです。
0xFF9Dは、十進法に直すと-99らしいです。
覗いた後は、どこもいじらずにそっとCloseしておきます。

どうやらシムは、餓死かお漏らしか気絶するまでは踊り続けることになりそうですね(^^;


前へ / 次へ

PR

Comment

チュートリアルが!

  • T
  • 2009-03-09 20:36
  • edit
こんばんは、うにさん。
チュートリアル作って下さってありがとうございます!
うにさんのサイトにはほぼ日参しているのに、また気付くのが遅かったです><;
決してやる気が無い訳ではないのですが・・・;自分でも何故だか良く分かりません。
発見したのが3日前なのですが、ようやく時間がとれて挑戦できそうなので、早速やってみようと思います!
作って下さってありがとうございました!
お名前
タイトル
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プレイ環境
本体のみ

カレンダー

04 2024/05 06
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 31

ブログ内検索

最新コメント

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

最新トラックバック

バーコード

Copyright © 雑記帳 : All rights reserved

TemplateDesign by KARMA7

忍者ブログ [PR]