35. アクタの制御(ライトの明るさ)

目的

ここではアクタの1つであるライトの明るさをブループリントによって制御する方法を学ぶ.

説明

ポイントライトをだんだん明るくする

ここでは,aキーを押すとポイントライトがだんだん明るくなるという例を通してポイントライトの明るさの制御方法を説明する.

最初明るさを0にする

ポイントライト(ここではPointLightという名前とする)を作成する.前回は詳細パネルのトランスフォームでPointLightをステイショナリーにしたが,今回はプレイ開始直後にブループリントからステイショナリーにし,明るさを0にする.PointLightをステイショナリーにするにはSetMobilityノードを,明るさを0にするにはSetIntensityノードを使用する.また,明るさはfloat型の変数Intensityに格納しており,明るさの値を確認するためにPrintStringで表示している.

だんだん明るくする

aキーを押すと変数Intensityの値を10だけ大きくし,SetIntensityノードでPointLightの明るさを変更し,明るさの値を確認するためにPrintStringノードで表示する.また,Delayノードを使用し,1秒間隔で値を変更することを繰り返す.

課題

以下の新規ブループリントプロジェクトを作り,課題を行え.

  • ファーストパーソン
  • デスクトップ/コンソール
  • ハイエンド
  • スターターコンテンツ有り

設計図

課題0

設計図の通りに壁と床と部屋を作れ.

課題1

全ての部屋にテーブルと椅子とポイントライトを配置せよ.

課題2

aキーを押すと部屋Aのポイントライトがだんだん明るくなるようにせよ.

課題3

bキーを押すと部屋Bのポイントライトがだんだん暗くなるようにせよ.

課題4

cキーを押す度に部屋Cのポイントライトが明るくなり,dキーを押す度に暗くなるようにせよ.

課題5

部屋Dに入る度にポイントライトが明るくなるようにせよ.

課題6

部屋Eから出る度にポイントライトが暗くなるように示せよ.

課題7

部屋Fのテーブルに触れる度にポイントライトが明るくなるようにせよ.

課題8

部屋Gの奥の壁に触れる度にポイントライトが暗くなるようにせよ.

課題9

部屋Hのテーブルに触れる度にポイントライトが明るくなり,奥の壁に触れる度に暗くなるようにせよ.