新規トピックを開始
回答済み

Fogの色を動的に変更したい

UnityのデフォルトのFogを利用してSTYLYのシーンを構築しています。Fogの色を動的に変更したいのですが、STYLYで実現するには、どのようしたらよいでしょうか?


TimelineでFogの色を変更する方法について調べてみたのですが、デフォルトのFogはC#を使用しないと変更できないという情報が多く、STYLYではC#を使えないようので方法を考えあぐねています。

Playmakerは持っていないのですが、Playmakerを使用すればできるのでしょうか?アドバイスをいただけますと幸いです。



最も良い回答

ご質問ありがとうございます。


Fogの色変更については、PlayMakerにある「Set Fog Color」というアクションを使うことで動的に Fogの色を変えられます。


簡単なデモですが、以下のシーンでfogの色が変わる様子が確認できます。
(8秒ほどでfogの色が赤に変わります)
https://gallery.styly.cc/scene/47a3b95c-d052-49c7-8d7a-1a26ac72339a


PlayMakerの使い方は、STYLY ManualやMagazineに解説があるため、ぜひご参照いただければと思います。


image


コメント数: 5Sorted by 古い順

回答

ご質問ありがとうございます。


Fogの色変更については、PlayMakerにある「Set Fog Color」というアクションを使うことで動的に Fogの色を変えられます。


簡単なデモですが、以下のシーンでfogの色が変わる様子が確認できます。
(8秒ほどでfogの色が赤に変わります)
https://gallery.styly.cc/scene/47a3b95c-d052-49c7-8d7a-1a26ac72339a


PlayMakerの使い方は、STYLY ManualやMagazineに解説があるため、ぜひご参照いただければと思います。


image



1人 これを「好き」

Playmakerで実現可能なのですね。サンプルもありがとうございます!

Playmakerを購入して実行してみました。フォグの色の変更は上手く行きました!

関連しての質問なのですが、フォグの色をPlaymakerの変数にして、TimelineでAnimationを付けたいと考えております。このようなことは可能でしょうか?


PlaymakerFSMの変数をInputs, Outputsにチェックを入れてエディタにExposeしてみましたが、そのままではTimelineにAddKeyはできないようで困っております…

ご質問ありがとうございます。


質問者様のやりたいこととしては

・TimeLineに合わせてFogの色を徐々に変更したい

というイメージでしょうか。


TimeLineからPlaymakerの変数にアクセスすることは現状難しいかと思われます。


その場合はTimeLineからPlayMakerの変数を管理するのではなく、PlayMakerでTimeLineを管理する方法であれば実装可能かと思います。


PlayMaker内の「Call Method」アクションにPlayableコンポーネントを指定することで、PlayやPoseといったメソッドをPlayMakerで呼び出すことができます。

こちらの動画に詳しい説明があります。


 Fogの変化は「Set Fog Color」で指定する色を変数にし、その変数を「Set Color RGBA」,「Float Interpolate」を使って変更することで実装できます。
(以下の画像は、10秒でFogの色が赤になる実装例です)

image



もし他に質問があれば、またご連絡ください。

なるほど、こうした方法があるのですね!
とても助かりました。ありがとうございます。

ログイン または 登録 コメント投稿のため