見出し画像

NoribenBeamLightの中から外を見やすくする改造例

VRミュージックフェス vol.1「くらげビート × ジョイラジ 」 にジビエーズとして出演しました
その中で歌ったオリソン「スーパーアイドルジビエーズ!」では演出をアバターに仕込んで出演しました。
みんな大好きNoribenLightBeamで派手派手に!

MV本編▶ https://www.youtube.com/watch?v=L-vLi1-nHTI

・・・したのはよかったのですが、実際にアバターに組み込んでみると問題発覚。
 ステージ上でビーム内にはいると外の視界がビーム色になってしまう!
(それはそうだ)

ステージの上からスポットライトを浴びると・・・


視界がライトの色に・・・


シェーダー改造

というわけでNoribenLightBeamを改造してみました。
具体的には視点(カメラ)から一定距離以内では表示されないようにしました。
これでライトに照らされている演者からはライトに穴があいて外がクリアに見えます。

NoribenLightBeamの入手

こちらから購入できます。

改造方法

1.シェーダーを開く

Unityにインポート後「NoribenLightBeam→Shader」フォルダ内の「BeamLightBooth」を開いてください。
VisualStudioが起動してシェーダーのソースが開きます。

プロジェクト内でのシェーダーの位置

2. シェーダーのコードを改変

コード中から「fixed4 frag (v2f i) : SV_Target 」を探して以下のようにコードを追加してください。

fixed4 frag (v2f i) : SV_Target
{
	// カメラとの距離が2m以内の場合は表示しない
	float dist = distance(_WorldSpaceCameraPos , i.worldPos);
	if ( dist < 2 ) {
		discard;
	}

追加された部分は以下のとおりです

// カメラとの距離が2m以内の場合は表示しない
float dist = distance(_WorldSpaceCameraPos , i.worldPos);
if ( dist < 2 ) {
	discard;
}

これだけです!
「dist < 2」の「2」の部分がビームが見えなくなる距離です。
距離を変えるときはここを書き換えるかパラメーターにしてみましょう。

■ 書いた人:ドコカノうさぎについて

 みんなで暮らし、遊び、創作ができるVRが大好き!テクノロジーをスパイスにかわいくなりたい技術系VTuber。
 VIVE公式アンバサダー、バーチャルマーケット公認配信などVRイベントやメタバースの魅力を伝える活動中。
 VRワールド制作、VRアプリ・ゲーム開発(Unity)、Blender、VRライブカメラマンもお任せ!
 食べられるアイドルユニット「ジビエーズ」としても活動。オリソンは4曲リリースありますっ

▶YouTubeチャンネル:ドコカノうさぎちゃんねるhttps://www.youtube.com/channel/UC-ONPiTE9sMKUQjrRIN94Xg
▶Twitter: https://twitter.com/patsupyon


この記事が気に入ったらサポートをしてみませんか?