2017-11-03 13 views
2

今日私はプロジェクトを2017.2.0f3(2017.1.1f1で作業していた)にアップデートしました。Unity:Collider.bounds.extends.xは最新の更新から半径を返します - なぜですか?

この...

offsetX = objectCollider.bounds.extents.x; 

は...私のSphereColliderのワールド空間で境界を返すために使用され、今では唯一のコンポーネントの半径を返します。ドキュメンテーションは、それが世界の世界の境界を返すべきだと言います。

GameObject全体が再スケーリングされている間、私のSphereColliderの半径は常に同じです。パッチの前に適切な値を返すために使用したすべてのメソッドは、たとえば、inspecorで設定できる半径を返します。

これはバグですか、最後のパッチから変更されましたか?私はこの1つで少し失われています。

答えて

0

これは最近変更されていません。 boundsプロパティがColliderの場合、文書化されているように、ワールドスペースにBoundsオブジェクトが戻されます。 Boundsオブジェクトからcenterプロパティを使用してワールドスペースVector3の位置を取得できますが、その値がローカルスペースにあるようにそのサイズに関する情報を与えるextentsプロパティがあります。あなたはコライダーさんの拘束ワールド空間情報利用のx成分たい場合

objectCollider.bounds.center.x; 

を使用すると、コライダーの境界のワールド空間座標を希望する場合は、サイズとそのcenterプロパティを組み合わせる必要がありますextentsプロパティから取得した情報

+0

はい、*。*。centerはワールドスペース内の位置を返しますが、ワールドスペース内のコライダーのエクステンションまたはサイズが必要です。これは、以前のパッチで使用されていたようには動作しません。私はちょうど半径(ローカルスペースでのサイズ)を得ます。 – Pft

+0

@Pft 'extents'オブジェクトは単なるサイズです。それを使用して、それを 'center'プロパティと組み合わせてワールド空間座標を得ることができます。これはUnityでは決して変更されていません。 – Foggzie

関連する問題