TG9six 03a642d635 first push
first push
2025-09-06 17:17:39 +04:00

45 lines
1.0 KiB
C#

using UnityEngine;
public class PerlinNoiseScroller
{
#region Variables
PerlinNoiseData m_data;
Vector3 m_noiseOffset;
Vector3 m_noise;
#endregion
#region Properties
public Vector3 Noise => m_noise;
#endregion
#region Custom Methods
public PerlinNoiseScroller(PerlinNoiseData _data)
{
m_data = _data;
float _rand = 32f;
m_noiseOffset.x = Random.Range(0f, _rand);
m_noiseOffset.y = Random.Range(0f, _rand);
m_noiseOffset.z = Random.Range(0f, _rand);
}
public void UpdateNoise()
{
float _scrollOffset = Time.deltaTime * m_data.frequency;
m_noiseOffset.x += _scrollOffset;
m_noiseOffset.y += _scrollOffset;
m_noiseOffset.z += _scrollOffset;
m_noise.x = Mathf.PerlinNoise(m_noiseOffset.x, 0f);
m_noise.y = Mathf.PerlinNoise(m_noiseOffset.x, 1f);
m_noise.z = Mathf.PerlinNoise(m_noiseOffset.x, 2f);
m_noise -= Vector3.one * 0.5f;
m_noise *= m_data.amplitude;
}
#endregion
}