Unity

【Unity】メッシュモデルや3Dオブジェクトをフェードイン・フェードアウトさせる方法【スクリプトで徐々に消す】

Unityを使ってゲームや映像を作っていると、

3Dオブジェクトに、徐々に消えるエフェクトをつけたいと思ったことはないですか?

シーンのフェードインフェードアウトによる遷移は、

簡単に実装できるように、githubで公開されていたりしますが、

オブジェクトに関しては、パッと出てこなかったので、

自分への備忘録もかねて、解説したいと思います。

本記事の完成イメージ↓

Sphereのフェードインとフェードアウトを制御することができます。

1.オブジェクトやマテリアルの設定

シーンにSphereオブジェクトを配置します。

Sphereには、何かしらのMaterialをアタッチして、色をつけてください。

これによって、Colorを制御できるようになります。

※画像では、見栄えが良いように、Cubeという名の地面も配置していますが、特に必要ありません^^;

そして、MaterialのRendering Modeを、「Opaque」から「Fade」に変更します。

※transparentだと、ガラス細工のように濁りが残るため

Color(白くなってるとこ)をクリックして、A(alpha:不透明度)を1にしておきます。

※これが0になると、透明となり、描画されなくなります。

これで材料は整いました!

2.フェードイン・フェードアウトさせるスクリプト

配置したSphereオブジェクトのMaterialカラー(A値)を制御するスクリプト作成します。

「Create」から「C#Script」を選び、次のようなScriptを作成して、Sphereにアタッチします。

このScriptをアタッチすると、
Inspectorに「Is Fade In」「Is Fade Out」というboolチェックボックスが現れます。

実行中に、これをクリックすることでフェードをさせることができます。
(初期のA値が1なので、フェードアウトから押す)

ちなみに、本スクリプトは、TAMA-LAB様のサイトを参考に作成しました。

Panelのフェードアウトによって、画面を徐々に暗転させる方法を、3Dオブジェクトに適用させました。

Rendererのコンポーネントにアクセスして、Materialのcolorと指定するところが異なります。

ここでは、チェックボックスより、各メソッドが呼ばれるようにしていますが、これを当たり判定やボタンのクリックによって呼ばれるようにすれば、ゲームでうまく機能するのではないでしょうか。

フェードイン・アウトを当たり判定で実行させる方法↓

【Unity】当たり判定で3Dオブジェクトをフェイドアウトさせる方法【当たり判定OnTriggerとboolを学ぶ】本記事は、3Dオブジェクトのフェードイン・フェードアウトをさせるスクリプトの実践編です。 3Dオブジェクトのフェードイン・フェード...

私を含め、Unity初心者の皆さん

ぜひぜひ参考にしてみてください^^

Unityのチュートリアルやエディターを日本語化する方法【英語に抵抗があっても大丈夫】Unityは、世界屈指のゲーム開発エンジンです。 ゲーム業界にとどまらず、XR技術によって、さまざまな事業を牽引する存在となるでし...
【Unity】プレイヤーキャラクターを動かす方法(矢印の方向に移動させるタイプ)【カメラ固定ゲーム向き】Unity初心者は、まず初めに ”プレイヤーキャラクターを動かしたい(操作したい)” と思うのが、世の常ではないでしょうか?...
ABOUT ME
いなも@システマライフハッカー
某有名健康食品メーカーに勤めながら、ロシアの武術”システマ”の訓練に精通。その後、システマの概念とスキルを軸に生きること、その普及活動に投身することを決意。 ”システマ”の概念より、過酷な現代社会を、スマートかつ快適に暮らせるようなノウハウを、ブログを通じて忖度なしで発信中~! 問い合わせはTwitterのDMで!(https://twitter.com/inamo002)

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA