2013/08/10

タロス巡礼の旅(11)~ウィンドヘルム近郊・馬車のしくみ~

タロスラブな人達のスカイリム全国行脚の旅の十一回目です。のんびりダラダラとお遍路しているうちに、リアルの季節はとうとう夏になってしまいました。
寒い時季はノルド達の薄着に「もう見てらんない」とか思っていたのですが、暑ければ暑いでゲーム内の雪すさぶ氷原が恨めしく思えますね。その涼しげな冷気をちょっとでいいからこちらに分けて欲しい。
ウィンドヘルムの街の城門の上より次の目的地を眺む。
次の目的地は目の前
さて、今回の十一番札所のタロス様は前回のウィンドヘルムの街の目の前です。またしても旅とは呼ぶに値しない近距離です。しかも周囲にめぼしいものが何にも無いです。どうしましょう。
今回の道程
わざわざマップを載せるまでもありませんが、今回の道程はこちら。
ウィンドヘルムの馬屋の先の橋を渡った辺りに小高い物見の丘があって、タロス像はその丘の切っ先に見張りのように立っています。丘の上に登るためには、街道を一度南のモルブンスカーの方面に降りていって、ぐるっと下から回ってこなければなりません。
タロスの丘
タロスの丘への参詣路?には、道標の積み石と朽ちかけた幟の旗が翻っています。大事なスポットを見逃さないようにと設置された、各地でよく見るいつもの目印ですね。
タロス像の視線の行方は、遥かなるアトモーラ……?
遥かなるアトモーラ
タロス様が立っている丘の上からはウィンドヘルムの街が一望できますが、タロス様の視ている先はさらに向こうの海の彼方のような気がします。
ノルドがスカイリムに作った最初の街と、そのノルド達がやってきた凍てつく北の海の方角を見つめているタロス様は、まるでノルドの歴史そのものを見守る守護神のようです。
タロス様と一緒に見晴らしの良い景色をしばらく眺めていると、ここにこうしてタロス像が置かれたのは、苦労して切り開いてきた自分達の土地を災厄や外敵から護ってくれますようにという、「鎮守」の神様のような意味合いがあるのかな、と思いました。
厳しい過酷な自然が、真面目に働く人々に少しでも多くの恵みを与えてくれますように。
先祖が多大な犠牲を払って築き上げたこの国の未来を、どうか正しく導いてくれますように……
そんな人々の祈りのような思いが伝わってくるような気がします。
それなのに……誰ですかァ!こんな所にこんな本を置いたのは!
タロス崇拝の過ち
まったく、とんでもない不敬ですね。うちのヘイムスカー氏もたいそう憤慨しておりました。
サルモールの嫌がらせでしょうか。ウルフリック首長のお膝元で表立っては信者に手が出せないものだから、参拝客の目のつくところにこんな本を置いて地味に警告してるのかな。
こちらのタロスの祠の周りには、他には特にめぼしい物は置いてないですが、武器や兜や小銭などこまごまとしたお供え物がしてあって、地元の人たちが足繁く通ってお参りしている様子が見てとれます。
そういえばタロスの祠によく置いてある武器や防具って、よく考えたら亡くなった方の形見の品なのかもしれないですね。確かエリシフ首長が亡き夫の角笛をタロスの祠に奉納して欲しいと依頼してくる時に、ノルドは死んだら埋葬の時に神々に供物を捧げる習慣があると言ってました。
ですから祠の周りに置かれている奉納品は、亡くなった方の冥福を祈って納められた故人のゆかりの品々なのかもしれません。
そう考えると、お供え物をあれこれ値踏みしたり、勝手に拝借したりするのは、ちょっと憚られますね。

さて、今回の参詣はこれで終了です。いつも大長編の余談を繰り広げていると、これではなんだか物足りないように思えてくるから怖いです(笑)。
なんかネタは無いかしらと思って、通りすがりにウィンドヘルムの馬屋の馬車のしくみをちょっと覗いてみたら、なかなか面白かったので今回はそれをついでに取り上げたいと思います。
皆さん、馬車って使ってますか? 御者の方はいつも寒い中ご苦労様ですよね。
馬車
山賊やドラゴンまで襲ってくる決して治安が良いとは言えないスカイリムで、破格の激安運賃で各街に運んでくれる馬車の運輸ネットワーク……どう考えてもまともに商売しようという気配の無い、薪割り産業と並んでうさんくさい業者のひとつですが、一度も行った事のない街に連れて行ってもらえるのは、大変有難いサービスです。
ただ残念なのは、その輸送の道中が楽しめないこと……しょっぱなのオープニングで荷馬車に乗せられてゴトゴト運ばれるシーンがあったのですから、同じように景色を見ながら目的地まで運んでもらえるもの、と思った人は多かったはずですが、まさかファストトラベルと同じ仕様だとは……がっかりですよね。
もちろんPC版ではそういった望みをかなえる馬車Modがいくつかあるようですので、そうしたかったら好きなだけドナドナの旅を満喫することができます。
ちなみにデフォルトの馬車も、CKで覗いてみると当初はプレイヤーが実際に荷台に乗った状態で目的地まで運ばれる仕様の馬車だったみたいです。闘技場のセットと同じく、もう少し手を加えたら稼動するのでは?というトコロまで作られていますので、数ある馬車Modのいくつかは、そういったデフォルトの未実装の馬車の仕組みを補完して作られていたりするのかもしれません。
馬車のしくみを管轄するクエスト「DialogueCarriageSystem」のエイリアス
馬車クエスト
馬車のクエストを見ると、実際にはゲーム中では使われてはいませんが、プレイヤー以外の乗客用のエイリアスが3つも存在しています。
オープニングでも馬車には四人まで乗れてましたからね。馬車はデフォで四人乗りなんですね。
スクリプトを見ると、開発中はフォロワーも同乗できるようにテストしてたことが窺えます。
しかしどうも……うまくいかなかったみたいです(笑)
馬車クエストのスクリプト「CarriageSystemScript」のフォロワー同乗部分
CarriageSystemScript
フォロワーを乗せると「causes cart to flip out」になるという……つまり荷台がひっくり返っちゃったりとかして、うまくいかなかったんですかねえ。
そういえば「ScenicCarriages」という馬車Modをためしに導入させていただいた際に、フォロワーの同乗については注意書きがありまして、コリジョンが座席の部分には配置されておらず、馬車の基準点(御者台の下)に存在しているため馬車が荒ぶってしまう…というようなことが書かれていました。
ちなみに馬車の座席に座るモーションは、デフォルトだと「IdleCartPrisoner…」という接頭辞のつくオープニングの囚人用のモーションしか無いっぽいのですが、それらのモーションを再生してみると馬車の高さと座る席の位置補正を含んだ、馬車専用のアニメーションであることがわかります。
オープニングのウルフリック首長の一番最初のモーション「IdleCartPrisonerASway」
上図の黄色い十字が馬車の基準点(センター)で、馬車の座席に座るモーションはそのセンターを基準に宙に浮くような位置で作られています。馬車の荷台の高さはもちろんのこと、座席の左側か右側か、後ろ側か前側かといった位置もすべて含んだ配置です。
そのため馬車のモーションを他のモーションを単純に差し替えただけでは、馬車の座席上には配置されず、馬車の基準点……ちょうど御者台の下あたりでモーションを取ることになってしまいます。
つまり、馬車に乗っている間は乗客NPCの座標は全員馬車の座標になっているんですよね。
この特殊な状況がもしかするとコリジョンうんぬんの問題を引き起こしているのかもしれません。
しかしオープニングの囚人馬車では、短い距離とはいえ、特に問題なく走ってましたよねえ。

他にも馬車クエストには実装されなかったしくみが色々あって、ダイアログを見てみますと、馬車の行き先は当初は大都市・小都市だけでなく、リバーウッドやイヴァルステッド、ショールストーンやカイネスグローブ、オールド・フロルダン、ドラゴン・ブリッジなど、多少なりとも人の住んでいる地点はすべて網羅してことがうかがえます。また、小さな村クラスの拠点に立ち寄る時は、近隣の都市に向かう選択肢を選んでから、その途中で下車するという仕組みだったもよう。
行き先を決める時の御者のダイアイログ。
馬車の行き先
たとえばホワイトランからモーサルに向かう時は、道中のロリクステッドやドラゴン・ブリッジといった村々に降ろしてもらえたみたいです。またウィンドヘルムからモーサルに向かう際は、ストーンヒルズなんていうマイナーな鉱山まで経由していた様子。
スカイリムの地理をしっかり把握していないと混乱しそうですが、でもこんなシステムだったら、初回は外国で交通網がよくわからない時のような旅行感覚で遊べて新鮮だったかもしれませんね。
また、御者のセリフには「待て。少々厄介な事になるかもしれない」とか「よーし、今回もリーチを無事に抜けられたぞ」なんてセリフがあって、道中敵に襲われるイベントがあった痕跡までうかがえます。
こんなに盛りだくさんの企画満載だった馬車が、単なるファストトラベル屋さんになってしまったのは返す返すも残念です。


ところで馬車って、馬の代わりに他の動物が荷台(カート)を引いたりできるんでしょうか?
ふと疑問に思ったので、ちょっとチャレンジしてみました。
Dawnguardのハスキー犬にカートを引いてもらいました。ワンコ、意外に力持ちです。
犬車
動物(※別に動物に限定されてませんが)にカートを引かせるためには、TetherToHorse()という馬をつなぐためのスクリプトを使います。この関数を使うと、馬役のオブジェクトの動きと、カート役のオブジェクトの動きが連動するようになります。
つまり馬が荷台を引っ張っているのではなく、荷台が馬に合わせて動いているだけなんですね。
馬役のオブジェクトのどの部分と連動させるか、というのは、オブジェクトの3Dのデータのノード名によって決められています。デフォルトの馬ですと「HorseSpine2」という部分になっているようです。
HorseSpine2
馬以外の動物ですともちろん「HorseSpine2」なんていうノードは持っていないわけなんですが、この連動するノード名はSkyrim.iniの設定で変えることができます。
(CK WikiのTetherToHorseのページに詳しく説明があります)
ハスキー犬を馬にする時は、胸部の「Canine_Ribcage」の部分をためしに指定してみました。
歩くときは特に問題なかったのですが、しかしワンコは馬と違って、待機中に体勢を崩してリラックスしたりするんですよね。そのせいでこんな風に馬車が傾いちゃったりします。
可愛いから許す
でも可愛いから許す。
馬の方だけでなく、カートの方も馬車以外の物に変えられるのかどうか、気になるところですが……こちらの方も上記でご紹介したCK Wikiのページに改造するための注意点が掲載されています。
それによるとカートとなるオブジェクトは、以下のような条件を満たした物が推奨されるようです。

(1)メインの車台(シャーシ)部分があること
(2)WheelBackLeft, WheelBackRight, WheelFrontLeft, WheelFrontRightという3Dのノード名がつけられた四つの車輪部分があること
(3)カートの前方から馬につなぐための棹(ポール)が伸びていること

ちなみに(3)番の棹(ポール)については、単にそれが無かったら馬が荷台を引いているように見えないというだけの外観上必要とされるだけの代物ですので、別に無くても問題ないようです。
また(2)番の四つの車輪についても、必須のノードというわけではないらしく、馬車から取り去ってしまっても動作しなくなる、ということはありませんでした。
ただ(1)番のメインのシャーシ部分については必須のようです。おそらくこのノードの部分が、馬役の指定されたノードと連動して動くような仕組みになっているのだと思われます。
馬車の荷台の必要部分
馬車の荷台の必要部分
この「FrontBar」という名前のノードがカートのメインシャーシとして判定されるのに必要みたいです。
メッシュデータ自体はこのノードに無くてもかまわないのですが、ノード名を変更したりすると馬車として機能しなくなりました。
荷台として改造した船をパトラッシュに引かせてみました。
犬ボート
まだまだ改造は序の口ですが、これで犬ゾリを作りたいなあ……モーション作れるかなあ。
ちなみに上のスクリーンショットでは、ウルフリック首長は荷台のコリジョンの上にうまくバランスを取って乗っているだけです。オープニングの馬車のシーンのように、人が荷台の上から落ちないようにするためには、SetVehicle()という乗り物に乗るためのスクリプトの関数を使います。
SetVehicleを使用すると、乗り物対象のカートの座標がそのアクターの座標となるので、馬車がどんなに飛び跳ねても転がり落ちたりすることなく、荷台の揺れなどもそっくり再現しながら人が移動します。
ただ、上記でも書きましたように、同じカートに乗り合わせるNPC(プレイヤーも含む)はすべて同じカートの基準点の座標になってしまうので、乗車中の座席の位置に合わせたモーションをそれぞれ人数分、用意しなければなりません。それがちょっとやっかいですね。

そんなわけで今回はウィンドヘルム近郊よりお送りしました。