忍者ブログ

方向音痴のSkyrim

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

セリフ用Questの作成【Sceneの作成】

最後にSceneを作成してみます。
街中でNPC同士が自動的に会話をしていることがありますが、それらはSceneを利用して作られています。会話しておしまいなだけなら、Scriptもいりません。

Sceneはイベントシーンを作るのに利用します。
Skyrim冒頭のヘルゲンでの処刑なども全てSceneで構成されています。
QuestのAliasにNPCを割り当て、Aliasに対して各タイミングで動けだの、誰それを見ろだの、話せだのを指示できます。

ちなみにセリフを持つSceneが正常に再生されるためには、音声ファイルが必要です。音声ファイルが用意できなければ、「Fuz Ro D-oh - Silent Voice」など強制的に音声ファイルを割り当ててくれるModが必須となります。
【Story Manager】


NPC同士で自動発生する会話を作成するには、「Story Manager」も利用します。
「Story Manager」はゲーム内で起こる様々なイベントを常時監視している人(?)です。
監視しているイベントは上図のとおり。「二人のNPCが近づいた(Actor Dialogue Event)」「逮捕された(Arrest Event)」「プレイヤーが場所移動を行った(Change Location Event)」などなど。
各イベントにはQuestを登録することができて、イベント発生のタイミングで特定のQuestを開始させることができます。
さらに各イベントは、イベント発生時にいくつかの情報を取得しており、それらをQuestで使用することも可能です。Questは自分が探すイベントデータを見つけたら、それを消費します。意識的に設定をしない限り(Shares Event)、独り占めして他Questとデータを共有することはありません。
流しそうめんのイメージです。Story Managerが上流から流すイベントデータを、ツリー構造による優先度順に並んだQuest達が、箸持って待ち構えてます。

【Questの作成】

今回作る会話は、「Actor Dialogue Event」のイベント取得で行います。
そういうわけで、まずは会話Scene専用の新規Questを作成しましょう。アンカノと虐殺者エリクの不毛な会話を予定しています。
「DialogueWhiterunFraliaLillithScene1」など、既存の会話専用Questをお手本に作ります。だいたい「Dialogue(居住地の名前)(出演NPCの名前)Scene」という名前でたくさんの既存Questがあります。



Priority「30」で新規Quest作成。
「Event」の欄で、Actor Dialogue Eventを選びます。これでStory ManagerにQuestを登録できます。「Event」を設定すると、「Start Game Enabled」は無効になります。



「Quest Aliases」ボタンを押して、Alias一覧に出演者のAliasを新規作成します。
まずは「Actor1」という名前で最初のAliasを作成。
「Allow Reserved」のところにチェックを入れます。他Questの「Reserves Reference(予約済み)」にチェックの入ったAliasが適用されているNPCでも、強制的にこのAliasに突っ込めるようになります。

「Fill Type」の欄では、「Find Matching Reference」を選択。条件に合致する対象を探し出してAliasに入れることができます。
ここでは下にある「From Event」を選択。"Actor Dialogue Event"が自動的に選択されますので、その右の「Event Data」から" Actor 1 "を選びます。
「Actor Dialogue Event」は、近づいた二人のNPCを「Actor1」「Actor2」のデータとして取得しています。それらをAliasを適用する対象として利用するわけです。
「Matching Conditions」ではさらに条件を絞ります。「Actor 1」が、アンカノか虐殺者エリクのどちらかである、に限定。それ以外の時はAliasを適用しません。

「Actor 2」についてもこれと同様にAliasを作ります。



「Actor1」「Actor2」それぞれのAliasを作成したら、今度はScene出演者専用のAliasも作ります。Actor1とActor2はどちらがアンカノでどちらがエリクか分からないので、セリフが適用しにくいです。Actor1がアンカノ、Actor2がエリクの時だけに限定するのであれば、必要ないAliasですが……。

今度は「Allow Reserved」に加え、「Allow Reuse in Quest」にもチェックを入れます。ひとつのQuest内では、同一の対象を複数のAliasに入れることができません。「Allow Reuse in Quest」はそれを許可します。
同じ要領で、エリク専用Aliasも追加します。



4つのAliasができました。
Questは通常すべてのAliasを埋めることができなければ、スタートできません。
今回の場合、「Actor Dialogue Event」が送ってくる「Actor1」「Actor2」のイベントデータがアンカノとエリクのセットであった場合のみ、Alias「Actor1」「Actor2」が埋まります。そこで初めてすべてのAliasが埋まり、Questがスタートします。



「Scene」ボタンを押してこちらの画面に移ります。
左欄で新規作成し、追加するSceneのIDを決めます。作成したSceneを選ぶと、右側の欄で内容を編集できます。
最初に、「Begin on quest start」と「Stop quest on End」の両方にチェックを入れます。Questがスタートしたと同時にSceneの再生が始まり、Sceneが終わるとQuestもストップする設定です。
チェックを入れたら、下の空白で右クリック>Add Phase at Endを選びます。



SceneはこのPhase単位で進行を制御します。
次は出演者を追加します。空白部分で右クリック>New Actor。



アンカノとエリクのAliasを登録しました。



セリフを追加します。
まずはアンカノの欄にカーソルを合わせて、右クリック>New Action>Dialogue。




Dialogueの「Scene Action」ウィンドウが開きます。
「HeadTracking」の所では、Action中、どのAliasがいる方向を見るか決められます。プレイヤーを見るようにもできます。ここではエリクを設定し、「Face Target」にもチェックを入れて、首だけでなく身体ごとエリクの方を向くようにしてみました。



セリフはこれまで通りに追加。



アンカノのセリフが追加できました。
今度は、エリクの返答を追加します。アンカノのセリフが終わった後で言って欲しいので、Phaseを追加。アンカノにセリフを追加したのと同じようにやっていきます。



一通り終わったところ。

アンカノ「そこのお前、聞きたいことがある」
エリク「は?」
アンカノ「そういうことを知っておくのが私の役目だ」
エリク「いいや、そうは思わない」

成り立っているようで成り立っていない会話ですが、一応Sceneができました。
これでOKしてQuestを閉じます。
さて、Story ManagerにQuestを登録しましょう。



Story Managerの「Actor Dialogue Event」を開けます。
一番上の項目をダブルクリックすると、このように下位のノードがずらりと表示されます。
ここに自作Questを付け加えるノードを追加します。Event Nodeの直下にQuestは付けられないので。



一番上にある「Stacked Event Node: Actor Dialogue Event」の上で右クリック>New Quest Node。



一番下に無名のQuestNodeが追加されます。これを選択して、最下段の「Node Properties」でIDを入力します。
NodeにConditionsを設定することもできます。既存のQuest Nodeが参考になります。ここではどこでもかしこでも、アンカノとエリクさえいればQuestが発動できるよう、空欄にしておきます。



追加したQuest Nodeの上で右クリック>Add Quests。



小さなウィンドウが開くので、先ほどの自作Questを選びます。
ここで候補に挙がってくるのは、Quest Dataの「Event」でNONEかActor Dialogue Eventが選択されているQuestのみです。



Questが追加されました。
ここでもQuestのスタート条件を設定できます。
「Hourse until reset」はInfoにあったものと同じです。頻繁にQuestが発生してほしくなければ、Questがリセットされる時間を決めます。

以上で、Actor Dialogue Eventが発生した時、自作Quest Nodeの上に並んだどのQuestもスタート条件が整わなければ、自作Questがスタートできます。どこか辺鄙な場所にアンカノとエリクを二人きりにすれば、ほぼ確実に会話が始まるでしょう。



大学にて、会話発生を確認。
NPCのAI Packageの設定によっては、イベント自体が無視されることもあります。フォロワー拡張Modなどを使用して自由行動をとらせると、恐らくDialogueイベントを許可するAI Packageが動いてくれるかと思います。

前へ

■サンプルファイル

ダウンロード(Mediafire)
※日本語化はしていません。TESVTranslator用のXMLファイルを同梱しています。

記事02~05と10で作った、アンカノ・ミラベルの雇用中セリフ、アンカノとプレイヤーの雑談、アンカノのSceneを追加するファイルです。SEQファイルを同梱していないので、導入後セーブしてゲームを再起動しないと会話やセリフが出ません。
また各セリフは、ミラベル本人アンカノ本人でないとまずしゃべってくれません。テストプレイでは、コンソールの" PlaceAtMe "でコピーを作って仲間にしました。
Sceneは、「汎用ボイス」かつ大学関係者かプレイヤーと仲のいい人を相手に発生するよう変更してます。リセット時間は3時間です。
PR

コメント

1. すんばらしい!

いつもわかりやすい画像付きのck解説、とても参考にさせていただいてます!
数ヶ月悩んでて煮詰まってたシーン作りがこちらの記事のおかげで無事突破できました。
本当にありがとうございます。これからも更新楽しみにしてますね!

Re:すんばらしい!

kroさん、記事がお役にたったようでよかったです!
CKをいじりだすと、スカイリムで遊ぶ時間の大半がCKの起動時間になってしまいますね(^^;

Author

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

ブログ内検索

最新コメント

[09/24 ひばりのスヴェン]
[09/21 ブレトン魔術師]
[09/19 ふぇりす]
[09/15 こんばんは!]
[09/09 NONAME]