| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> Unity 对象池 -> 正文阅读 |
|
[游戏开发]Unity 对象池 |
public static Object Instantiate (Object original); public static Object Instantiate (Object original, Transform parent); public static Object Instantiate (Object original, Transform parent, bool instantiateInWorldSpace); public static Object Instantiate (Object original, Vector3 position, Quaternion rotation); public static Object Instantiate (Object original, Vector3 position, Quaternion rotation, Transform parent); 参数
像敌人、子弹、效果经常用到对象池形式对同一物体进行反复生成。 对象池用于减少内存开销,其原理就是把可能用到到的对象,先存在一个地方(池),要用的时候就调出来,不用就放回去。而不是要用的时候创建,不用的时候销毁。 定义一个对象,在初始化处进行地址缓存,在需要的时候生产即可(对父物体和位置角度有要求的话添加参数即可) 若需要进行后期管理 可以进行一次临时赋值。 当对象需要回收的时候可进行SetActive(false)或者Distroy(object) using UnityEngine; public class Example : MonoBehaviour { public GameObject projectile; public GameObject obj; void Start() {
} void CreatObj() {
} void DisableObj() {
} } 默认情况下,新对象的_父对象_ 为 null;它与原始对象不"同级”"。但是,仍可以使用重载方法设置父对象。如果指定了父对象但未指定位置和旋转,则使用原始对象的位置和旋转作为克隆对象的本地位置和旋转或是其世界位置和旋转(如果 克隆时 GameObject 的活动状态会维持,因此,如果原始对象处于非活动状态,则克隆对象也会在非活动状态下创建。此外,对于层级视图中的对象和所有子对象,其每个 Monobehaviour 和 Component 都会仅当调用此方法时它们在层级视图中处于活动状态时,才会调用其 Awake 和 OnEnable 方法。 注:该函数不仅可以克隆Object,也可以克隆Component。它们的属性设置与原始对象相同 这些方法不会创建与新实例化对象的预制件连接。可以使用 PrefabUtility.InstantiatePrefab 创建具有预制件连接的对象。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 23:43:37- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |