private void UpdateVisualProperties(Particle particle, ParticleValues values) { particle.LayerDepth = particle.AgeInFrames / (float)values.AgeInFrames; particle.Scale = values.Scale[particle.AgeInFrames] + particle.PengInput * _scaleInputScale; particle.Alpha = values.Alpha[particle.AgeInFrames] + particle.PengInput * _alphaInputScale; }
private void UpdatePhysicalProperties(Particle particle, ParticleValues values) { var acceleration = values.Acceleration[particle.AgeInFrames] + particle.PengInput * _accelerationInputScale; var rotationSpeed = values.RotationSpeed[particle.AgeInFrames] + particle.PengInput * _rotationSpeedInputScale; particle.Pos += particle.Move * _elapsedSeconds; particle.Move += particle.DirectionVector * acceleration * _elapsedSeconds; particle.Rotation += rotationSpeed * _elapsedSeconds; particle.Move *= _dragMultiplier; }