前提・実現したいこと
Unityのtransform.positionで取得する位置ベクトルの小数点の精度を上げたい
前フレームのポジションと現フレームでのpotisionの差を計算する処理があるのですが
取得する位置ベクトルの小数点の精度が1桁となっているため、正しい計算ができていない状態です
精度の高い位置ベクトルの取得方法があれば教えてください
該当のソースコード
C#
1GameObject Target; 2Vector3 delta_position; 3Vector3 prePosition; 4~~前フレームで実行~~ 5prePosition = Target.transform.position; 6~~現フレームで実行~~ 7delta_position = Target.transform.position - prePosition;
発生している問題・エラーメッセージ
上記ソースコードの
delta_position = Target.transform.position - prePosition;
この部分で右辺1項と2項どちらも小数点1位までの精度で位置ベクトルを取得してしまっており
計算結果が不正になっています
補足情報(FW/ツールのバージョンなど)
Unity 2018.2.11f
一応考えられるのは、floatは7桁程度の精度なので、10万付近の座標になっている、でしょうか?
現在の情報だとわからないので、各座標の具体的な値を教えて下さい
(xxを想定していたが、yyになっている、のように)
それと、どの情報を見て不正と言っているのかも追記して下さい
回答1件
あなたの回答
tips
プレビュー