1. 時間経過による雲の変化
Cloudsインスタンスを活用することで手軽に雲の生成が可能です。本記事では、ゲーム内での時間の流れに合わせて、雲の量を自動的に増減させる方法を紹介します。
2. 使用する機能
・Clouds
3. 手順
まず、Roblox Studioを起動します。今回は、テンプレート「Baseplate」を使用します。
デフォルトの空を確認してみると、雲一つありません。
ここに、Cloudsを追加して、雲を発生させます。
CloudsをTerrainの子要素に追加します。
Cloudsを追加することで、空にちらほら雲が現れました。
CloudsのプロパティにあるCoverとDensityを時間経過ごとに変更することで、雲を動的に変化させていきます。
Cover:雲の量を調整する値
Density:雲の密度を調整する値
WorkSpaceの子要素にScriptを追加して、以下のコードを記入します。
local terrain = workspace.Terrain
local clouds = terrain:FindFirstChild("Clouds")
local initialDensity = clouds.Density
local initialCover = clouds.Cover
local timePassed = 0
while true do
wait(3)
timePassed = timePassed + 0.1
-- Densityをサイン波で変動させる
clouds.Density = initialDensity + math.sin(timePassed) * 0.5
-- Coverも同様にサイン波で変動させる
clouds.Cover = initialCover + math.sin(timePassed) * 0.5
end
上記のコードは、
1. terrainとclouds変数で、ゲーム内のTerrainとCloudsインスタンスを取得
2. 雲の初期のDensityとCoverの値をそれぞれinitialDensityとinitialCoverに保存
3. 時間経過を追跡する変数timePassedを用意
4. 無限ループ内で、毎3秒ごとに以下の処理を実行
5. timePassedを0.1増加
6. サイン波(math.sin(timePassed))を使用して、雲のDensityとCoverを動的に変化
このコードにより、雲の密度とカバーが周期的に変わり、ゲーム内で雲が動的に変化する効果を実現しています。
この状態でゲームをプレイしてみます。以下の動画のように、時間経過で雲が変化していれば正しく動作しています。
本記事では、Cloudsインスタンスを使用して、ゲーム内での時間の経過に合わせて雲の量や密度を自動的に変化させる方法を解説しました。この知識を活用して、ゲームの空の表現をよりリアルかつ魅力的にすることができます。
コメント