Unity3D Dots 批量创建实体

1.拿到EntityManager 和 GameObjectConversionSettings
2.通过GameObjectConversionUtility.ConvertGameObjectHierarchy 将需要转换为实体的预制体转换为Entity
3.将Entity Instantiate 到EntityManager 中
具体代码如下

public class ConvertToEntityFactory : MonoBehaviour
{
    private EntityManager mEntityManager = null;

    private GameObjectConversionSettings mSetting = null;
    [SerializeField]
    private GameObject _NeedConvertToEntityGameoObject;

    [SerializeField] private int sum;
    // Start is called before the first frame update
    void Start()
    {
        mEntityManager = World.DefaultGameObjectInjectionWorld.EntityManager;
        mSetting = GameObjectConversionSettings.FromWorld(World.DefaultGameObjectInjectionWorld, null);
        Entity needToEntity=   GameObjectConversionUtility.ConvertGameObjectHierarchy(_NeedConvertToEntityGameoObject, mSetting);
        for (int i = 0; i < sum; ++i)
        {
            Entity entity = mEntityManager.Instantiate(needToEntity);
            // 转换完成
        }
               World.DefaultGameObjectInjectionWorld.EntityManager.DestroyEntity(needToEntity);
    }

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值