忍者ブログ

方向音痴のSkyrim

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

Procedure【UseMagic】

UseMagic

Actorに任意の場所で任意の魔法を指定回数使わせるProcedureです。魔法を使い終えたらProcedure終了です。
Type:Spellのいわゆる手でキャストする普通の魔法(もしくは巻物)に限定されます。パワーは使えませんでした。シャウトは別の専用Procedureを使用します。
このProcedureで魔法を使っても、Actorのマジカは消費されません。また特定の魔法を指定した場合、その魔法を覚えていなくても魔法を使うことが可能です。ただしマジカ残量が使う魔法の必要マジカに足りないと、魔法を構えたまま固まってしまうことがあるようです。
巻物も指定できます。巻物の場合は、魔法を放つと巻物がなくなります。巻物を持っていなくても魔法を放てます。
Procedure実行中は常に指定された魔法を装備し、戦闘体勢(抜刀状態)をとり続けます。
魔法用のアニメーションを持っている種族のみしか使えないようです。

-パラメータ-
  • Location:魔法を使う場所。この場所まで移動してから魔法を使います。
  • Spell:使う魔法の指定。巻物の指定もできます。
  • Target:魔法のターゲット。魔法のDeliveryによっては、魔法が作用する対象だったり、単に魔法を撃つ目標物だけだったりします。詳しくは下方にてまとめています。
  • HoldWhenBloked:射線上にほかのNPCがいると魔法を使わないかどうか。柱などの障害物は認識不可。
  • CastTimeMin/Max:この値の間で魔法の溜め時間(秒)をランダム化できます。MinとMaxの値を同じにすると、溜め時間は固定。二つともゼロにした場合、魔法側で設定されている溜め時間が使われるようです。0.1秒などに設定すると、溜め時間ほとんど無しで撃てます。溜め時間をゼロにしたければ、魔法側の溜め時間をゼロに設定してください。「治癒の手」のようにキャストし続けるタイプの魔法は、時間設定が必ず必要です。
  • CooldownTimeMin/Max:小休止。複数回魔法を使うときに有効。
  • NumToCastMin/Max:何回魔法を使うかをランダムに決められます。クールダウン時間をはさんで魔法を撃ち終わればProcedure終了。
  • DualCast:デュアルキャストするかどうか。



Papyrus関数のCastは直接魔法の効果を発動させるだけですが、こちらのProcedureはNPC経由で魔法を使わせることができます。片手や両手でキャストする普通の魔法に限られるものの、ちゃんとアニメーションつきで放ってくれます。

Procedureがスタートした時点で指定された魔法を装備し、戦闘体勢(抜刀状態)をとります。魔法を使用する地点でのみ抜刀状態になってほしければ、目的地までは「Procedure:Travel」など移動を中心としたProcedureを使うのが確実です。
移動は何も指定していなければ徒歩の速度で動きます。かなりゆっくりです。Combat Override内で使うときはProcedureのFlag Overridesで、移動速度をRunやJogに設定するのがお勧めです。

・Delivery別Targetの設定目安

  • Self: Targetは一般にActorを指定します。自分でも他NPCでも魔法の効果を適用できます。TargetとなるActorに直接作用しているらしく障害物も関係なし。アニメーションは頭の上に手をかかげる自身をターゲットにした魔法用のもの。
  • TargetActor: Targetは一般にActorを指定します。自分でも他NPCでも魔法の効果を適用できます。TargetとなるActorに直接作用しているらしく障害物も関係なし。アニメーションは前に手を突き出す他NPCをターゲットにした魔法用のもの。
  • Aimed: Targetの方向へ魔法を放ちます。Actorでもオブジェクトでも用途に合わせて自由に指定可能。射線上に障害物や他NPCがいるとそこに当たってTargetまで到達しないです。誤爆注意。Targetに自分を設定することも可能ですが、あらぬ方向に魔法が飛んでいくかも。
  • TargetLocation: 自身の他、NPCやオブジェクトをTargetにできます。Targetの付近や直下の地面に魔法を当てたとみなされるようです。
"Self"や"TargetActor"は一見、自分でも相手でも好きなようにTarget指定できるように見えます。しかしバニラの魔法を使わせる場合は特に、実際の魔法の効果対象に合わせてきちんとTargetを指定した方がいいようです。魔法側についているConditionの指定の仕方によっては、魔法の効果が正しくでないことがあるためです。"Self"のTargetは自分、"TargetActor"のTargetは他のNPCに限るのが一番安全です。

・使わせる魔法の最適化
UseMagicで使う魔法は、用途に応じてNPC用に最適化したものを自分で用意すると確実です。
たとえばDeliveryがAimedになっている、ファイアボルトなどのような魔法の場合、ターゲットに向けて撃っても手前の障害物に遮られてしまうことがあります。一発で当ててもらわないと困る場合は、DeliveryをTargetActorに変更することで解決できます。
またEquipTypeでEitherHandに設定されている魔法は、必ず右手で使おうとします。こちらについても左手に限定したければ、LeftHandに変更します。

Procedureで魔法を使わせる場合は、Procedureの設定だけでなく魔法のDeliveryやTargetについても厳密に吟味する必要が出てきます。


前へ | 次へ
PR

コメント

1. UseMagicの隠し要素

いつもお世話になっております。先日は“REP”の質問へのアドバイス、誠にありがとうございました!!私、ファル粕でも…食べ物の分類と指定方法の詳細、アイテムの適切な作り方をマスターできました!

犬のエサを試食するロッドさんの姿を想像し、ニヤついております。Eatを追加したら、相当な愛犬家になってしまいそうですね♪ オリジナルなポーションや食べ物を自作してREPで食べて貰えると思うと、プレイも製作も充実しそうです(^^)b
俄然、やる気も回復してきました!なかなか進まなくてイライラの日々でしたが、Modの製作も再開できまして、今は新メンバーの追加と既存のメンバーのAIの見直しをしています。相変わらず不具合だらけです。しかし、ダメダメでも一度Modとしてまとめ上げてしまい、後からどんどん修正を加えていく製作スタイル方が良いのではないかと思い、まとめる作業を始めました。Modのアップと更新がスピーディーなUNIさんに影響を受けました。(私はどちらかというと…あ、いえ、まさに仕事が遅く、気づきも遅いタイプの人間だと思います。苦笑)

久しぶりのフォロワー作成は、難易度が高かったです。同胞団には珍しい“スペルソード”に挑戦してみました。武器と呪文を使い分けさせるのが難しく、UNIさんが製作された『SLFollowers』の絶妙な調整に、甚く感動しています。同胞団の場合は、「なぜ在籍しながら忌避される魔法を使うキャラになったのか?」。その設定を考えるだけで、ひと苦労です…(汗)
これまではShoutで能力を作ることが多かったのですが、UseMagicに関する知識が必要になったため、UNIさんが執筆されたProcedure関連の記事を熟読し、参考にさせていただいております。CreationKitのページでは英語で不明な点が多いですが、UNIさんの翻訳・製作記録・解説は、理解の大きな助けとなっています!製作の最中に発見した出来事があったので、(またご相談になってしまいそうですが…)お伝えしたいと思った次第であります。

方向音痴のSkyrimの各記事、そして数々の自分の失敗から、「AIPackageで使わせれば任意のタイミングでSpellをキャストできる」と学びました。「UseMagicでSpellを使ってもActorのマジカは消費されない」という、目からウロコの事実も知りました。と同時に、呪文を自由に使わせられる分、ゲームの世界観として“マジカを消費せずに無制限に魔法を発動できるという仕様”が、チートになりかねない危険性を秘めていることもです。それから、記事:CombatOverride作成【任意の魔法を使わせる】のように、「ConditionFunction」を活用することで、発動を制限する方法を試行錯誤する段階まで、ようやく来られました。いわゆる『制限付きの能力』の作成です。

前置きが長くて申し訳ありません。ここからが、お伝えしたい内容になります。
私の偏見と技量の無さが主な原因とみられますが…「AIPackageでマジカを消費せずに呪文を使える人」は、「ActorのSpell欄で覚えて、わざわざマジカを酷使しながら頑張ってる人」に比べ、強キャラ感が増すといいますか…歴然たるマジカの差異を感じました(^v^;)
「何なんだアイツ、この私と違って…何度も呪文を詠唱しているのに、疲弊すらしていない!!顔色ひとつ変えずに…(涙)」と、戦闘のテストをした魔術師が、ダガーをブンブン振り回しながら悔しさをにじませていたに違いありません。加えて、「敵が装備している“マジカ減退・吸収系の付呪装備”」、「“雷撃系の攻撃”による詠唱の阻害」が事実上、“AI型”魔法使いやスペルソードにとって全く脅威にならなくなる…という懸念も。(これは逆に長所でもあります!)
一方、マジカの消費を伴う“Actor型”も「Conditionsに縛りが無い」、「硬直とは無縁」、「正確に魔法を命中させられる」という特権を持っていますが…。CombatOverrideの進化と発展によって生じた、敵とフォロワーの間にあるこの不平等なシステム(マジカ消費)を少し解消してあげたいと思い、“マジカ消費式のSpell(AI専用)”の作成を実践してみました。自作Spellに「マジカにダメージを与える」という“諸刃のEffect”を同梱しておくという方法です。

例えば、「炎のマントを使用すると、自身のマジカに1秒あたり3ptのダメージを与える(FFself)」などのSpellです。ジェイザルゴの巻物や調合したポーション、錬金素材を使った時と似ています。このようにすれば、AIから呪文を使用してフォロワーがマントの利を得ても、同時にマジカが減るという害もあるので、マジカ消費における優劣のバランスが保てると考えました。その結果、今まで知らなかった違いに偶然気付くことに―――。

マジカ最大値が100ptのフォロワーで、自作Spellのコストを30pt、持続時間を30秒にしていました。フォロワーがUseMagicによりSpellを発動すると、炎のマントに身を包み、同時に毎秒3ptのマジカが減っていきました。そうして30秒が経過するとマントの効果が切れ、フォロワーのマジカ値は10~20ptになっていました。すると!!―――フォロワーは、『2度目のマント魔法を放つための装備体勢に入ったまま硬直し、キャストが不可能』になりました。おそらく、“Actorのマジカ残量がSpellのマジカ消費コストを下回ってしまった影響”が出たのだと考えられます。しばらくそのまま様子を観察していると、自然回復で30pt以上になったり、インベントリにマジカ回復薬を入れておくと、薬を飲んで硬直を解き、次の行動に移ることができました。

私は以前、UNIさんとのAI議論(Shoutの方の記事)で、「キャスト時のモーションによる遅延がAIの硬直に関わっている」と予想していました。今回はTypeも異なりますし、AIやConditionsの不具合によって生じたパターンということかもしれませんが、CombatOverride作成【任意の魔法を使わせる】の記事にある、“UseMagicで魔法を使うと高コストの「治癒のマント」を詠唱できるケース”とは異なり、行動に制限が掛かりました。特定のケースになると、“マジカ消費コスト”もAIに影響を及ぼしてくる可能性があるように感じております。UseMagicを制御していると考えられる、SLFのヴァーニスさん、ドヴァキン女さん、ヒーラーの方々に硬直があまり見られないのは、何故なのか?―――とても気になりました。

NPCがSpellやShoutをキャストするのはプレイヤーにとって一瞬の動作であり、彼らは構えた段階と同時によろめきを受けたりしない限り、硬直することは稀ですが…コンソール『sgtm』を0.1と打ち込み、AIはそのままでモーションの時間だけを10倍遅くしたところ…ある程度、自分なりに納得のいく理由が見えてきました。NPCのAIは、自身のマジカ値に常に目を見張らせていました。「①装備→②ためる→③射程→④キャスト」の一連の流れにおいて、各段階でマジカを消費コスト以下に減らすどうなるかを観察しました。①~③の動作段階の時に、マジカが減ってしまうとキャストできなくなり…UseMagicが完了不能=硬直に陥るようです。

NPCが使用する際にはマジカの“自己消費”の方は問題ありませんが、別の要因(マジカ毒のように連続的に減る、等)によってマジカダメージを受けてゲージが減っている状態だと、“キャスト”ができずに硬直してしまうケースがあったのです。上述の検証結果から、“UseMagicの隠し要素”として…『AIでキャストするのにもSpellのコスト以上の“マジカ残量”が必要』なのかもしれないという考えに至りました。色々矛盾していますが、原因を探りたい…恥を忍んでUNIさんにお聞きしようと思いました。

これは自作のSpellよりも、バニラのコスト付きSpellをAIで使わせる時に心配がありそうです。AIの安定感が損なわれてしまうやっかいな現象なので、自作Spellのコストは全てゼロで統一した方が無難ですが…意図的にコストを設定すると、マジカを失っておどおどしたり、回復薬を飲みまくるお茶目な感じのAIになるので、(製作下手なりに…)上手く活用すると、“万能な熟練者とドジな素人の魔術師”を作り分けられそうな気もしています♪

もしかすると、いつものごとく私の作成したAIPackageのしょうもないミスによる、単なる偶然かもしれないです。(すみません…)しかし、今までActor欄ではない(覚えさせずにAIPackageに直接指定する)方法は、マジカの“消費コスト”を全く気にせず搭載していたので、理由が判明すれば、自作AIの意味不明な硬直の原因と解消法を見つけられそうです。製作の途中で同じような現象に遭遇しましたら、是非教えていただきたく思いますm(_ _)m

Re:UseMagicの隠し要素

うわぁ、そこまで解析されてしまったんですか。す、すごいです!
実はwikiのUseMagicの項目には、「NPCのマジカが足りていないと、魔法を構えたまま必要マジカが溜まるまで動かなくなる」と書いてあります。

私も長い間この一文が気になっていました。そのためとりあえずの回避策として、使わせる魔法の消費マジカが十分ある時のみUseMagicで魔法を使わせるようにしていました。SLFollowersの面々が割とスムーズに魔法を使ってくれるのは、この回避策のおかげかもしれません。
その後「ヒーラー作成」の記事で色々試していた時、消費マジカ一万の魔法をUseMagicで最大マジカ250前後のNPCに使わせたら特に問題なく動作するのを確認しました。wikiの記述と異なる現象だったので、とりあえず自分が見つけた現象の方だけを書いていたんです。もう一度確認し直してみないといけませんね……。
ファル粕さんの検証だと、やはりwikiの記述は重要注意事項になりそうです。検証結果の共有、ありがとうございます。
この記事の方にも、あとでwikiの注意文を付け加えておきますね。

UseMagicはなかなか扱いが難しくて、固まった時の回避対策などいまだに苦労しています。カスタムAIはやらせることが少ないとある程度安定するのですが、増やすと不安定になり、さらに増やすとある時点でまた安定化してくるということもあります。なかなか一筋縄ではいかないですね(^-^;

コメント

2. こちらは毒のお話ですが…

UNさん、お久しぶりですm(__)m

SKSEが中々入れられずにお食事MODをまだ導入できてないのですが…それとは別に、UNIさんのおかげで漸く人狼化毒を作ることが出来ました!
UNIさんが作られたウェアウルフ化と解除のスクリプトを一つにまとめて更に激昂の効果を加えたところ、見事人狼化したナゼームがホワイトラン市民全員にタコ殴りにされました!(今まではプレイヤーが人狼化しないとどんなに化けても敵対してくれなかったので…)

今後はレシピも作って料理鍋でこれを量産できるようにするつもりです…
(何故かレシピを作っても料理一覧に表示されないので、現在お料理お勉強中です。食材じゃないものも使ってるからかもしれませんが…(笑))

ちなみに、死んだ時に人狼化が解けるかどうかはやはり八卦なところがあるのですが、owner設定か何かの条件がついた服を持っているNPCは返信解除後に服が脱げないらしい、というのは何となくわかりました。
ナゼームや山賊は大体裸になりましたが、衛兵やフォロワーMODのNPC(恐らくオリジナルで服を持っている人)は十中八九脱げてません。
あとこの毒、何も設定してないので子供(変身しても戦わない)や巨人、サーベルタイガーも人狼化します(笑)

それと、錬金素材採取AIが漸くいい感じになってきました!取得効率や精度まで調べるのは私の頭がおっつかなくて分からないのですが、チョウチョも魚もイクラも追っかけて捕まえるようになりました!
いずれは会話の選択肢から集めた素材で薬を作ってもらえるようにできればと考えていますが…ここまでこぎつけられたのもUNIさんとファル粕さんのお蔭です。本当に有難うございます。

薬と料理がうまくできたら今度こそSKSEの導入頑張ってみて、山賊やナゼームにいっぱいいたずらしたいと思います。

最後に、不可解な点が一つでてきたのでご報告。
ご存知でしたら申し訳ありませんが、何故か私のフォロワーは戦闘が始まると「恐怖効果の付いた毒」を積極的に自分に使用してしまうという変な癖が見られました。
その他「暗視の薬」も時々ですが使用を確認しました。
あっちが使うとプレイヤーの視界に暗視フィルタがかかるみたいで昼間はすごく迷惑でした(;´・ω・)

不思議なのが、すべてこちらが預かってるはずの毒まで使用していたのです。
これも魔法の使用(Usemagic)と同じ仕組みなのでしょうか…combatoverrideに攻撃用の魔法なんか入れてないんですけどね
ここぞという時に猛スピードで逃げていかれて、何回も死にました(苦笑)

ファル粕さんとのUsemagicのやり取りが気になってついこちらに書き込んでしまいましたが…
何もお力になれず恐縮ですが、お二人の今後の発見を楽しみにしております。

Re:こちらは毒のお話ですが…

鮫島さん、こんにちは!

>見事人狼化したナゼームが...
おお、ついに禁断の獣人化毒の試作品が完成ですね!
>ホワイトラン市民全員にタコ殴りにされました!
人狼化して住人全員を物理的に雲地区送りにするかと思いきや、ナゼームは人狼化してもナゼームでしたか(^-^;

死んだときに変身が解けなかったり、服を着たままだったりというのはこちらでも何度か確認しています。服装の設定まではよく確認していなかったので、今度試してみようと思います。情報ありがとうございます! でもフォロワーMODのNPCは服を脱がすと本当に素っ裸になってしまう人もいるので、彼らに関しては服が脱げない方がいいのかもしれませんね;

薬と毒料理ができたら、ぜひ食事MODでいたずら一杯してみてください! 山賊のアジトが大混乱に陥るのは見ものです。リフテンのミストヴェイル砦中庭で食事をする衛兵達にも、毒料理を仕込みやすいですよ~。

フォロワーが「恐怖効果の付いた毒」や「暗視の薬」を使ってしまう件ですが、面白い現象ですね。
私はまだあまりポーションについては詳しくないのですが、NPCが自発的にポーションを使う現象は、「オークフレッシュ」「自己治癒」「マント系魔法」等を自発的に使う行動と似ているように思いました。NPCはその薬を、物理攻撃耐性を上げたり、自分の体力を回復したり、マント系効果があったり、なにか自分にとって有利になるものだと誤解している可能性があるかもしれません。NPCは一番上に登録されたMagic Effectのみを見てそれを使うかどうか判断しているようです。自発的に使って欲しくない薬は、1番目に何も効果がないMagicEffectを登録して、2番目に本命を登録する……とかでしょうか。
プレイヤーが預かっている毒まで飲んでしまうのは、ちょっと困りますね。カスタムAIでその薬を直接指定して使わせる設定があれば、もしかしたら薬を持っていなくても使ってしまうかもしれません。カスタムAIが関係していないのであれば、NPCの持ち物欄に何らかの形で薬が存在していたかもしれませんが、ううんちょっと分かりません。お力になれず、すみませんです。
「UseMagic」は私もまだまだよく分からないことが多く、コメント欄での情報に助けていただきながらチマチマと動作確認中です。危なげなく使いこなせるのはいつになることやら……。

収集AI、イクラも採ってくれるようになったんですね! 素掴みで捕まえるのはプレイヤーでも難しいだけにすごいです。チョウチョ追いかけてる姿も見ているだけでなごみますよね(*´ω`) ……たとえそれが黒づくめのローブのおじさんでも(私の所では最近もっぱらシンディングが、泣きそうな顔でチョウチョ追いかけてます)。

Author

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

ブログ内検索

最新コメント

[07/16 chomechome-X]
[07/16 ブレトン魔術師]
[07/15 amo]
[07/10 初心者シセロ]
[07/10 ソウルケルンのエレンウェン]