プレイヤーが日陰にいるかどうかの判定方法!

レベル内にある

「Light Source」を選択します。

f:id:Free_Gamer:20190815024836p:plain

「Light Source」を選択した状態で

「ブループリント/スクリプトを追加」をクリックします。

f:id:Free_Gamer:20190815025112p:plain

以下のような画面が出てくるので

「BP_Light_Source」をいう名前で

ブループリントを作成します。

f:id:Free_Gamer:20190815025338p:plain

 

 

作成された「BP_Light_Source」を開きます。

f:id:Free_Gamer:20190815025534p:plain

イベントグラフに以下の処理を作成します。

 

f:id:Free_Gamer:20190815031459p:plain
毎フレームライントレースを2つ飛ばしています。

トレース=太陽の紫外線といったところです。

 

プレイヤーの頭の位置から

自身(BP_Light_Source)の正面方向×「-100000」の位置まで

トレースを飛ばしています。

f:id:Free_Gamer:20190815030437p:plain

 

プレイヤーの脚の位置から

自身(BP_Light_Source)の正面方向×「-100000」の位置まで

トレースを飛ばしています。

f:id:Free_Gamer:20190815030612p:plain

 

2つのトレースが障害物にヒットしていればTrue。

プレイヤーに太陽の光がほぼ完全に当たっていないと判定される。

2つのうち1つでもトレースが障害物にヒットしていなければFalse。

プレイヤーに太陽の光が当たっていると判定される。

f:id:Free_Gamer:20190815031742p:plain

 

 

レベル内に障害物を何個か置いて

f:id:Free_Gamer:20190815032607p:plain

 

実際にプレイしてみましょう!

youtu.be

 

画面左上を見れば分かりますが

太陽の光が完全に当たってたり

少しでも当たっていれば「熱い!」と表示され

 

太陽の光がほぼ完全に当たっていないときは「涼しい~」と

表示されています。

 

 

ちょっとマニアックな内容でした~。

 

 

それではまた!^^ノシ