赞
踩
问题一: 装箱和拆箱是指什么?
问题二:Unity中点乘和叉乘对于我们来说的作用是什么?
答案:
点乘作用
1.判断对象的方位
2.计算两向量之间的夹角
叉乘作用
1.获取一个平面的法向量
2.得到两向量之间的左右位置关系
问题三:Application.streamingAssetsPath 和 Application.persistentDataPath
两个路径有何区别?对于我们的意义是什么?答案:
Application.streamingAssetsPath 只读
Application.persistentDataPath 可读可写Application.streamingAssetsPath 适合放置一些默认2进制配置文件
Application.persistentDataPath 用于处理数据持久化,或作为热更新下载内容的存放目录,因为它可读可写
问题四:请简述Unity中协程的原理
答案:
Unity中的协同程序分为两部分
1.协程函数本体(迭代器函数)
2.协程调度器(协程管理器)
协程利用迭代器函数的分步执行的特点
加上
协程调度器对迭代器函数们进行统一管理
根据迭代器函数的返回值来决定下一次执行函数逻辑的时间点
从而实现逻辑分时分步执行的目的
问题五: Unity底层如何处理C#代码?
答案:
两种方案
Mono和IL2CPP
Mono: Mono 是一个开源的跨平台实现 .NET Framework 的项目。在过去,Unity 使用 Mono 作为默认的脚本运行时环境。Mono 提供了在不同平台上运行 C# 程序的能力,并为 Unity 游戏引擎提供了脚本编译器和运行库。它在多个平台上运行良好,但在某些情况下可能会有性能和内存管理方面的限制。
IL2CPP: IL2CPP(Intermediate Language to C++)是 Unity 引擎引入的一种脚本编译器和运行时环境。它将 C# 或其他脚本语言编写的脚本代码编译为 C++ 代码,并生成可在目标平台上直接运行的可执行文件。IL2CPP 提供了更好的性能和内存效率,同时还增加了游戏的安全性和发布的灵活性。
总结: 从 Unity 2018.1 版本开始,IL2CPP 成为 Unity 的默认脚本编译器和运行时环境。它在性能和安全性方面提供了显著的改进。但是,在某些情况下,Mono 仍然可以使用,并且适用于特定需求的项目。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。