unity3d 实例化预制件
示例
有两种实例化预制件的方法:在设计时或运行时。
设计时间实例化
在设计时实例化预制件对于在视觉上放置同一对象的多个实例很有用(例如,在设计游戏关卡时放置树)。
要以视觉方式实例化预制件,请将其从项目视图拖到场景层次中。
如果要编写编辑器扩展,还可以实例化以编程方式调用的预制方法:PrefabUtility.InstantiatePrefab()
GameObjectgameObject=(GameObject)PrefabUtility.InstantiatePrefab(AssetDatabase.LoadAssetAtPath("Assets/MainCamera.prefab",typeof(GameObject)));
运行时实例化
在运行时实例化预制件对于根据某种逻辑(例如,每5秒生成一个敌人)创建对象的实例很有用。
要实例化预制件,您需要对预制件对象的引用。这可以通过publicGameObject在MonoBehaviour脚本中包含一个字段(并使用UnityEditor中的检查器设置其值)来完成:
public class SomeScript : MonoBehaviour {
public GameObject prefab;
}或通过将预制件放入Resource文件夹并使用Resources.Load:
GameObject prefab = Resources.Load("Assets/Resources/MainCamera");一旦有了对预制对象的引用,就可以使用Instantiate代码中任何地方的函数实例化它(例如,在创建多个对象的循环中):
GameObject gameObject = Instantiate<GameObject>(prefab, new Vector3(0,0,0), Quaternion.identity);
注意:预制术语在运行时不存在。
热门推荐
10 朋友新年祝福语大全 简短
11 新年祝福语简短大方兔年
12 搬新家礼物祝福语简短
13 同学见面花束祝福语简短
14 五一假期祝福语幽默简短
15 离职欢送敬酒祝福语简短
16 对学弟的祝福语简短
17 考老师辞职祝福语简短
18 祝福语驱散霉运的话简短