:Mathf.Approximatelyがtrueを返すが構造体の拡張メソッド
someVector.FixRounding(); //round vector's values to integers if the difference is 1 epsilon
float x = someVector.x; //still getting old value
public static void FixRounding(this Vector3 v)
{
if (Mathf.Approximately(v.x, Mathf.Round(v.x))) v.x = Mathf.Round(v.x);
if (Mathf.Approximately(v.y, Mathf.Round(v.y))) v.y = Mathf.Round(v.y);
if (Mathf.Approximately(v.z, Mathf.Round(v.z))) v.z = Mathf.Round(v.z);
}
FixRounding方法は、実際には、ベクトルの値を変更しません。
スクリーンショットには、既に丸められている可能性のある値が表示されます。だから、私は明示的にラウンドトリップ形式を使って文字列に変換するか、 'BitConverter.DoubleToInt64Bits'を使うことを提案しました。 –
@AlexeiLevenkov:今すぐ完了 - あなたのコメントを削除したいことがあります。 –