当前位置:   article > 正文

Unity,C#,模拟面试题以及答案_unity c# 面试题

unity c# 面试题

问题一:  装箱和拆箱是指什么?

 

问题二: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

  1. Mono: Mono 是一个开源的跨平台实现 .NET Framework 的项目。在过去,Unity 使用 Mono 作为默认的脚本运行时环境。Mono 提供了在不同平台上运行 C# 程序的能力,并为 Unity 游戏引擎提供了脚本编译器和运行库。它在多个平台上运行良好,但在某些情况下可能会有性能和内存管理方面的限制。

  2. IL2CPP: IL2CPP(Intermediate Language to C++)是 Unity 引擎引入的一种脚本编译器和运行时环境。它将 C# 或其他脚本语言编写的脚本代码编译为 C++ 代码,并生成可在目标平台上直接运行的可执行文件。IL2CPP 提供了更好的性能和内存效率,同时还增加了游戏的安全性和发布的灵活性。

  3. 总结: 从 Unity 2018.1 版本开始,IL2CPP 成为 Unity 的默认脚本编译器和运行时环境。它在性能和安全性方面提供了显著的改进。但是,在某些情况下,Mono 仍然可以使用,并且适用于特定需求的项目。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/536152
推荐阅读
相关标签
  

闽ICP备14008679号