Withe01のブログ -6ページ目

Withe01のブログ

プレイしたゲームに関するあれこれを書いたBlogです。
PC版SkyrimにおけるMOD作成に関する記事がメインとなります。

もし作成したMODについてご意見等ございましたら、コメント欄に気軽にコメントしていただけたら幸いです。

MOD作成日誌
-20130916-
[スクリプトでズームする方法]

20130919追記

現在GunArts Rifleに「シャープシューティング」にズーム機能を組み込み中。
というのも狙撃用の技でありながらSkyrimにもともと備わっているズーム機能(perk「鷹の目」)が使えなかったため。
*perk「冷静沈着」は作用するのになぜ
perk「鷹の目」使えないんだろうか?よくわからない。というかMOD作成初期のころはズームできていたような覚えがある…。

----------------------------------------
-追記-
ニューゲームすると一時的に無条件で「鷹の目」が使えるようになる模様。
ただし一度でも弓やクロスボウを装備すると弓・クロスボウ限定かつperk「鷹の目」の習得が必要になる。
鷹の目の適用条件を弄って両手武器にも太陽させることができれば、わざわざスクリプトでズーム機能加えないでもいいんだが…。
アニメーション(BowLeftAttackのBowZoom)の発動条件を弄っても効果なし。
perk「鷹の目」自体は発動条件を指定していないので弄りようがない。
「modify bow zoom」の条件を弄れるか?と探してみたが見つからない。
手詰まりか?
----------------------------------------

もともと似たような機能を持つMODとして望遠鏡MOD「KWTelescope」があったので、それのスクリプトをベースに作成。
このスクリプトは基本的にはFOV(視野角)を変更するだけで、視野角を狭くすることで擬似的にズームを表現している。
ただ視野角を変えるだけだとゲームに反映されないので、いろいろ小細工がいる。
下記は具体的な内容。

手順1.FOVを変更する。
value = Utility.GetINIFloat("fDefaultWorldFOV:Display") ; FOVの現在値を取得する。
Utility.SetINIFloat("fDefaultWorldFOV:Display", 18) ; FOVを大幅に下げる。ちなみにFOVの基本値は60くらい(のはず)。

手順2.そのままではFOVの変更が適用されないのでTweenMenuを開いて即座に閉じる。
Input.TapKey(Input.GetMappedKey("Tween Menu",0)) TweenMenuを開く
Utility.WaitMenuMode(0.0003) ; 極短時間待機
Input.TapKey(Input.GetMappedKey("Tween Menu",0)) TweenMenuを閉じる

手順3.このままだとメニュー画面が表示されてしまい見栄えが悪いため、一時的にメニュー画面を透明化する。
UI.SetNumber("TweenMenu", "_root.TweenMenu_mc._alpha", 0.00)

ズーム自体は以上だけで可能。
以下はスコープ画面の表現。必要ならする。

手順4.現在の視点が1人称か否かチェックし、3人称なら強制的に1人称視点にする。
If(Game.GetPlayer().GetAnimationVariableInt("i1stPerson") != 1)
 Game.ForceFirstPerson()
 firstperson = 0
EndIf

手順5.ヘルスや方向などの画面上の情報を非表示にする。
Game.ShowFirstPersonGeometry(false)

手順6.視界にスコープ画面のエフェクトをかける。もとMODだと天候が雨や雪だと専用のエフェクトをかけていた。
ZoomEffect.Play(PlayerActor)

以上。
ズームを解除するときにはこれの逆をする。

;--------------------------------------------------------------------------------

-バグ-
showracemenuを開いて種族や性別を変更するとズーム画面の表示がおかしくなる。
どうも視点の中心座標がずれるみたいで、ズーム時の視点が上下逆になり、ほとんど操作不能に陥る。
弓かクロスボウを装備すると治る模様。とりあえず対策は見つかった。

MOD作成日誌 ~20130906~

-覚書-

-アニメーションのイベントネーム対応-

とりあえず調べた範囲で列挙。


-バッシュ編-

両手武器
バッシュ           : HitFrame , BashExit , BashStop
溜めバッシュ    : HitFrame , BashExit , BashStop , BashRelease

*バッシュボタン押しっぱなしで発動するバッシュ。以下も同じ。
パワーバッシュ : HitFrame , BashExit , BashStop


片手武器(左装備なし)
バッシュ           : HitFrame , BashExit , BashStop
溜めバッシュ    : HitFrame , BashExit , BashStop , BashRelease

パワーバッシュ : HitFrame , BashExit , BashStop


片手武器(左盾)
バッシュ           : HitFrame , BashExit , BashStop
溜めバッシュ    : HitFrame , BashExit , BashStop , BashRelease

パワーバッシュ : HitFrame , BashExit , BashStop , BashRelease

シールドチャージ : 検出不可

素手(左盾)

バッシュ           : HitFrame , BashExit , BashStop
溜めバッシュ    : HitFrame , BashExit , BashStop , BashRelease

パワーバッシュ : HitFrame , BashExit , BashStop , BashRelease

シールドチャージ : 検出不可

杖(左盾)

バッシュ           : HitFrame , BashExit , BashStop
溜めバッシュ    : HitFrame , BashExit , BashStop , BashRelease

パワーバッシュ : HitFrame , BashExit , BashStop , BashRelease

シールドチャージ : 検出不可

クロスボウ
バッシュ           : HitFrame , BashExit , BashStop


-Attack編-
両手剣
弱 :
WeaponSwing , HitFrame
*移動の有無、一撃目、二撃目問わず。以降も注釈なければ同じ。
強     : WeaponSwing , HitFrame ,
AttackPowerStanding_FXStart
前強 : WeaponSwing , HitFrame , AttackPowerForward_FXStart
右強 : WeaponSwing , HitFrame , AttackPowerRight_FXStart
左強 : WeaponSwing , HitFrame , AttackPowerLeft_FXStart
後強 : WeaponSwing , HitFrame , AttackPowerBackward_FXStart

両手斧・槌
弱 :
WeaponSwing , HitFrame
強     : WeaponSwing , HitFrame
前強 : WeaponSwing , HitFrame
右強 : WeaponSwing , HitFrame
左強 : WeaponSwing , HitFrame
後強 : WeaponSwing , HitFrame

片手武器(右,素手含む)
弱 : WeaponSwing , HitFrame
強     : WeaponSwing , HitFrame
前強 : WeaponSwing , HitFrame
右強 : WeaponSwing , HitFrame
左強 : WeaponSwing , HitFrame
後強 : WeaponSwing , HitFrame

左手武器(素手含む)
弱 : HitFrame
強     : HitFrame
前強 : HitFrame
右強 : HitFrame
左強 : HitFrame
後強 : HitFrame

素手
左右パワーアタック : 
 WeaponSwing , HitFrame

二刀流
左右パワーアタック : 
 WeaponSwing , HitFrame


-
わかったこと-
どのバッシュも基本的にHitFrame , BashExit , BashStopの3つの要素を含む。
溜めバッシュは特別にBashReleaseを含むが、パーク"パワーバッシュ"を修得するとパワーバッシュが発動するので
BashReleaseが識別できなくなる。
ただし盾装備時のみパーク"パワーバッシュ"修得後も
BashReleaseが識別される。
シールドチャージはどの要素においても識別不能。

ほとんどの攻撃が
WeaponSwingとHitFrameの2つを含む。
ただし左手攻撃は
WeaponSwingを持たない。
両手剣の強攻撃のみ特殊な要素"
AttackPower**_FXStart"を含む。

*ドーンガード・ドラゴンボーン導入。性別男。ダンマー。
盾装備時のBashReleaseはドーンガード未導入だと検出できない可能性がある。
 >> おそらくアーリエルの軽盾の特殊攻撃のために追加された要素だと思われる。

両手剣の強攻撃の"
AttackPower**_FXStart"はドラゴンボーン未導入だと検出できない可能性がある。
 >> おそらくブラッドスカルの剣の特殊攻撃のために追加された要素だと思われる。

獣人種や女性だと別の結果になる可能性もある。
また調査はまったく網羅的ではないため、調査漏れの可能性が多分にある。
"
これしか検出できない"ではなく、"これ検出できる"という目安にしていただければ幸い。