忍者ブログ

方向音痴のSkyrim

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

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

×

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

セリフ用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の起動時間になってしまいますね(^^;
※スパム対策のため、コメント内やその他の項目に「http://」や「https://」があると投稿できません。全角で入れていただくか、URLであることを明記して以降のアドレスのみ入れていただくかでお願いします。 For stopping spam comments, this form doesn't accept the following words, "http://" and "https://".

Author

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

ブログ内検索