AS3语法和UNITY C#语法的异同
AS3 | UNITY |
Sprite a = new Sprite(); trace(a.paent);
此时a.parent为null,还未AddChild到屏幕上, 一般用这个来判断在不在屏幕上 |
GameObject a = new GameObject(); print(a.transform.parent);
此时为null,证明和屏幕的Root元素平级, 此时已在屏幕上(在不在摄像机视野内另算) UNITY只要new出来就在屏幕上了 |
super 调用父类的方法 |
base |
Function a; 函数引用 |
Func<T> a 或 Action<T> a |
mouseEnable = false | RaycastTarget = false |
------------------------------ U3D面试题 ------------------------------
最近面的一家
给一个三角形面上的三个点,确定法线
用点积,
A-B得出矢量,A-C得出矢量,两个矢量点积一下
说出漫反射和高光公式(这些都属于经验模型)
答: 漫反射
dot(表面法线n,光照方向l)
pow(dot(表面法线n,反射方向r))光泽度
UNITY和安桌项目混合,怎么弄
导出安桌工程,安桌启动UnityPlayerActivity
说出Activity的生命周期
四元数
旋转范围 -1 - 1
旋转二周
网易杭州
主要问的几个问题,个人看来还是很基础的,不过本人好像有几个也没答到点子上
后面一些难度高的问题选择了退缩,目前看来很不智,以后要吃掉面试官~
面试的一些基础题 一定要答对,
关于介绍自已做过的项目,一定要进行事前演练,如何介绍,从哪方面着手
最近二次面试都着重问了UI问题,不知咋回事,咱也就这个重点写篇文章吧
开始:
介绍你做的XBOX移植项目
XBOX是微软推出的主机,XBOX也是一个大型的游戏平台,包括XBOX LIVE在线社交服务。
我们做的是一款麻将手游移植,分为客户端和服务端二个部分,
整个游戏改动很大,相当于重做
在开发过程中,根据微软在XBOX上面的开发规定,必须使用WEB SOCKET,
而原来的游戏使用的是传统TCP SOCKET,
再就是画面使用高质量1920X1080的图片,加上手柄处理和手游的手势,还有帐号登录规则完全不一样
我做的ASP.NET单点登录SSO服务器,编写REST FUL接口,供客户端调用
同时和XBOX LIVE服务器进行交互,获取用户信息,以JSON格式返回给客户端,
这一块用到的包括必须是HTTPS,接口必须REST FUL风格,
在客户端我这一块做的是MatchMaking,先到XBOX LIVE后台配置数据模板JSON,
然后去客户端创建LOBBY SESSION后,再创建GAME SESSION
然后提交给XBOX LIVE,还有以及QOS之类的流程
比较难的地方在于开发资料较为封闭,只能通过阅读英文文档来解决问题,
所以我们这个阅读了大量的英文文档,主要是XDK。
XDK每6个月会更新一次,UNITY的更新会在2个月后更新,我们只有在4个月的时间内通过审核,
,所以开发必须要跟得上微软的步伐
这个项目开发了一年半
介绍你的HOLO博物馆藏书系统
主要是对空间扫描和空间锚点的应用
框架方面用的是多场景加载,.unity场景加载用的是一个异步方法 SceneManager.LoadSceneAsync
这个框架在场景浏览中,可以向前,也可以后退,只要输入场景名字就可以了
因为是框架,因此对场景的命名有一定的规定
在展柜中虚拟出各种书,并且可以弹出视频介绍
这个项目开发了三个月
1.UNITY中协程的理解,和线程的区别
区别?效率吧,没有线程的切换
我的理解协程就是一个timer或setTimeOut,它是相当于模拟一个线程,但它不是线程
线程有上下文切换,会有性能上的开销,并且在工作线程中是访问不了UI线程中的用户控件的,
协程则没有这个限制,协程很好的解决了多线程的复杂性和性能上的问题,(线程对共享资源的
访问还要加锁)
当然答案重点应该是效率
coroutine的实现原理
http://gad.qq.com/article/detail/695
2.委托和事件的区别
区别?有啥区别,委托也是事件嘛
事件就是函数调用解藕,一种设计思路
这道题应该答对 了
3.UNITY程序资源热更新?
AssetBundle,它相当于FLEX中的MOUDLE概念,是大型程序中使用的模块概念,
是对资源,脚本的一种整合打包
4.WWW必须要用到什么
能用到啥?判断加载完了就行了呗,是个异步
要启一个协程去加载
资源放Resource文件夹里
5.说说代码驱动和数据驱动
数据就是大数据啦,大数据分析决策,这个是重点
6.说说UNITY NGUI和UGUI的区别
7.UI代码网上不是有现成的么?
恩,可以用,有的只能做参考,有的是收费的哦
但某些UI有的会在性能方面造成影响
举例子,比如说玩家人物头上的血条
如果用遮罩动画实现的话,效果很棒,美术弄起来很方便,程序直接用就可以了,但是几十个玩家在屏幕上,就卡了
这种实现方式在大型游戏里面就没有义,所以我是选择了拉伸血条的SCALE+重设坐标实现的,性能很OK,效果稍差但经过一些调整,项目总监可以接受
再比如说玩家头上的聊天框,涉及一个图文混排,那么我采用的新的文字引擎系统,速度比原来快十几倍,网上那些都是在新文字引擎没
出来之前的解决方案,使用的话,虽然效果可以达到 ,但是很占用CPU,
8.说说页游戏的A星寻路算法
就是一个估价函数,
可以预先在地图上提高格子的权值,
或一次搜索到一半(一定数量)即可开始移动