他のblogでもやってそうないまさらな記事を始めるよ~。
自分の忘備録的な意味でも書いていきます。
まずはCKの基本操作のみで作れる魔法から始めていきます。
今回のゴール:FireBoltの威力と速度を上げる。
CKの魔法の構成要素は大きく分けて次の通りです。
MagicEffect:魔法の効果を細かく指定する設定が書かれたもの。
Spell:Skyrim上でスペルとして扱われるもの。MagicEffectを複数突っ込んで完成させる。
Projectile:スペルキャストで飛んでいく飛翔体。
例えば右側の魔法使用者(シェオ爺)が使おうとしている魔法、つまり「Spell」には上の図に書かれている項目が書き込まれています。
Spell単体では魔法使用者に「ホニャララという魔法があって、消費Magickaは60で、キャストタイムは3秒、敵に当たると死ぬんだよー」ということを認識させる効果しかありません。
魔法使用者が魔法を使う(Castする)と、Spellに書き込まれている「MagicEffect」が発動します。
FireBoltの魔法なら、MagicEffectにて指定された火の玉が前方に飛んでいきます。
命中した時に炎がついて燃える、とか、電気がビリビリするとか、着弾の音とか、爆発の有無等の指定はほぼMagicEffect内の項目を触れば解決できますが、MagicEffect単体では「ホニャララという効果を行う」という、ことしか書き込まれていませんから、これを魔法として魔法使用者が覚えることは出来ません。
最後に、「Projectile」には弾速や吹っ飛ばす力、弾が受ける重力などを指定できます。極端に言えば、弾速を早くすることで銃弾を表現することも可能です。「弾」の性質を指定しているだけなので、当然これ単体では魔法として機能しません。
【関連付けの関係】
魔法の構成としては、図の左側のMagicEffectでProjectileを指定しています。そして、SpellでMagicEffectを指定します。
双方向で指定するわけではなく、すべてが一方通行になるため、はじめはわかりづらいと思いますが、慣れてくれば簡単です。
この3つの仕組みさえ覚えれば、既存のMagicEffectを組み合わせてオリジナルのスペルを作ることができるようになります。
新しいスペル等を作る場合、バニラの設定に影響が出てしまうため、既存の設定は変更しません。
必ず変更したい要素を右クリックし、「Duplicate(複製)」を行って、新しいIDに変更してから設定していきます。
新しいIDをつけた後OKボタンを押すと出てくる2つのダイアログは「いいえ」→「はい」の順番で押せばよいです。この法則はどの場面でも変わりません。
説明ではこの工程を省いていますので、適宜複製して行ってください。
●弾速を変える
スペルの弾速を変える方法を記載します。
CKのオブジェクトウインドウを開いてください。上の画像のものです。
「ねえぞゴルァ!」という人はお帰りください。CKツールバーの「View」>「Object Window」をクリックしましょう。
左側のツリーに注目し、そこから
「SpecialEffect」>「Projectile」
を探してクリックします。
FireboltのProjectileは「FireboltProjectile01」という名前です。
見つけたら複製し、ダブルクリックします。
このようなウインドウが開きます。
注目すべきは左下です、分かる部分だけ抜粋します。
Speed:弾速変更
Gravity:弾に対する重力の影響力
Range:射程
ImpactForce:命中した時の衝撃の強さ
FadeDuration:主に雷撃スペルにて使用、どのくらいの時間表示されるか。
今回は速度を変更するので、Speedの値を変更すればよいです。
値が増えるほど速度が増します。
●威力を変える
本当はMagicEffectを先に作ったほうが効率が良いのですが、Spellの説明を先にしたほうが良いので解説します。
ObjectWindowの左側に戻り、Spell項目から「FireBolt」を探して複製します。
スペルのウインドウが出ます。右上のEffects枠内にMagicEffectを並べてスペルを定義していきます。
極端な例をいうと、氷Effect、雷撃Effect、火炎Effectの3つをこのEffect枠に放り込めば、3属性混合の破壊魔法を作ることも可能です。
それでは威力を設定します、Effects枠内の「Firebost:Health」をダブルクリックします。
左側の項目を見てください。
Effect:選択されているMagicEffect
Magnitude:威力
Area:範囲魔法の範囲
Duration:継続魔法であればその継続時間
Conditions:この効果を有効にするための条件指定
今回はMagnitudeのみ注目します。
Fireboltは25のダメージを与えるスペルです、これを基準として威力を変更してゆくと良いでしょう。
次の項目の仕上げで、MagicEffectを作り、それを適用しますので各項目を確認したらそのまま閉じて、続きを読んでください。
●仕上げ
最後に、複製して設定したものをスペルとして使えるようにします。
左側のツリーにある、「Magic」>「MagicEffect」より、「FireDamageFFAimed」を探し、複製します。
はじめはよくわからないと思いますが、慣れればどうってことありませんので安心してください。
今回はここでprojectileを変更します。
真ん中の「VisualEffect」欄にある「Projectile」プルダウンBOXをクリックすると、先ほど作ったProjectileがあるはずですので、それを選択してOKを押します。
これでProjectileとMagicEffectがつながりました。あとはSpellに適用するだけです。
先ほど作ったSpellを開いて、Effects欄で右クリック>Newを選択すると新しいEffect追加ができるようになりますので、そこから今Projectileを適用したMagicEffectを選択し、Magnitudeも適宜設定してからOKを押します。
これで魔法の3要素がつながりました。実際にゲーム上で動くか確かめましょう。
スペルをゲットするにはコンソール(日本語KBならAlt+半角全角キー、英語KBならチルダ)を押して、まずは今作ったスペルのIDを調べるため、次のように打ちます。
help XXXX(XXXXは作ったスペルの名前の一部を入力、FireBoltなら「Firebo」など)
すると作ったスペルの名前とIDが出てくるので、次のように打ちます
player.addspell YYYY(YYYYはスペルのID)
IDは16進数で書かれており、例えばb40018A3等となります。
これでスペルを使う準備が出来ました。
もし、マジカが足らなくてスペルが使えない場合は同じくコンソールで「TGM」と撃ちこめば無敵モードになるため、スペルを際限なく使うことができるようになります。