unity3D里面的脚本编写是什么样的原理?运行起来是怎么样的呢
1个回答
展开全部
非常好的问题,这个涉及到引擎的脚本系统,我自己都没有完全弄清楚。你只需要知道unity脚本是基于组件的,引擎负责管理组件对象的生命周期,因此你在unity脚本中看到的Awake,Start,Update等方法都会由引擎所调用。
而脚本虽然是C#写的,但是会被mono编译成IL,然后目前unity可以选择IL2CPP,也就是说最终代码被编译为C++。这样的好处是mono的runtime是有缺点的,而且JIT本身是影响性能的。而且还有一个很重要的原因是unity本身是C++写的,直接编译成C++比较方便的调用引擎内部的函数。
而脚本虽然是C#写的,但是会被mono编译成IL,然后目前unity可以选择IL2CPP,也就是说最终代码被编译为C++。这样的好处是mono的runtime是有缺点的,而且JIT本身是影响性能的。而且还有一个很重要的原因是unity本身是C++写的,直接编译成C++比较方便的调用引擎内部的函数。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询