銃にライトを当てると発光する仕組み
どうも、てつじん(タカ)です!
今回は、僕のワールド「FPS LIGHT」の銃が、レーザーポインタを当てると発光する仕組みをお伝えします。
https://gyazo.com/0b92760e17d0eb08ced2530de4a58959
参考ワールド
今回のポイントになること、以下のこと。
1. Pixel Light Countという数値
2. ワールドにおけるライトと色
3. 銃とスポットライトの位置
4. スポットライトの色とIntensity(強度)
この4つの要素をいじるだけでできます。
1. Pixel Light Countという数値
まず、Unityの画面左上にある「Edit」から、Project Settingにいきます。
https://gyazo.com/a463415a532e524187f9f81fcd9876a6
そこにあるQualityを選択すると、Renderingという項目の一番上に「Pixel Light Count」があります。
このPixel Light Countを2にしてください(もしかしたら、デフォルトでなっているかもしれません)
https://gyazo.com/201f8218905c92fcfaaf892434d01174
2. ワールドにおけるライトと色
そうしたら、ワールドにおけるライトを調整します。
Directional Lightがワールドにある場合は、そのままでOKです。色が白であることを確認してください。
もし無しにした場合は、ワールド全体に何かしらのライト(Spot Lightなど)があたるようにしてください。これも白色のほうが良いです。
3. 銃とスポットライトの位置
次に、銃にレーザーポインタをつけます。これにはスポットライトを使ってこうやります。
スポットライトを作り、これをHierarchyの銃の中に入れる(親子関係にする)
https://gyazo.com/5f251feccc2a396bb0fd408bd145d65f
銃口の先端より、ちょっと手前側にスポットライトを設置する。(ここはアセットによって数値が変わるかも。僕と同じアセットなら、以下の写真のPositionの数値がいいかも。) スポットライトのSpot Angleを2にする。(これでレーザーポインタみたいになります。)
4. スポットライトの色とIntensity(強度)
そして、スポットライトの色と強度を調整します。
赤色: FF1300 (R255、G19, B0)Intensity 23.3
https://gyazo.com/f6c2fc0766a28492e402f18fdb4608ac
https://gyazo.com/d954919a236aceb8218dd7ce59810e4f
青色: 007DFF(R0、G125 B255)Intensity 20
https://gyazo.com/36a1c1adbc4c4af81a3e41b129e928a1
https://gyazo.com/43072552f640451c58286ffc7303e5a3
これで、完了です。
スポットライトを使ったFPSの注意点
①スポットライトは、すべてのオブジェクトを突き抜けます。なので、自分のワールドのサイズなどに合わせ、スポットライトの距離(Range)を調節してください。僕の場合は15にしてあります。
②オブジェクトのシェーダーによっては、スマホ環境だとレーザーポインタが反映されません、実際、僕のワールドでは、ここのアセットのシェーダーを使っているせいで一部反映されません。
③至近距離すぎると、相手の銃が発光しません。あしからず!
④右側から光を当てられると、気付きにくいのが難点です。
そもそもなんで発光する?
Pixel Light Countの数値が関係しています。この数値は、そのワールドが1つのオブジェクトに反映できるライトの数を表しています。数値が2なら、2までしか反映されません。
この設定の場合3つのライトに当たります。
①Directional Light
②自分の銃のライト
③相手の銃のライト
すると、Pixel Light Countの数値を超えます。その場合、一番強い光の色に発光するみたいです。
銃のライトを、自分の銃に少しかぶるようにしたのはこのためです。
試しにこの数値を上げると、発光しなくなります。
青と赤で、Intensityが違うのはなんで?
同じ数値にすると、青が発光しにくくなります。赤23.3と青20だと、2つとも大体同じ距離で発光してくれます。
なんで、ワールドのライトは白にする必要があるの?
色の入ったライトを使うと、赤と青の発光のバランスが崩れます。別の色のライトが反映されて、どちらかの色が発光しにくくなるのです。
もし色入りのライトを使うなら、レーザーポインタの色を調整すると良いです。
最後に
もしかしたら、この設定よりも良い設定があるかもしれません。興味ある方は探してみてください!