unity 第三期

1,如何避免点击UI按钮时穿透,同时触发了相同位置场景模型的点击事件的情况?(NGUI 判断 是否点击到UI)
答:1,可以在最下层加个碰撞框作为屏蔽层,
   2,通过射线分层处理,显示层分为不同的Layer,用射线进行判断是否点击到UI层。
   3,利用UIcamera.hoveredObject 或者UIcamera.isOverUI 可以获取当前鼠标是否停驻在UI界面上
2,切换场景时,如何让背景音乐持续播放,而不是重新播放?
答:1,使用DontDestroyOnLoad()方法处理挂载一个背景音乐组件的GameObject

3,如何实现游戏存档和读档的功能?
答:1,简单数据存档和读取使用Unity提供PlayerPrefs。
   2,复杂的存档和读取可以使用序列化和反序列化用XML或者Josn进行
   3,也可以使用数据库,不推荐sql
   4,直接按照自己的格式写成自己需要的文件也可以,使用不多。
   最常用1,2方案

4,什么是协同程序?请举一个游戏中应用协程的例子。
答:Unity的协程系统是基于C#的一个简单而强大的接口 ,IEnumerator,它允许你为自己的集合类型编写枚举器。
所谓协同,就是在主程序运行的时间同时开启另外一段逻辑处理,来协同当前程序的执行,
当你在StartCoroutine的函数体里处理一段代码时,利用yield语句等待执行结果,这期间不影响主程序的继续执行,可以协同工作。

    开始2s后销毁对象
    IEnumerator Start()
    {
        yield return new WaitForSeconds(2.0f);
        Destroy(this.gameObject);
    }
    
5,什么是游戏框架?使用框架的好处是什么?
答:1,游戏框架是在引擎的基础上再进行一次功能封装,把常用功能进行封装,针对项目进行一次具体的开发模式封装,比如UI使用MVC,战斗使用FSM,HFSM,BT。。。。
    2,使用游戏框架开发能节约工程时间,易维护,易扩展,易阅读开发,可复用。
       选择框架和使用框架是控制框架的基础。

6,如何在Unity中播放视频?
答:1,首先下载安装Quicktime ,U3D承认的视格式为.mov, .mpg, .mpeg, .mp4, .avi, .asf格式。
    2,创建一个对象,使用对象拖拽的形式为Mov Texture对象赋值,之后就可以在脚本中使用它了。

7,跑酷游戏的无尽关卡是如何生成的?
答: 这个可以使用简单的场景流式加载,把地图分成一小段一小段的根据一定规则,加载新的释放久的。

8,如何增强ARPG游戏的打击感?
答: 1,从美术资源上看,不管是2D还是3D角色的动作流畅度跟动画的合理性都能提高游戏的打击感。
    2,游戏中角色的技能或者特定动作加上拖尾效果,多一些技能特效,画面扭曲效果。被打击方的状态控制。
    3,相机,也就是主视角可以增加震动效果,镜头的一些特效,各种动态效果的使用。
    4,音效效果在战斗的时候体现十分明显。

9,游戏慢镜头回放功能的实现思路?如足球游戏中的精彩镜头回放。
答: 
    1,卡牌游戏里面的战斗可以使用的方案之一是战报,其实就是把所有技能移动全部播放一遍,回放其实再播放一遍就可以了。
    只有战斗能够进行序列化,重新把命令播放一遍就可以了
    2,状态记录同步,记录每一帧所有角色状态,包括位置,旋转等,这种方法短时间回放没什么大问题。
    3,直接录屏将整个动画保存成视频,回放时播放视频就可以。

10,LOD技术是什么?优缺点是?
答:1,LOD是Levels of Detail的简称,译为多细节层次。LOD技术指根据物体模型的节点在显示环境中所处的位置
       和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。
    2,LOD的优点可以根据距离动态地选折渲染不同细节的模型
    3,LOD缺点增加项目的包的大小,并且内存会增大,属于内存换效果。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值