水泡に帰す
気合を入れてゲーム開発をしていたのに、うっかりシーンをセーブすることを忘れて三時間の苦労が水の泡となった皆さんこんにちは。
また同じ作業を同じ時間だけしなきゃいけないと考えると全くモチベーションが上がりません。
あと、Kingdom of AmalurのPS4リマスター版を購入しました。難易度選択が「イージー → ノーマル → 困難 → ベリーハード」なのがツボです。
まぁ、UIの翻訳とロード時間以外は神ゲーなんですがストーリーはちっともわかりません。
タイトル画面を修正
そんなこんなで週末はゲーム本編を作るのが億劫になったので、気分転換も兼ねてタイトル画面の変更を行っていました。
変更前はunity1weekに間に合わせるために適当に作ったので非常にシンプルな画面でした。
こんな感じ。白地にタイトル文字だけ
これだけは味気ないのでアセットストアから画面全体に光子が散らばるようなパーティクルのアセットを購入。
これをベースにして白の背景に黒い光子が漂うような感じに変更しようと挑んだわけです。
これがベースとなったアセットのパーティクル
パーティクルの色を変える
パーティクルの色変える場合、ParticleSystemのstartColorを変える、加えて、colorOverLifeTimeを使っていれば、そちらも変えればよいだけなので簡単に実装できる、と思ったのですが・・・
んー、全然見えない・・・
試しにパーティクルのTextureの方も色を黒に変更してみても同じ状態で、光子が背景の白に溶け込んで全く見えません。
この画像を
黒に変更してもダメ
調べてみるとParticleのRenderingModeも変更する必要があったようです
RenderingMode
RenderingModeとは文字通り3Dモデルのメッシュや2Dのイメージなどをレンダリングするモードの事で、MaterialのShaderの設定にあります。
当該のパーティクルは「Particles/Standard Surface」のシェーダーを使っており、このRenderingModeが「Additive」となっていました。
■Additive
マテリアルのピクセルを背景のピクセルへ追加して描画するモードのようで、暗い背景の中で光輝くような表現をしたい場合に使用するため、重ねれば重ねるほど白へ近づくらしい。そりゃ今回のような白背景だと見えなくなるわ。
■CutOut
アルファテストによりアルファが「Alpha Cutoff」の値より小さい場所が完全に描画されなくなる。つまり半透明の領域がなくてテクスチャが100%見えるか見えないかのどちらかになる。
穴や細かいギザギザがあるようなものを表示するときに使うらしい。試しに今回のパーティクルをCutOutに変更してみると
なるほど、白か黒か、のような世界になる
■Transparent
ガラスみたいな半透明な物質に使用する。背景が透過しながらも光源からのハイライトや反射などは表示されるようなります。
Transparentに変更するとこんな感じです
パッと見ると問題ないように見えますが、よ~く見るとテクスチャの元画像の枠がうっすら見えます。
画像を拡大するとテクスチャの四角い枠が見えます(キャプチャ画像だと分かりづらいかも・・・)
■Fade
こちらも半透明を表現するときに使用しますが、Transparentと違いハイライトや反射などはなく、背景に溶け込むように表示されます。
今回の場合はこのModeを使うのが正解だったようです。
画像を拡大、Transparentと違いテクスチャの枠が見えません
タイトル画面完成
というわけで完成したタイトル画面がこちら
なんだかホラーっぽくなりました。全然ホラーゲームじゃないのに・・・(脱出ゲームです)