腾讯技术分享会内容

从Unity开发快速转型到UE4开发


1. 大概介绍了Unity引擎和UE4引擎的相同点和不同点
2. 具体介绍了UE4的渲染管线:这个从UE3开始就是这样,差别不大
3. 分析了Unity和UE4的优势:
  能够制作出画面比较精良的游戏
  由于引擎框架上的设计不同,UE4能够承担起比Unity更多面/资源/效果的客户端绘制效果。
  开源:能够深度定制/可以修改源码来扩展需求
  做完一个项目能够培养出一批技术高超的技术人员,在之后的项目中能够担当起比较总要的角色。
 同时也分析了一些UE4的劣势:
  开发者程序员必须使用C++,会导致开发的门槛提高,人不好找。
  项目需求开发难度提升,进度可能会不好把控。
4. 总体听下来的感想:
  目前UE4的成熟项目挺少(吃鸡应该是一波)包括后面拿出来分享的两个项目:魂斗罗/使命召唤移动版,都是基于Unity开发,有点小尴尬。
  腾讯应该后面会大力发展UE4的游戏制作,据他们内部消息,新的中大型项目,必须得使用UE4来来发,相当于上升到了一个行政层面规定了。
  腾讯想从UE4出发,培养出一批高端开发UE4的技术人才,考虑到UE4的难度可能会建立一定的技术壁垒。
  和其他公司同行交流下来,UE4的一些效果开发不同于unity提供的更加彻底的方式(举例:shader的pass数量),虽然是开源,但是需要一个比较给力的引擎团队进行维护和定制化开发几乎是必要条件
  全程没怎么很多的讲到UE4的分成模式,据个人了解这才是挡在很多中小团队门槛外的最大原因

 

手游《魂斗罗:归来》同步方案分享
1. 采用状态同步模式,服务器也跑游戏逻辑,来裁决战斗结果。
2. 采用UDP网络传输协议,同时集成冗余发包机制,跟我们的方案类似
3. 快速射击子弹的武器,是直接客户端计算好了结果,发送给服务器,服务器只做校验工作(这里会导致一部分的作弊)
4. 有弹道/慢速的武器,服务器产生子弹,击中结果也是服务器计算好了,同步给客户端。
5. 对于电梯同步的特殊处理:由于电梯如果同步位置,考虑到网络的抖动,会引起角色核电梯的穿插,所以在电梯上的移动,只是同步角色在电梯上的【局部坐标】
6. 服务器跑Unity,相当于服务器一个unity进程负责一个联机战斗局
7. 总体听下来的感想:
  状态同步确实能够解决掉作弊问题,实时性也能有保障。
  服务器跑unity的想法比较新颖,毕竟这样的话很多相同的代码可以一起运行(如unity本身的刚体/碰撞/GameObject之类)代码天然共用(环境一致)
一个unity进程负责一个联机战斗局,一个进程150M内存,5%CPU消耗,算下来一台他们内部的物理机器(60+G内存,20核CPU)同时负载400局,考虑到腾讯的用户量,这个服务器配置确实是有点土豪。

  印象最深刻的就是unity修改代码支持跑在服务器后,服务器用drawframe的方式观察效果.在开发中就可以自己起一个逻辑服务器,直接对照着unity的开发界面观察前后端的同步结果,这个非常棒,大大加快了开发效率,至于一些其他的小细节我们公司也比较熟悉了,比如讲师说的担心帧同步模式可能存在延迟等问题,其实帧同步也是可以做客户端本地预先执行然后消息回来再进行修正的
 
PBR渲染技术与制作管理(CODM使命召唤移动版本)

1. 介绍了PBR技术的一些基本概念,容易产生的一些误区,制作规范等内容。
2. 由于Unity自带本身的Standard的PBR shader在手机上性能不够,他们为使命召唤重写了所有的PBR材质,场景/角色出了几个特殊的(头发,皮肤)等,统一使用相同的shader,方便统一管理。
3. 由于PBR材质,在不同的场景下,产生的效果存在巨大的差异,为了方便确认美术产生的制作效果,他们TA制作了检查小工具,也就是有6个预先设置的场景,包括正常/阴暗/曝光/全明(检查AO)等预设条件,
4. 为了统一美术制作规范,他们对pbr的制作软件SubstancePainter的设置预先调整好,所有的美术制作必须要在预先设置好的环境下工作。
5. 人眼对光照强度的估计是有巨大的偏差,所以实际制作的时候,需要借助外部的工具来对环境进行测量得出正确的值。他当时带了3个工具出来做演示
  一个是测量光强,对着一个方向会实时显示出来光线强度。他举例说天空一般是1万以上,室内只有100~1000。人眼基本感觉不出来这个十多倍的差距。
  一个是色卡(和目标物体一起拍照之后在软件里面通过色卡调整)软件不知道是啥,色卡就是个塑料盒里面有10来重各样的颜色,说要800块钱。
6. 使命召唤发外包的规定:
  他们把sp的预先设置文件发给外包公司,让外包公司在这个软件环境下制作。
  他们把unity的检查工具(包含6套预设场景)的也发给外包公司自查。
  他们还有开发检查贴图数值的工具,用来对外包资源自动检查。
7. 总体听下来的感想:
  他们的TA确实了解了当前3A大作的制作流程/规范,而且开发出了丰富的工具/软件
  最重要的还是定义出来了制作规范文档:这些都是我们需要学习的方向
  他们很多东西也在摸索阶段,但是比我们在这种3A级大作的开发路上已经领先了很多。

  PBR渲染直接将表现效果提高了一个档次,个人认为这种3A级别效果开发最重要的是工作流,包括人员工种配备,工作规范,外包规格等等.即便技术一样, 好的工作流和差的工作流相差的效果可能是百倍的.如果可以更加深入的了解到这套具体的工作流程那就更好了

人工智能技术在游戏研发与运营中的运用
1. 介绍了一些大概的概念,包括现有的一些人工智能在游戏里面的开发:如openAI做的dota2,还有暴雪的星际争霸AI等。
2. 介绍了腾讯人工智能技术在游戏中的一些应用:
  欢乐斗地主的托管模式:能够根据被托管的角色等级,估计下一次出牌的概率,来进行托管打牌(等级需要匹配,不能太强)
  欢乐斗地主的残局模式:他们发现人家有一个斗地主平台出了残局模式,很受欢迎,但是策划摆出来只有10局,他们用机器自动产生残局(并且给残局的优劣评分)总共有上千万的残局了!
  QQ飞车的机器人:采用自动强化学习,能够生成不同难度下的赛车机器人(完全不干预的情况下,一条赛道自己训练个几十万盘就能够满足需求了。)
3. 介绍了一些研究方向和设计架构:
  程序化的自动美术生成:生成树木/草丛/地形之类的
  人脸的3D模型自动生成:根据一张自拍的人脸照片(无深度信息),自动生成三维模型,在此基础上进行捏脸。
  视频动作提取:就是提供一套三维模型,将视频里面的动作提取动画出来匹配到三维模型上面去。
  支持机器学习应用的大规模并行计算系统构架
  棋牌游戏训练架构
  视频游戏训练架构
4. 总体听下来的感想:
他们的AI部门和游戏部门分开的,做AI的据说还没有做过游戏,也是基于一些内部的需求来做相关工作。
人工智能能够解决很多之前程序无法(很难)解决的问题,需求搭配的话,应该还是比较有前途。(只是之前的积累还是要比较多)

posted @ 2019-05-20 14:39  colourstar  阅读(1578)  评论(0编辑  收藏  举报