Fallout箱庭DIY

「箱庭DIY」Fallout分室

【Fallout4】半透明なStealth Fieldエフェクトの作成実験

スポンサーリンク


ガービーに迫る危機

まさかの4年弱振りな更新・・w
腰据えて今後もやるか?というとちょっとアヤシイのですが(泣

久々な上、昔の環境をそのまま持ってきた為、何が何やらサッパリ覚えてない('_')
まあ一応動いてるのでそのまま遊んでる訳ですが、久々に動かした所、唐突に・・・

自キャラのステルスって半透明の方が良くね??

などと感じた次第でして。

以前に気になった覚えはないのですが、ChameleonはNPCにだけ使わせて、自キャラは半透明にしたいマイブーム到来。

軽くMODを探したのですが見当たらなかったので、久々にこさえてみました。
既にMODあるよ!ってことでしたら、生暖かい目で優しく突き放してください(いつもの情弱っぷり!
Nanako対応は結構手間かかる為、次回にて!


※注意※
今回も試す際は自己責任でお願いします。特にソフト畑の人間ではないので、スクリプトに関しては平気で良くない処理ぶっこんだりしてるかもしれません!
しかも久々で色々忘れてる中での作業なので、特に自己責任高めでヨロシクですw

透過エフェクトについて

透過エフェクト自体はSkyrimにもありまして、透明化するMODも存在します(バニラ魔法でもあったかも?記憶が・・)。
skmod.hatenablog.com
Fallout4でも使えたので、これを基本にしています。
アルファ透過をキャラに適用する関数がある為、簡単なスクリプトですぐに実装可能。

Alpha=0.25だと、結構な透明度。
アルファ透過率の比較

光源や背景色等、環境次第で見え方の差が激しいです。
夜間のナイトビジョンなImageSpace環境下だと、25%(Alpha=0。25)でも結構視認可能。
夜間のアルファ25%

背景色次第でも、溶け込み具合が全然違いますね。これも25%です。
暗闇の25%
ちなみにトップ絵のガービーの後ろにいるヤツは50%です。明るい光源で背景の明度も高めだと、50%ですら結構見えないかも。

とまあ、こんな感じで透過エフェクトが使えそうです。

半透明エフェクトのデメリット

残念ながら幾つか問題点が残ります。もっとも僕がうまく処理できてないだけで、実際は何か良い手があるかもしれません!

厳密には透過処理ではない?

Skyrimでどうだったか・・・わからないですが。透過のブレンド色を作っているのではなく、タイル状に抜いて薄くしているようです。スクリーントーンみたいな。
透過状態の顔のアップ

その影響だと思いますが、透過率が端数だと非常に見栄えが悪いです蓮コラを連想しかねない!
実質、25%or50%の2択かも。
透過率による見え方のアラ
あ、4k環境だとちょっと不明です。もしかしたらあまり気にならないかも。少なくとも2Kは無理。

目が透過できない

既にお気づきかもですが、目が透過できていません。ただしこれはNanako限定問題かもです。表情モーフによる目の処理が特殊な為、多分それ起因な気が。
普通の「目玉」であればうまくいきそうですが、Nanako以外の頭部assetを今回確認してないので、ダメだったらすいません。


実はNanakoは顔も本来だと透過出来ず、ちょっと強引に処理してます。
目も同じ方法で透過可能だと思いますが、
多分見た目が破綻すると思うので、このままにしています。
まあ目だけクッキリしてるのもアリな気もw

一部の表情で目と睫毛、眉が合わなくなる

同じく、こちらもNanako限定。ジト目とウィンク時に、標準の目と被ってしまいます。
まあこれ位ならいいか、と思ってることと、対策を今の所思いつけてませぬ。
透過中の目の問題
眉毛もたまに、ガンダムWのドロシーみたいに4本化することが。これは多分直せそうですが、あまり目立たないので現状保留。
あ、目に縦線が入ってるように見えるのは、触覚な前髪です・・w
紛らわしいですが、お気になさらず。

糸目のニッコリ顔は、壊滅的に目が被りますが、こちらは対策可能(スマートではないけど)。
対策済の目被り

いずれも透過エフェクト中のみの問題なので、通常時の顔には影響ありません。


透過エフェクトの作成

ではバニラのMagic Effectを流用して、透過エフェクトを作っていくことに。

※ちょっと文章量が非常に多くなってしまう為、今回はベース部分かつエフェクト(Magic Effect)のみの説明に限定させて頂きたく。Nanako対応は次回やります。
実際に使うには、Magic Effectを括ったObject Effectを、装備なりモジュールなりにくっつける必要があります。
今回参考に使うバニラのMagic Effectのリファレンスを参照すれば、わかると思います。時間があれば、おまけ記事も作るかも?

Magic Effectの新設

バニラのMagic Effect000976E0を流用します。Chameleonなやつですね。スクリプト”PAStealthSoundScript.PSC”も流用するので、好きな名前で複製しておいてください。
エフェクトとスクリプトの元ネタ

流用して新設したMagic Effectです。CKでコンパイルした後に、この形になってればOKです。
新設エフェクト
透過率はPropertyにしなくても良いですが、再コンパイル無しで透過率を変更できる為(FO4Editで書き換えるだけ)、便利です。QuestスクリプトではないのでMCMには登録できないかも?
ちなみにSpellEffectImodPlayerOnlyを削除してるのは、単純に僕の好みです。ステルス起動時に画面がモノクロっぽくなるアレ。個人的にあまり好きではないので、外してしまいました。


流用元のスクリプトであるPAStealthSoundScript.pexですが、透明化時の音を制御しているだけです。透明化エフェクトを制御してるのはArchetypeで、この設定が”Chameleon”だと透明化が発動するようです。ハードコーディングされててこれを直接いじるのは無理ぽいのかも?
カメレオン削除
今回はスクリプトで透明化したいので、Archetypeを”Chameleon"から”Script"へ変更。

スクリプトを作成

Magic Effectに括るスクリプトを作ります。といってもベースはとっても簡単シンプル。

流用元スクリプトの確認

PAStealthSoundScript.psc”です。前述の通り、起動&解除音の制御してるだけ。

Scriptname PAStealthSoundScript extends activemagiceffect

Sound Property OBJArmorStealthActivate Auto Const Mandatory
Sound Property OBJArmorStealthDeactivate Auto Const Mandatory

Event OnEffectStart(Actor akTarget, Actor akCaster) ;ステルス開始
OBJArmorStealthActivate.Play(akCaster) ;ステルス開始時のSE再生
EndEvent

Event OnEffectFinish(Actor akTarget, Actor akCaster) ;ステルス解除
OBJArmorStealthDeactivate.Play(akCaster) ;ステルス解除時のSE再生
EndEvent

ここのSE再生の所に透過設定を入れれば、なんか動きそうな気しますよね!?

透過処理の追加

てな訳でぶっこみます。オレンジ色の所が追加分です。


Scriptname PAStealthSoundScriptZIP2 extends activemagiceffect

Sound Property OBJArmorStealthActivate Auto Const Mandatory
Sound Property OBJArmorStealthDeactivate Auto Const Mandatory
float property fAlphaTr = 0.25 Auto ;透過率のproperty宣言(75%透ける)

Event OnEffectStart(Actor akTarget, Actor akCaster) ;ステルス開始
OBJArmorStealthActivate.Play(akCaster) ;ステルス開始時のSE再生
if(Game.GetPlayer() == akTarget)
akTarget.SetAlpha(fAlphaTr, abFade = true) ;透過開始(25%)
EndIf


EndEvent

Event OnEffectFinish(Actor akTarget, Actor akCaster) ;ステルス終了
OBJArmorStealthDeactivate.Play(akCaster) ;ステルス終了時のSE再生
if(Game.GetPlayer() == akTarget)
akTarget.SetAlpha(1.0, abFade = true) ;透過終了
EndIf

EndEvent

透過スクリプトの動作確認

とりあえず、顔以外は想定通りに動いてるかと思います(通常の頭部assetなら、この時点でうまくいってるかも)。
暫定透過スクリプト

髪(hair_line含む)が透過しない時は、MaterialファイルのDecalのチェックを外すと透過すると思います。
髪のDecal解除
ただしDecalを外すことで不具合のでる髪もあるかもなので、その場合は次回に解説する方法で対処してみてください。
(僕は試してないですが、多分髪もうまくいく筈!)


まあ50%までなら、装備でごまかせそうならこれでも行けるかも・・?25%はさすがに無理クサイ感。直した方がいいですぬ。
透過率の比較
次回、Nanakoの顔をちゃんと透過するように修正します。前述の通り完璧ではないんですが、まあそれなりには。
SS撮影は済んでるので、はやめにアップできるとは思います。
以上、おしまいです!

Stable Diffusionさんが出力したガービーでござる。どうしても髭を描きたいラシイw。
イケメンガービー

 

Copyright © 2015 Fallout Hakoniwa DIY All rights reserved .

S.kutsumiya@gmail.com