0

我已经设法在不在屏幕上的实体上禁用动画。但是,我正在寻找一种更纯粹的基于数学的方法(而不是视口点技巧)。有人知道我怎样才能有效地“Jobify”这段代码吗?

public class VisibilitySystem : ComponentSystem
{
    protected override void OnUpdate()
    {
        var dt = Time.deltaTime;

        var cam = Camera.main;

        Entities.ForEach((ref IsVisible IsVisible, ref LocalToWorld LocalToWorld) =>
{
    Vector3 viewPos = cam.WorldToViewportPoint(LocalToWorld.Position);
    if (viewPos.x > 0 && viewPos.x < 1 && viewPos.y > 0 && viewPos.y < 1 && viewPos.z > 0)
    {
        IsVisible.Value = true;
    }
    else IsVisible.Value = false;
});
    }
}
4

0 回答 0