-2
GameObjectがスプライトの下に来たときにアクションを実行する単純なルーチンを作成しています。私は境界を使ってスプライトの寸法を取得する方法を考え出しましたが、スプライトの底がどこにあるかを計算すると、予想よりも小さい数値が返されます。なぜUnityのスプライトの下の位置が間違っているのですか?
次のように私の方法は、(スプライトの位置、マイナス境界のサイズ(半値幅)は、私のスプライトの下を与えるべき?)である:
public class FooBehaviour : MonoBehaviour
{
public SpriteRenderer ChildSprite;
void Start()
{
float bottomEdgeInLocalSpace =
ChildSprite.gameObject.transform.localPosition.y - ChildSprite.bounds.extents.y;
}
}
は、あなたがどのように誰もが判断できも...やるべきものです'1'のコード行しか投稿していないときにあなたの計算に関して間違っているところがあります。 – MethodMan
編集:気にしないでください、ピボットポイントがメッシュ上にあります。 –
@MartinMazzaDawson transform.positionはオブジェクトの中心だけを与えませんか?私は、スプライト自体の非常に下端の位置を計算するために探しています。 – TVOHM