Unity中new() 和实例化有什么区别?

一. 层面上的不同

new()是C#语言层面上的事情,而实例化是unity引擎的一个api

二.内存分配上的不同

new()本质上是给一个类的实例对象申请分配一块内存,调用这个类的构造函数,然后返回这个对象的引用。

unity的实例化是GameObject.Instantiate()这个函数复制某个已存在的GameObject,可能是场景可能是prefab,复制其Transfrom,组件,以及子物体,然后加入到这个场景中。所以可以说这个过程是一个深拷贝。

三.生命周期的管理

new()出来的对象是受到GC机制管理的。

unity实例化出来的对象则是受unity引擎管理的

相关推荐
Avalon7123 分钟前
Unity3D响应式渲染UI框架UniVue
游戏·ui·unity·c#·游戏引擎
风酥糖1 小时前
Godot游戏练习01-第33节-新增会爆炸的敌人
游戏·游戏引擎·godot
ellis19702 小时前
Unity UI性能优化一之插件【Unity UI Optimization Tool】
unity·性能优化
Zik----4 小时前
Unity基础学习笔记(B站视频课整理)
unity·vr
郑寿昌14 小时前
UE5与UE6在Lumen和Nanite的差异解析
游戏引擎·图形渲染·着色器
郝学胜-神的一滴18 小时前
罗德里格斯旋转公式(Rodrigues‘ Rotation Formula)完整推导
c++·unity·godot·图形渲染·three.js·unreal
郑寿昌1 天前
UE6 AI加速Lumen光线追踪降噪技术解析
人工智能·游戏引擎
晴夏。1 天前
GAS下的网络同步的全面分析【超级全面】
游戏引擎·ue·gas·网络同步
田鸡_1 天前
Unity新输入系统(Input System)教学篇
unity·游戏引擎·游戏程序
EQ-雪梨蛋花汤1 天前
【Unity笔记】Unity 音游模板与免费资源:高效构建节奏游戏开发全指南
笔记·unity·游戏引擎