【问题标题】:how to spawn items in map circle in unity 3d如何在统一3d的地图圈中生成项目
【发布时间】:2022-07-27 16:06:19
【问题描述】:

我写了一张脚本卡片来生成硬币项目。但是,只有当地图是正方形时,它才会正确生成。我有一张圆形地图,但它似乎生成和方形地图一样,这真的不起作用,因为它会导致硬币在地图之外生成。有任何想法的人请帮助我

【问题讨论】:

    标签: unity3d


    【解决方案1】:
    [SerializeField] GameObject coinPrefab;
        [SerializeField] int coinsToSpawnCount;
        private void Start()
        {
            SpawnCoins();
    
        }
    
    
        public void SpawnCoins()
        {
            for (int i = 0; i < coinsToSpawnCount; i++)
            {
                GameObject temp = Instantiate(coinPrefab, transform);
                temp.transform.position = GetRandomPointInCollider(GetComponent<Collider>());
            }
    
        }
    
       
     
        Vector3 GetRandomPointInCollider(Collider collider)
        {
            Vector3 point = new Vector3(
                Random.Range(collider.bounds.min.x, collider.bounds.max.x),
                Random.Range(collider.bounds.min.y, collider.bounds.max.y),
                Random.Range(collider.bounds.min.z, collider.bounds.max.z)
                );
            if (point != collider.ClosestPoint(point))
            {
                point = GetRandomPointInCollider(collider);
            }
            point.y = 1f;
            return point;
        }
    

    【讨论】:

    • 这是我的代码
    猜你喜欢
    • 2011-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 1970-01-01
    相关资源
    最近更新 更多