private void SetupPhysical() { if (!TryGetComponent(out _rb)) { _rb = gameObject.AddComponent <Rigidbody>(); Debug.LogError($"Buoyancy:Object \"{name}\" had no Rigidbody. Rigidbody has been added."); } _rb.centerOfMass = centerOfMass + _voxelBounds.center; _baseDrag = _rb.drag; _baseAngularDrag = _rb.angularDrag; _velocity = new float3[_voxels.Length]; var archimedesForceMagnitude = WaterDensity * Mathf.Abs(Physics.gravity.y) * volume; _localArchimedesForce = new float3(0, archimedesForceMagnitude, 0) / _voxels.Length; LocalToWorldJob.SetupJob(_guid, _voxels, ref _samplePoints); }