| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> 整理的Unity 面试题(有些没答案都是师兄在脑海里记录下来的)(二) -> 正文阅读 |
|
[游戏开发]整理的Unity 面试题(有些没答案都是师兄在脑海里记录下来的)(二) |
1、C#中的排序方式有哪些??选择排序、冒泡排序、快速排序、插入排序、希尔排序,归并排序。 2、C#和Lua的交互怎么实现?3、Lua的数据类型4、射线检测碰撞的原理是?射线是3D世界中的一个点向一个方向发射的一条无终点的线,在发射轨迹中与其他物体发生碰撞时,它将停止发射。 5、Lua有几种循环?Ipair和pair的区别。6、Unitya中,照相机的Clipping Plane的作用是什么?调整Near\Fare两个值时,应该注意什么?剪裁平面。从相机到开始渲染和停止渲染之间的距离。 7、Unity的ui怎么优化?8、请简述GC(垃圾回收)产生的原因,并描述如何避免?GC回收堆上的内存 避免:1、减少new产生对象的次数 2、使用公用的对象(对象) 3、将String换为StringBuilder 9、你塔防项目中遇到的最大问题是什么,怎么解决?10、移动相机动作在哪个函数里,为什么在这个函数里?LateUpdate,是所有的Update结束后才调用,比较适合用于命令脚本的执行。官网上的例子是摄像机的跟随,都是所有Update的操作完才进行摄像机的跟进,不然就有可能出现摄像机已经推进了,但是视角里还未有角色,所谓的空帧出现。 11、分数的四则运算(编程题)例如:输入? 1/8+3/8? 每个数字为1-9的整型,运算符左右为空格 输出 1/2 (要化简)(实现+-*/) 12、什么是渲染管道?是指在显示器上为了显示出图像而经过的一系列必要操作。渲染管道中的很多步骤,都要将几何物体从一个坐标系变换到另一个坐标系中去。主要步骤有: 本地坐标->视图坐标->背面裁剪->光照->裁剪->投影->视图变换->光栅化。 13、编程题一个M*N的矩阵,随机取K行,每一列中最多只有一个1(没时间记不清了) 14、如何优化内存?有很多种方式,例如: 1、压缩自带类库; 2、将暂时不用的以后还需要是使用的物体隐藏起来而不是直接Destry掉; 3、释放AssetBundle占用的资源; 4、降低模型的片面数,降低模型的骨骼数量,降低贴图的大小; 5、使用光照贴图,使用多层次细节(LOD),使用着色器(Shader),使用预设(Prefab); 6、代码中少产生临时变量。 15、不定项选择会出现的名词树的聚族索引,内存页,TCP报文,ACK,SYN,FIN...... 16、应用题(C#)? 一个角色有静止,攻击,跳跃,俯冲,闪避等几个动作,当不做任何操作时,角色播放静止动作。 1、设计一个抽象类表现角色的状态。 2、角色在静止时可以攻击,松开攻击键则攻击停止。 ? 角色按键可闪避,跳跃当处于跳跃状态时可进行俯冲, 3、攻击开始时生成一个攻击开始特效,攻击结束生成攻击结束特效,跳跃开始生成跳跃特效,俯冲结束生成俯冲结束音效。 (具体按键已经给了枚举变量,特效与音效的函数已给出) 4、如果在跳跃,俯冲,下蹲过程中可以攻击,并当攻击结束要回到之前的状态,请设计一个具体思路和数据结构。 17、动态加载资源的方式?它们之间的区别1、Resource.Load(); 2、AssetBundle 区别:resource的方式需要把所有资源全部打入安装包,这对游戏的分包发布(微端)和版本升级(patch)所以unity推荐的方式是不用它,都用bundle的方式替代,把资源达成几个小的bundle,用哪个就load哪个,这样还能分包发布和patch,但是在开发过程中,不可能没更新一个资源就打一次bundle,所以editor环境下可以使用assetdatabase来模拟,这通常需要我们封装一个dynamic resource的loader模块,在不同的环境下做不同实现。 18、给定一串数组,找到数组中的三个数使的它们的积为最大的积。(编程)19、一组学生排成一排,按照成绩给他们分配苹果,最少得一个,相邻的成绩高的多得一个。给定一个成绩数组,计算一共要多少苹果?20、请描述游戏动画有哪几种,以及其原理?主要有关节动画、骨骼动画、单一网络模型动画(关键帧动画)。 关节动画:把角色分成若干独立部分,一个部分对应一个网络模型,部分的动画连接成一个整体的动画,角色比较灵活,Quake2中使用这种动画; 骨骼动画,广泛应用的动画方式,集成了以上两个方式的优点,骨骼按角色特点组成一定的层次结构,有关节相连,可做相对运动,皮肤作为单一网络蒙在骨骼之外,决定角色的外观; 单一网络模型动画由一个完整的网络模型构成,在动画序列的关键帧里记录各个顶点的原位置及其改变量,然后插值运算实现动画效果,角色动画较真实。 21、alpha blend工作原理Alpha Blend 实现透明效果,不过只能针对某块区域进行alpha操作,透明度可设。 22、投一个骰子4次得到1次(包括1次)以上6点的几率和投两个骰子24次得到1次(包括1次)以上两个6点的几率是否相同,说出计算思路。23、下列代码在运行中会产生几个临时对象?sring a=new string("abc"); a=(a.ToUpper()+"123").Substring(0,2); 在C#中第一行是会报错的(Java中倒是可行)。 应该这样初始化: string b=new string(new char[]{'a','b','c'}); 5个临时对象。 24、tcp和udp的区别1、基于连接与无连接 2、对系统资源的要求(TCP较多,UDP较少); 3、UDP程序结构较简单; 4、流模式与数据报(报文)模式; 5、TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。 ? ? ? ? ? ? ? ? ? ? ? ? ? TCP? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?UDP 是否连接? ? ? ? ? ?面向连接? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 面向非连接 传输可靠性? ? ? ? 可靠? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?不可靠 应用场合? ? ? ? ? ? 少量数据? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 传输大量数据 速度? ? ? ? ? ? ? ? ? ?慢? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?快 25、下列代码在运行中会发生什么问题?如何避免?List <int> Is=new List<int>(new int[]{1,2,3,4,5}); foreach(int item in Is) { ? Console.WriteLine(item *item); ? Is.Remove(item); } 产生运行时错误,在Is.Remove(item)这行,因为foreach是只读的。不能一边遍历一边修改。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/28 0:30:37- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |