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 仍然可以使用,并且适用于特定需求的项目。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值