empty.AddComponent<MeshFilter>();
empty.GetComponent<MeshFilter>() = Data_Map.worldObjects[i].meshFilter;
如何将组件等同于变量?这段代码会抛出错误,因为左侧不是变量。
empty.AddComponent<MeshFilter>();
empty.GetComponent<MeshFilter>() = Data_Map.worldObjects[i].meshFilter;
如何将组件等同于变量?这段代码会抛出错误,因为左侧不是变量。
没办法,这违反了Unity中组件的思想。不能手动创建组件。创建组件对象的唯一方法是
AddComponent<T>()
. 之后,无论是从代码的角度还是从意识形态的角度来看,组件都与对象紧密相连。它可以配置或删除,但不能更改为另一个。不,没有父对象,组件就不能存在。特别是考虑到先验组件不能与对象隔离创建,你怎么可能形成一个数组
Data_Map.worldObjects
。从上下文来看,您希望在某些条件下切换网格。存储一组网格并将它们更改为过滤器更容易:
empty.GetComponent<MeshFilter>().mesh = Data_Map.worldMeshes[i]