【Sandbox】
NPCに様々な生活行動をさせられる便利なProcedureです。これ一つで食事、家具の使用、アイドルマーカーの使用、徘徊(無目的に移動)、睡眠を行います。これらはまったくランダムで行うのではなく、GameSettingである程度決められているようです。
「Success Completes Package」にチェックが入れられるようになっていますが、エンドレスタイプのProcedureみたいなので、チェックを入れても意味が無いかもしれません。
-パラメータ-
- Loaction: 行動を行う場所。
- AllowEating: 食事の行動を許可するかどうか。パンをかじったり、ジョッキをあおったり。ランダムに食事することもあるようですが、GameSettingsで1日3度の食事時間も決められています。
- AllowSleeping: 睡眠を許可するかどうか。GameSettingsで睡眠を行う時刻が限定されています。実行するかどうかはランダムなので、Trueにしていても寝るかもしれない程度の設定かもしれません。
- AllowConversation: NPC同士のランダム会話を許可するかどうか? Falseの設定で使ったことが無いのでよく分かりません。少なくとも会話自体の許可不許可の項目ではないようです。
- AllowIdleMarkers: アイドルマーカーを使用するかどうか。
- AllowSitting: ActiveMarkersに"Sit 0 "のMarkerを持っている家具を使用するかどうか? Markerの有無は家具のデータを確認してみてください。結構な種類の家具が該当します。
- AllowWandering: 無目的に徘徊するかどうか。Falseだと許可されている家具を使用するためだけに移動しますが、Locationの範囲内に使えるものが無ければ棒立ちになる可能性もあります。一般にはFalseの設定で使用することが多いようです。
- WanderPreferrefPath: 移動するとき、可能な限り優先度が高く設定されたNavmeshを通ろうとします。あまり意識しなくてもいい設定なので、よく分からなければFalseで問題ないかと。
- Energy: 一つの行動にかける時間を算出する基準値。一般的には50。計算式はCKwikiにて説明されています。追加情報はページ下方に書き加えています。
- AllowSpecialFuniture: "FurnitureSpecial"のキーワードを持つ家具を使用するかどうか?キーワードの有無は家具のデータを確認してみてください。鍛冶炉や錬金術台の他、結構な種類の家具が該当します。
- MinWanderDistance: 徘徊する際の最低移動距離。単位はRadius。
複数種類の行動を実行できるため、パラメータの数が多いです。フラグの設定で食事、睡眠、家具の使用、アイドルマーカーの使用を行わせられますが、確実に行動して欲しい時は、Procedure:Eat、Procedure:Sleep、Procedure:Sit、Procedure:UseIdleMarkerを使用します。
・家具やIdle Markerの所有権
前提条件として、その家具やIdle Markerを使用できるRaceである必要があります。特に子供種族(Childにチェックが入っているRace)が使えない家具はたくさんあります。家具のデータの「Child Can Use」にチェックが入っていれば子供種族も使用できます。
家具の使用に関しては、他人や自分が属していないFactionの所有物は使用しないようになっています。自分に所有権があるものや、所有権が設定されていないものだけ使います。
屋内Cellに配置されているIdle Markerは、使わせたいNPCやFactionをオーナーとして直接設定してやらないと使わないようです。逆に屋外に置かれているものは、Idle Markerに所有権が設定されていなければ誰でも使えるようです。
Idle Markerをうまく使ってくれないと感じたら、所有権をそのNPCに設定してみてください。
また一部のマーカーには、アニメーションを再生するための条件が設定されていることもあります。直接アニメーションの実行条件を確認してみてください。上部メニューの「Gameplay > Animations...」から確認できます。該当項目を見つけるのが大変ですが。
・GameSettingの設定値
MinとMaxの時刻の間にランダムに行動を開始し、DurationのMinとMaxの間でランダムに決められた時間だけ行動を続けます。
カッコ内はデフォルトの数値です。似たような名前で"ISandbox~"から始まる設定があり、微妙に値が異なるところもあるのですが違いがいまいちよく分かりません。
就寝開始時刻:fSandboxSleepStartMin(19) ~ fSandboxSleepStartMax(1)
睡眠時間:fSandboxSleepDurationMin(6) ~ fSandboxSleepDurationMax(10)
朝食開始時刻:fSandboxBreakfastMin(6) ~ fSandboxBreakfastMax(9)
昼食開始時刻:fSandboxLunchMin(11.5) ~ fSandboxLunchMax(12.5)
夕食開始時刻:fSandboxDinnerMin(18) ~ fSandboxDinnerMax(19)
食事にかける時間: fSandboxMealDurationMin(0.1) ~ fSandboxMealDurationMax(0.25)
ここにあげた値以外にもSandboxという名前が入った値は、このProcedureに関連する設定と思われます。変更してしまうとゲーム全体に影響を及ぼすため、編集する機会はあまり無いかもしれませんが、知っているとNPCの行動を読みやすくなります。
他のProcedureにもGameSettingで設定が決められているものが多いようなので、確認してみるのも面白いかもしれません。
fSandboxCylinderTop/Bottomは、Locationに設定された範囲の上下方向の空間を決定する項目。値の幅を広げることで、NPCはLocationに設定された位置の階下や上階も認識できるようになります。「
Multiple Floors Sandboxing」はこの設定値を変えてくれるModです。
・Energyの設定について
GameSettingsから初期値をとり、Excelで計算してみました。
ざっと見た感じ、Energyの値が大きいほど家具を使用する時間が短くなり、徘徊が許可されている場合は徘徊時間が長くなります。Energyが低いと家具を使う時間が伸び、徘徊する時間が短くなるようです。Energy「200」で家具を使用する時間がゼロになるため、食事以外で座ることはまずなくなります。
落ち着かない感じを出したければEnergyを高めにするといいでしょう。
設定値は0以上200未満がよさげな感じですが、実際には「50」の設定値しか見たことがない気がします。
前へ |
次へ