忍者ブログ

方向音痴のSkyrim

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

アニメーション付きクラフト用家具の作成【NPC用マーカーをPCフレンドリーに改造】

鍛冶場の炉や金床、調理なべをクリックするとクラフトメニューが出てきますが、こういったクラフト用家具を自作します。設定をちょっと変えるだけで、錬金術メニュー、付呪メニュー、武具強化メニューも出せます。
既存の家具を複製して必要な設定を加えるだけなので、とても簡単。
アニメーションも簡単につけることができるので、クラフト家具に限らずプレイヤーが使えるマーカー作成も可能です。


クラフト用家具は、Furnitureオブジェクトに分類されています。アイテム作成の仕組み把握を兼ね、例として金床のデータを見てみます。
クラフト用家具として機能するためには、以下の設定が必要になります。
  • Nameに名前が入力されている(名前がないとプレイヤーは対象をアクティベートできない)
  • Workbench DataにBenchTypeが設定されている(作成、調合、付呪、強化はここで選べます)
  • クラフト家具用のKeywordを持っている(作成用レシピとの関連付けに必須です)
金床のデータを見ると、Nameには"Anvil"、Workbench Typeには"Create Object"、Keywordには"CraftingSmithingForge"があります。

特にWorkbench Typeでその家具が作成用、錬金術用、付呪用かがすぐに分かると思います。その下のUses Skillが、経験値の入るスキルを示しているようです。

Keywordについても、鍛冶屋がよく使っている鍛治炉のデータを見てみると、同じKeyword "CraftingSmithingForge" を持っているのが確認できます。全ての作成可能な武具は、作成レシピにこのKeywordが設定されており、同じKeywordを持つクラフト家具のメニューにレシピが出現するようになっています。



ちなみに特殊な鍛治炉スカイフォージは"CraftingSmithingForge"に加えて、"CraftingSmithingSkyforge"というKeywordを持っています。スカイフォージでしか作成できない武具のレシピには、この"CraftingSmithingSkyforge"がWorkbench Keywordに設定されています。
このため、"CraftingSmithingForge"、"CraftingSmithingSkyforge"ふたつのKeywordを持つスカイフォージでは、一般的な武具の作成のほかに、スカイフォージならではの武具も作成できるようになっているわけです。

クラフト用家具の仕組みが分かったところで、魔法書を巻物にリメイクできる専用クラフト家具(アニメーション付き)を作ってみます。

手順
  1. クラフト用キーワードの作成。
  2. Constractible Objectsの作成。Workbench Keywordには先ほど作成したオリジナルのキーワードを設定し、各魔法書を巻物に変換するレシピを作成する(後で作ってもいいです)。
  3. クラフト用家具にしたい既存の家具を選び、Duplicateで複製。
  4. 複製した家具データを開き、Keywordの欄に作成したクラフト用キーワードをAddする。
  5. Workbench DataのWorkbench Typeに"Create Object"を選択。
  6. 家具をどこかのCellに配置して動作確認する。
おまけ:PCフレンドリーなアニメーションマーカーの作成

1.クラフト用Keywordの作成
ObjectWindowの左枠より、Miscellaneouse > Keywordを選択。
右枠内で右クリックしてNewを選択。小窓が開くので、分かりやすい名前のKeywordをつくります。



ここでは "CraftingScroll" というそのまんまのKeywordにしました。

2.Constractible Objectsの作成
レシピ作成はいつでもいいですが、先に作っておきます。
ObjectWindowの左枠より、Items > Constractible Objectsを選択。
右枠内で右クリックしてNewから新規作成。

・Created Object : レシピで出来上がるアイテム。下の項目は個数。
・Workbench Keyword : このKeywordを持つクラフト家具にレシピを表示。
・Required Item List : 作成に必要な材料とその個数。各素材の総額もでます。
・Match Conditions : 作成可能条件。



Workbench Keywordには、先ほど作成したオリジナルクラフト用キーワードを選択します。
これでこの作成レシピは、同じキーワードを持つクラフト用オブジェクトを使った時にしかクラフトメニューに出現しません。

とりあえず動作確認用にファイアボルトの巻物のレシピだけ作っておきました。Match Conditionsはなんの設定もしていないので、レシピはいつでも表示されます。お好みで、特定のパークを持っているときだけ、作成材料を持っているときだけ、など設定してもいいかもしれません。追加するレシピが多くなれば、材料を持っているときだけ表示するよう設定すれば便利になります。

3.クラフト用家具にしたい既存の家具を選び、Duplicateで複製
魔法書を巻物に書きかえる作業ですので、紙に文字を書くアニメーションを行える家具を用意したいです。
"CommonWritingChair01(LR)" は、ウィンドヘルム宿にいる作家アドナトさんや、シドナ鉱山のマダナック王が執筆のアニメーションを行うのに使われている特別な家具です。



Name欄を見ていると、名前が入っていません。そのため本来ならプレイヤーはこの家具を使うことができません。しかし実際には、プレイヤーはこれらの椅子をアクティベートして座ることができます。これは数少ない例外のようです。プレイヤーがその椅子に座っても、執筆のアニメーションを行えるわけではりません。
同じ椅子を使っているのにNPCとプレイヤーとで再生されるアニメーションが異なってしまうのは、Name欄が空っぽだからと思われます。実はこの椅子に名前を付ければ、プレイヤーがその椅子を使った時、執筆アニメーションをとれるようになります。
とはいえ既存の家具を変えるわけにはいきませんので、この椅子をDuplicateして新規オブジェクトを作ります。


4.5.複製した家具に必要な設定を入力

Nameに "Create Scroll" と入力。
Work bench DataのBench Typeに "Create Object" を選択。
Uses Skillは空欄にしました。なのでこれでクラフトしてもなんのスキルも上がりません。作成した巻物によって、それぞれの魔法スキルが上げられる設定だったらよかったんですが。幻惑魔法の巻物を作る椅子、破壊魔法の巻物を作る椅子とかに分けて作るのも面倒でした。
Keywordには先ほど作ったクラフト家具用のKeyword "CraftingScroll" を追加。それから "FurnitureForce3rdPerson" というKeywordも追加しています。これは、その家具を使うと強制的に3人称視点になり、カメラが固定されることを示します。クラフト家具は基本的にこのKeywordがついているので、自作家具にもつけました。アニメーションが見えるほうが楽しいです。
最後、念のため、Interaction Keywordに "ActorTypeNPC" が入っているのを確認しておきます。このKeywordを持つ種族しか使えないです。


6.家具を配置
 
どこに置こうかと色々試した末、ここになりました。3人称視点になるときのカメラの位置がPCから少し遠く、ある程度広い場所でないとカメラがひっくり返ってしまったためです。柱の間なんで、NPCの移動にはすごく邪魔ですね。



椅子をクリックすると、無事にクラフトメニューが出てきました。
本一冊から巻物一つも悲しいので、いっきに5つくらいできるようにレシピ変えておきましょうか。



ランダムイベントで会える「向上心に燃える魔術師(すぐ死ぬのでフル装備させてます)」君が、生まれて初めて自分でファイアボルトを放ったところ。彼は魔法の杖は一切使いませんが、巻物は普通に使います。杖の才能がなかっただけのようです。
巻物はフォロワーに持たせると勝手に使ってくれるものもあります。攻撃系やフレッシュ系、召喚系などです。基本的に「持っている巻物=自分が覚えている魔法」と認識しているようで、CombatStyleでSpellがゼロでなければ使います。もちろん巻物ですから、一回使うとなくなります。

今回作った巻物用クラフトオブジェクトのサンプルファイルです。
実物はSSの場所に机と一緒に置いてますので、よろしければご利用ください。

ダウンロード(mediafire)
※必須環境:特に無し

■PCフレンドリーなアニメーションマーカーの作成

家具オブジェクトのNameに何か名前を入れれば、プレイヤーもそのオブジェクトが使えると書きました。
実際には、もう一つの条件「プレイヤーがカーソルを合わせられる」というのも必要です。



こんなものを作ってみました。ブログで配布している「Expanded Miner Villages」というModのオマケとして作った、既存ポーション濃縮強化用クラフト家具です。
一見、大釜のメッシュをクラフト家具として作ったように見えますが、違います。



ポーションクラフト用のFurnitureデータです。
ぺライトクエストのケッシュが、ドゥーマーの大釜で香料を作るときに使う透明マーカーを複製して作りました。アニメーションは、調理なべと同じ、何かをかき混ぜる動作を取ります。
ここで使用されているModel "SmallCookingPotNoHandleinv.nif" というMeshは、透明でありながらプレイヤーがカーソルを合わせられる領域を持っていました。そのため、Nameに名前を入れてやりさえすれば、透明でもプレイヤーはカーソルを合わせてアクティベートすることが可能です。
またKeywordに "isSmallCookingPot" というのがあり、これが家具を使用したときに再生されるアニメーションを決めています。

これはとても便利なクラフトマーカーです。物自体は透明ですから、色々な種類の鍋や大釜と組み合わせて好きなデザインのクラフト家具を作れます。クラフトマーカーのカーソルを合わせられる部分が、まわりの家具で隠れてしまわないよう注意すればいいだけです。


通常だと透明なマーカーを使用できるのはNPCだけですが、このようにアクティベート可能な領域を持つ透明なマーカーを作ることで、プレイヤーも様々なアニメーションを取ることが可能になります。
ざっと調べた限り、他にアクティベート可能な領域を持つ透明なマーカーは以下でした。探せば他にもあるかもしれないです。
使われているModelのnifファイルを覗いたら、いずれも "bhkSPCollisionObject" というNodeを持っていました。さらに子NodeにSimpleShapePhantomというのを持っていたら、カーソルを合わせられるけど衝突判定はないコリジョンになるようです。
  • LeanTableMarker
  • HammerTableMarker
  • HammerWallMarker(見えない壁を持つので場合によっては不適)
  • SitLedgeMarker
「HammerWallMarker」以外は衝突判定もないようなので、扱いやすいです。設定されているModelがそれぞれ違うため、カーソルを合わせられる領域が微妙に違うかもしれません。
これらのマーカーを複製して、アニメーションに関するKeywordを変えればプレイヤーも地面にあぐらをかいたり、寝そべったりできます。アニメーション用Keywordは、そのアニメーションをするFurnitureデータを開いてKeywordを確認すれば多分分かります。
Keywordすら設定されていないマーカーについては、Active Markerの "sit" "sleep" "UNKNOWN(lean)"やMarker Entry Pointが直接アニメーションに関係しているようです。これは各家具オブジェクトのMeshファイルのBSFurnitureMarkerNodeで設定されているようです。CKではあまり自由にならない項目みたいです。

制約は多いものの、特にScriptを書く必要もなく、簡単な作業でプレイヤー用透明マーカーを作れるので、非常に手軽です。使えそうなアニメーションを探してマーカーを作り、自宅や町などあちこちに配置するのも楽しいでしょう。
もちろんNPCもマーカーを使うことができます。使わせたくない場合は、Ignor Sandboxなどにチェックを入れるか、マーカーのOwnerをプレイヤーにすれば独り占めできます。

上のサンプルファイルに、いくつかの透明マーカーをテストとして作成しています。
コンソール "coc aaaSL00MarkerTest" でテスト用セルに行ってください。長方形の部屋に、縦3個×横5個の計15個のマーカーを置いています。1個は巻物作成用の椅子です。
Keywordの設定等甘いものもあるので、実際に使うときは適宜 "RaceToScale" や "FurnitureForce3rdPerson" 、その他Child Can Useなどのフラグの調整が必要かもしれません。
PR

Author

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

ブログ内検索

最新コメント

[11/12 fighf]
[11/11 AllicebeLype]
[11/11 コング]
[11/10 chomechome-X]
[11/05 UNPおじさん]