private void Update() { if (!_visible) { return; } var job = new WaveJob { Size = new int2(Dimensions.x, Dimensions.y), Time = Time.time, Vertices = _vertices, NoiseScale = NoiseScale, NoiseSize = NoiseSize, VerticesCur = _newVerticesJobArray, Gap = Gap, Period = Period, Speed = Speed, WaveSize = WaveSize, WrinkleFrequency = WrinkleFrequency, WrinkleSize = WrinkleSize, Position = transform.position, NoiseMovementVector = NoiseMovementVector }; job.Schedule(_vertices.Length, 1).Complete(); job.VerticesCur.CopyTo(_newVertices); _seaMesh.vertices = _newVertices; // Makes the lighting better :D _seaMesh.RecalculateNormals(); }
public override void Tick() { m_jobHandle.Complete(); m_job = new WaveJob(); m_job.ditances = m_distanceArray; m_job.time = Time.realtimeSinceStartup; m_job.speed = m_waveSpeed; m_jobHandle = m_job.Schedule(m_transformAccessArray); }
protected override JobHandle OnUpdate(JobHandle inputDeps) { var job = new WaveJob { positions = m_componentGroup.GetComponentDataArray <Position>(), waveDatas = m_componentGroup.GetComponentDataArray <PureWave>(), time = Time.realtimeSinceStartup }; var jobHandle = job.Schedule(m_componentGroup.CalculateLength(), 64, inputDeps); return(jobHandle); }
void Update() { m_LocalTime += Time.deltaTime * 2.0f; UpdateWaveSourcePositions(); var job = new WaveJob { vertices = m_Vertices, waveSourcePositions = m_WaveSourcePositions, time = m_LocalTime }; if (!useJobs) { for (int i = 0; i < m_Vertices.Length; i++) { job.Execute(i); } } else { job.Schedule(m_Vertices.Length, 16).Complete(); } m_Mesh.SetVertices(m_Vertices); m_Mesh.RecalculateNormals(); }