忍者ブログ

方向音痴のSkyrim

PCゲーム「Skyrim」の雑多なCKいじり日記

4E201降霜の月22日(水) ヌチュアンド・ゼル制御室



研究者一行探索もいよいよ大詰めだ。この制御室で生存者を見つけられなければ、全滅と認識してよかろう。探していないのは、もうここしか残っていないのだ。



制御室にもファルメルが入り込んでいる。だが、彼らは誰かを追ってここに入り込んだような雰囲気だ。この辺りは、他の場所に比べて機械の音が多い。ドゥーマーの罠もびっしり張り巡らされている。



そして制御室へ入って間もなく、最後の研究者の死体を見つけた。彼がリーダーのストウビンだったようだ。
彼の日誌には、これまでの探検隊の足跡がすべて残されていた。



やはり彼は、ファルメル達から命からがらここへ逃げきたらしい。しかしただ逃げ込んだのではなく、目的をもってここに逃げるのを選んだ。
「この地を生き返らせる」とはどういうことだろう。そして彼はメリディア信者だったようだ。



制御室の奥には、ドゥーマーの戦闘タイプのオートマトンであふれていた。侵入者の撃退機能がまだ機能しているのだとすると、遺跡の他の場所で彼らを見なかったのには理由がありそうだ。



理由というのは、もしかしてこれか。
制御室最奥の装置に、意味ありげなレバーが据えられている。ストウビンはこれのスイッチを入れたかったのかもしれない。代わりに入れてやるか。



レバーを倒すと、周囲の機械があわただしく動作を開始しはじめた。そして、部屋の外が微妙に騒がしい。
マーキュリオ曰く、自動防衛装置が起動したかもしれないという。嫌な予感がする。遺跡にはびこるファルメルが一掃されるのは喜ばしい。しかし、地表に住んでいるマルカルスの人間達まで防衛装置で一掃されてしまうのではないか。……一瞬それも喜ばしいかと思ったが、あの愛すべき宿屋の夫婦やコスナッチまでいなくなるのは少々気の毒だ。



制御室を出ると、すでに防衛装置とファルメルの戦いが始まっていた。
巻き込まれたくないので、速やかに遺跡から脱出しよう。



あのキャンプ地近くにいたセンチュリオンも起動してた。ファルメル達が容赦なくなぎ倒されていく。
あのオートマトン達、遺跡内部の警備でおさまってくれるだろうか。マルカルスの町まで出てきたりはしないよな。



ドキドキしながら機械とファルメル達の喧騒を後にする。
背後からスフィアが追いかけてくる音が聞こえる気もするが、構わず駆け抜けた。



ニムヒと戦った洞窟まで逃げ出したが、やはりスフィアが一体、私の背後にくっついていたようだ。
ここから先は断じて通さんぞ。



追ってきたスフィアをスクラップにし、ようやくヌチュアンド・ゼル前のカルセルモの研究スペースへ戻ってきた。安心したことに、ここは前と変わらずひんやりと静かだ。
カルセルモにはまず、ニムヒの死を伝えた。これについては彼は喜んだ。



そして、ストウビン達を追ってヌチュアンド・ゼル内部を探索したことも伝えた。
これについては、彼はストウビン達の末路について悲しんだ。



彼は私達が勝手に遺跡内部に侵入したことを叱るどころか、ストウビン達の遺品を回収した礼として報酬も出してくれた。
どうしようか。自動防衛装置を起動してしまったことも話したほうがいいのだろうか。とりあえず、あそこはドゥーマーのオートマトンがいっぱいいるから、二度とうかつに立ち入らないようにとだけ伝えておくか。



カルセルモから博物館を見学するカギまでもらい、この日はマルカルスの宿へと戻った。町は静かだ。遺跡探索前にはあれほど気になっていた蒸気機関の動作音さえ、星の輝き程度にしか聞こえない。自動防衛装置を起動した後の、スフィアやセンチュリオンが遺跡を爆走する騒音が、耳に残っていたせいだろうか。
今でもこの足の下、はるか地下で、やつらはファルメル排除にいそしんでいるのだろう。そしてもしファルメルの排除が終われば、彼らは地上に出てきて「異物」の排除を続けるのだろうか。
……頑張れファルメル。負けるなファルメル。



あまり落ち着かない気分でハチミツ酒をあおっていると、ディゲインとコスナッチの雑談が聞こえてきた。



ディゲインが物乞いになった理由の話だろうか。
スリの罪人として炭鉱で強制労働させられていた時に体を壊した……と。



ディゲイン、ディベラの女性司祭と酒盛りしたことあるのか……?



あの物乞いめ、ホラ話ばかりだな。
さて、今日は夕食もそこそこにしてさっさと寝るか。明日は手早く博物館見学をして、早々に立ち去ろう。この街に長居するのは危険だ。そんな気がする。そしてできるなら、もう二度と立ち寄らないぞ。地下からあふれ出てきたオートマトンとマルカルスとの大戦争なんかには、巻き込まれたくないからな。


前へ | 次へ
PR

コメント

1. CKについて

すみません。記事の内容とは関係ないことなんですが、CKの使い方について少しお伺いしたいことがありまして…
スカイリムではなくFALLOUT4なので、本来FALLOUT4のブログの方に聞くべきことなんですが、CKについて書かれている記事が殆どなく、頼る宛がなかったので今回こちらに質問させていただきましたm(__)m

こちらの動画のように複数のNPCをある拠点まで集団で移動させたいと思っております。
動画(1分51秒~2分11秒の部分です)
https://www.youtube.com/watch?v=yVmL1LaD6_M


NPCを自分の指定した場所まで移動させる際は、Creation Kitで『Actor→Al Package→patrol追加』の操作をし、パトロール機能を有したNPCを作成すると思うのですが、
その作成したNPCをコンソールで複数体呼び出し、集団で移動させようとするとNPC同士がお互いに干渉するといいますか、変則的な動きをしてしまいます。

このような動きです。
https://www.youtube.com/watch?v=2n0IvczGzyQ&feature=youtu.be

ちなみにCreation Kit側でpatrol設定する時はいつもこのような感じでしています。
https://www.youtube.com/watch?v=CfM7zMuIBng&feature=youtu.be

他にも自分でCK側の設定を色々弄るなりして四苦八苦しているのですが、どうしても分からずのままで(__) 
どの項目を弄れば動画のような動きをしてくれるのか分かる範囲で結構ですので、教えて頂けませんでしょうか?

Re:CKについて

こんにちは。私はSkyrimのCKしかいじったことがないので、ちょっと自信がないです。
でも、YoutubeでFallout4のCreationKitの操作の様子を確認させていただいたかぎり、Skyrimとほとんど同じやり方に見えますね。少なくともAI Packageについては、Fallout4でも大きな違いはないのかな? ということで分かる範囲でお答えさせていただきますね。

まず最初の参考動画を見た印象としては、「AI Packageで動かしているようには見えない」です。全NPCの動きがきれいにそろいすぎているのと、NPC同士の距離が近すぎる(衝突しあいそうな距離)のが理由です。またゲームセッティングとして、一度に動かせるNPCのAIの数(iAINumberActorsComplexScene)が決まっているようなので、棒立ちのままになるNPCも出てきます。そのためAI Packageだけで移動させようとすると、棒立ちNPCが障害物になる&NPCは周囲のNPCと衝突しないように避けて動こうとするので、テスト用のYoutubeのように変則的な動きになってしまいます。

AI Packageを使わずに歩かせるとなると、考えられるのはScriptでしょうか。NPCを移動させる関数についてはほとんど知らないので具体的に説明することはできませんが、例えば「KeepOffsetFromActor」という関数があります。これは指定したNPCから一定の距離と方向をキープさせて、NPCを追従させることができるようです。Skyrimだと、フォロワーにこのScriptを付けてプレイヤーの真横を並んで歩かせる、複数のフォロワーに陣形を組ませて歩かせる機能に使われていたかと思います。
NPC一人だけに目的地へ歩かせるAI Packageを付け、残りのNPCすべてにそのNPCを中心とした立ち位置を一人ずつScriptで設定してやれば、一斉に動けそうな気はします。

目的地へ移動させるAI Packageについては、SkyrimではPatrolよりTravelの方が一般的かもしれません。以下のページにPatrolとTravelのAIの違いについてまとめています。Fallout4では違うかもしれないので、参考程度に。(Fallout4でNPCの移動によく使われている方のAIを選ぶのが無難だと思います)
「Template【Travel・Patrol・Escoat】」
http://skyrimeasy.blog-rpg.com/ck/packagetemplate07


追記:
「iAINumberActorsComplexScene」の値を増やして(More Active AIというModがそれっぽいです)棒立ちNPCが出ないようにするだけでも、参考動画に近い動きは出せるかもしれないです。その際、NPCごとに目的地を設定して互いの進行ルートが重ならないようにしてやれば、互いによけようとする動作は少なくなります。

2. 無題

ご返答くださり有難うございます。
具体的な説明でとても助かります。
なるほど、AIPackageではなくScriptの設定ですか。

「KeepOffsetFromActor」について少し調べてみたのですが、「隊列の形成」をする際に使われるものとのことなので、
おっしゃる通りこれなのではないかと思いました。

参考にしたサイト
https://w.atwiki.jp/skyrim_mod/pages/10.html

ただKeepOffsetFromActorについての情報があまりにも少ないので、どこにあるのか今手当たり次第探しているのですが未だ見つからず…。
恐れ入りますが、このKeepOffsetFromActorという項目がどこにあるのか(CeationKit内やゲームのファイル名等)、分かるようでしたら教えて頂けませんでしょうか?
無知なばかりに申し訳ありません(__)


ちなみに追記していただいた内容『「iAINumberActorsComplexScene」の値を増やしてActiveなNPCを増やす』についても試してみました。

More Active AIというModを落としてActiveNPCを20→100に変更。CreationKitにてNPC毎に目的地を設定し、配置。
動画だとNPC設定の部分が早くて少し分かりにくいと思うのですが、NPCを6体作ってそれぞれを列の先頭に配置。後続NPCは先頭のNPCと同様のものを配置し、同じ目的地に設定させている感じです。

https://www.youtube.com/watch?v=DgzgIL1v-lM&feature=youtu.be
上記の設定で試してみましたが、変則的な移動は変わらないようでしたm(__)m


別件ですが、AI Packageの記事読ませてもらいました。詳しくまとめられていたので、AlPackageの使い方をだいぶ理解できたような気がします。
ありがとうございます(人´∀`)

Re:無題

Creation Kit wikiでFallout4のScripting Referenceのページを見たのですが、「KeepOffsetFromActor」という関数はないようです。かわりに「PathToReference(https://www.creationkit.com/fallout4/index.php?title=PathToReference_-_Actor)」はありました。目的地に向かって直進してくれればいいので、「PathToReference」で十分そうです。

動画を拝見しましたが、棒立ちのNPCはいなくなっても歩き始めにばらつきが出てますね。見た感じ、前列のNPCが出発したらすぐに後列のNPCを生成して数秒遅れで出発させるなど、頑張って工夫&調整すれば参考動画の動きに近づけそうな気はします。
ちなみにSkyrimで「PathToReference」の動作を確認してみたところ、Active AIの数関係なくNPC50人がScriptの開始と同時に移動を始めてくれました。
結果を見ると、AI Package任せよりScriptで歩かせる方が確実に同時スタートできるので、大量のNPCの足並みを揃えるのはやりやすいかもしれませんね。

※「PathToReference」の説明ページにもあるように、NPCのAI Packageに移動を行うものが設定されていると、経路選択が競合してまったく動作しませんでした。AI PackageにTravelを設定し、Place to Travel(目的地)にNearSelfを設定すると動こうとしなくなるので、「PathToReference」が動作します(SkyrimではAIPackageの設定なしだと、付近を徘徊するAIが勝手に動作するのでなんらかのAIPackageを設定する必要がありました)。もしくはScriptでNPCのAIをオフにする処理が必要みたいです。「PathToReference」で歩かせる場合は、ご注意ください。

3. 無題

>Uni様

ご返答くださり有難うございます。
上記のやり方で試させていただきました。
スクリプト設定が初めてなので、操作がおぼつかないのですが、こちらの動画のやり方で合っていますでしょうか?
https://www.youtube.com/watch?v=DlY-cCHUGYU&feature=youtu.be

目標地点とNPCは初めから配置をした状態からの操作なんですが、
①目標地点(Xマーカー)のID?をメモする。( 0:07~0:10)※青線部分です。
②配置しているNPCをダブルクリックしてScript項目を選んで編集。(0:20~1:41)
③NPCにAl Package Listを追加(Package Templateで"Travel"を選択→Place to Travelで"Near Self"を選択(1:51~2:37)

上記の操作で試した所NPCが動作しなかったので、どこかしらで操作方法を間違えていると思うのですが、どの部分で操作を誤っているかご指摘いただけないでしょうか?

また目標地点(Xマーカー)のID?をメモしようと思った理由ですが、CreationKit wikiのPathToReference - Actorの構文を参照したんですが、()内の"ObjectReference aTarget"というのが目標地点のセルのことを指していると思ったからです。Xマーカーをダブルクリックし、セルらしきものを探してみましたが、場所を特定するものがこれしかなかったので、こちらを選択しました。

Re:無題

AIPackageの設定は大丈夫ですが、Scriptを書き込むところが違いますです(汗) Documentation StringはScriptの説明などを書き込むところで動作には関係しないです。

https://youtu.be/4APWgLXOh1c
昨日Skyrimでテストした時の動画を撮っていたので、こちらを参考にしてみてください。撮影設定ミスってカーソルが出ていないので分かりにくいと思いますが……。以下のような流れになっています。

・最初に、目的地となるXMarkerをワールドマップに配置。
・テストNPCのActor画面を開く。ウィンドウ左側のScripts欄で「Add」ボタン押す。(このNPCにはすでに、その場から動かないAIPackageを登録済みです。)
・Scriptを選ぶ小さなウィンドウが開くので[New Script]を選択。
・Add New Scriptという小さなウィンドウが開く。Name欄にScripeの名前を入力(英字から始まる半角英数字であればどんな名前でもいいです。newscriptのままでも構いません)。Extends欄で最初から入っているObjectReferenceの文字を消し、Actorと入力(これから書くScriptに必須の設定です)。Fallout4では「Namespace」という項目がありますが、空欄のままにしておいてください。
・NameとExtendsの欄を入力したら、OKボタンを押して「Add New Script」ウィンドウを閉じます。さらにScript一覧のウィンドウもOKボタンを押して閉じます。
・ActorウィンドウのScripts欄に、自分の作ったScriptが表示されます。そのScriptをクリックして選択。その状態で右クリックしてメニューから「Edit Source」を選択します。
・「Editing script 自分のScript名」というウィンドウが開きます。ここでScriptの内容を入力していきます(Windowsのメモ帳みたいな超シンプルなエディタです)。一番最初の行にすでに「Scriptname 自分のScript名 extends Actor」が入力されていますが、これは絶対に手を付けないようにして、以降の行に書き込んでいきます。動画ではすでに動作確認済みの内容をコピペで張り付けてます。
・入力が終わったら、エディタウィンドウのFileメニューから「Save」を選択。少し待つと、ウィンドウの下に「Compiler Output:」という欄が出て、コンパイルの結果を表示します。※ここでScriptの入力内容に不備があればエラーが出てSaveできません。問題なければSave Succeededというメッセージがウィンドウ一番下に出ます。
・ウィンドウ右上の×を押してエディタを閉じます。
・Scripts欄で自分のScriptが選択されているのを確認して、右側の「Properties」ボタンを押します。
・「Properties for script なんとか」というウィンドウが開きます。一覧に「MyDest」という項目があるのでそれをクリックして選択します。ウィンドウ右側の「Edit Value」ボタンを押します。
・見慣れた設定項目が出てくるはずです。ここで目的地となるオブジェクトを設定してください。ScriptではIDを直接入力しても認識しないので、このようなpropertiesというものを通して設定してあげる必要があります。
・OKボタンを押してPropertiesのウィンドウを閉じます。これでScriptの設定終了。ActorウィンドウをOKボタンでとじ、セーブします。動画ではこのままCreationKitを終了していますが、このActorをフィールド上に大量配置しても構いません。元となるActorデータにScriptを付けたので、フィールド上に配置されたNPC達もこのScriptを継承しています。配置したNPCをダブルクリックしてScriptsタブ内を確認してみてください。ちゃんとついていると思います。

・ゲームを起動して、コンソールで目的地のXMarkerの位置に移動。適当に離れて、作成したNPCをコンソールから大量生成。
・生成されたNPC達は、1秒後にマーカーの位置へ移動を開始します。時折画面左上に現れる「Failed: PathToReference」のメッセージは、NPCの誰かがオブジェクトに引っかかったり他NPCに進路を邪魔されて「PathToReference」が失敗判定を出し、動作終了してしまった合図です。Scriptでは、「PathToReference」が失敗して動作終了しても1秒後にまた再実行できるようにしているので移動をし続けます。


恐らくですが、動画のようにやればFallout4でも動いてくれるのではと思います。Scriptの内容についてですが、「Scriptname なんとか extends Actor」の行の下に以下の内容を入力してみてください(ResisterForSingleUpdateなどはFallout4では使えない関数なので)。私の環境では動作確認のしようがないのでうまくセーブできるかも分からないのですが、うまくいけばNPC達がちゃんと歩いてくれると思います。

ObjectReference Property MyDest Auto

int myCoolTimerID = 10

Event onInit()
StartTimer(1, myCoolTimerID)
EndEvent

Event onTimer(int aiTimerID)
if (aiTimerID == myCoolTimerID)
bool note = PathToReference(MyDest, 1.0)
if(note == false)
StartTimer(1, myCoolTimerID)
endif
endif
EndEventt


CreationKit wikiの以下のページを参考に書いています。
https://www.creationkit.com/fallout4/index.php?title=StartTimer_-_ScriptObject
https://www.creationkit.com/fallout4/index.php?title=OnTimer_-_ScriptObject

その他、Scriptを書くときは基本的にこのページを随時参考にすることになると思います。
https://www.creationkit.com/fallout4/index.php?title=Category:Papyrus


それにしてもFallout4のMod作成に関する情報って、Skyrimと比べると少ないですね……。Creation KitでのMod編集についてはSkyrimのブログなどで説明されていることがそのまま参考になるとは思います。操作やScriptの扱いはほとんど同じなので。
またYoutubeでは、「Fallout4 Creation Kit Tutorial」などの名前で動画を作ってくれている外国の方が結構いらっしゃいます。何言ってるか聞き取れなくても、Creation Kitの操作やScriptの付け方など、操作画面を見ているだけで何をどうしたらいいのかなんとなく分かるかなと思います。

4. 無題

すみません。コメントを書き込もうとするとアクセス拒否されるのでテストです。

5. 無題

>Uni様

動画まで撮影してくださり、感謝いたしますm(__)m

お陰様でスクリプトの編集操作について理解することができました。

作成した頂いたScriptの関数をコピー&ペーストしてみたのですが、Scriptエラー
が表示されましたので、表示されたエラー文字を翻訳して内容を確認。どこの関数でエラーが
起きているかFallout4wikiのPapyrusを見ながら調べておりました。

Scriptに表示されたエラー画面は以下の通りです。


Papyrus Compiler Version 2.8.0.4 for Fallout 4
Copyright (C) ZeniMax Media. All rights reserved.
Starting 1 compile threads for 1 files...
Compiling "PathToRef"...
C:\Users\ユーザー名\AppData\Local\Temp\PapyrusTemp\PathToRef.psc(3,25): const scripts may only contain const auto properties. Property MyDest cannot be defined
C:\Users\ユーザー名\AppData\Local\Temp\PapyrusTemp\PathToRef.psc(3,25): const scripts may not contain data, script variable ::MyDest_var cannot be defined
C:\Users\ユーザー名\AppData\Local\Temp\PapyrusTemp\PathToRef.psc(5,0): const scripts may not contain data, script variable myCoolTimerID cannot be defined
C:\Users\ユーザー名\AppData\Local\Temp\PapyrusTemp\PathToRef.psc(19,0): mismatched input '<EOF>' expecting ENDEVENT
No output generated for PathToRef, compilation failed.

Batch compile of 1 files finished. 0 succeeded, 1 failed.
Failed on PathToRef


6. 無題

この表示をみた限り、const scriptsが問題みたいなことが書かれているように感じられたので、2つほど方法を試してみました。

①ScriptnameにConstを入れる
imgurURL

②最初からConstにチェックが入っていたのでチェックを外してみる
imgurURL

上記の方法をとってみたところ、①は変化がありませんでしたが、②で変化がありました。
上記のエラー画面から下記のエラー画面に変わった感じです。


Papyrus Compiler Version 2.8.0.4 for Fallout 4
Copyright (C) ZeniMax Media. All rights reserved.
Starting 1 compile threads for 1 files...
Compiling "PathToRef3"...
C:\Users\ユーザー名\AppData\Local\Temp\PapyrusTemp\PathToRef3.psc(19,0): mismatched input '<EOF>' expecting ENDEVENT
No output generated for PathToRef3, compilation failed.

Batch compile of 1 files finished. 0 succeeded, 1 failed.
Failed on PathToRef3



とりあえずconst scriptsのエラーは消えたのですが、ENDEVENT関数の部分でまだエラーが発生しているみたいです。
EOFの不一致について調べてみたのですが出てこなくて…これはどこに問題があるということなのでしょうか?

後すみません。もう1つお聞きしたいことがあるのですが、Scriptをテストしていて新規Scriptが増えてきたので削除したいのですが、どうやって削除すればいいのか分かりますでしょうか?
Deleteでは削除できなかったもので…。
imgurURL

長文になってしまい、申し訳ございません;

7. 無題

失礼いたしました。

どうやらimgurのリンクを張っていたのが原因だったようです。
長文が原因だと思い、先に文章を分割して投稿してしまいました。 
申し訳ありません(;'∀')

8. 無題

画像が張れなかったので追記です。
ちなみにConstですが、先日私が投稿しました
https://www.youtube.com/watch?v=DlY-cCHUGYU&feature=youtu.be

こちらの動画の37秒あたりから表示されるAdd new Script内のExtends下に表示されているチェックマークが入っているもののことを指しております。
撮影してくださった動画を拝見させていただいたところスカイリムの画面にはこれがなかったので、念のため追記させていただきました(__)

Author

UNI
Skyrimで遊ぶのも、CKで改造するのも好きなファンタジー好きです。
戦闘苦手で難易度は基本EASY、慣れてもNORMAL程度。 アンデッド恐怖症なので、ノルド遺跡探索が辛い……。

ブログ内検索

最新コメント

[09/18 mk]
[09/18 mk]
[09/18 mk]
[09/18 mk]
[09/18 Antoniohip]