前言
抛物线运动在游戏开发中是比较常用的一个知识点,典型的射击类游戏炮弹的运动轨迹,我们就来回顾一下基本的物理公式吧,s = vt+1/2 a t * t。为了让策划可以调整炮弹的运动曲线轨迹,就做一个方便调节的工具。还有一种曲线游戏中比较常用的就是贝塞尔曲线,例如我做过的一个需求就是轰炸机飞行轨迹就用到贝塞尔曲线,这里用的是二阶贝塞尔曲线,下面就介绍这两种常用曲线的应用效果。
学无止境
ET是一个基于C# Unity的双端游戏框架,服务器端使用C# .net core开发的分布式游戏服务器端,支持udp tcp websocket协议,是一个非常强大的值得深入学习的游戏框架。
提供协程支持
C#天生有支持异步变同步语法async和await,这样就能实现所有服务器之间的异步操作变成十分连贯,不用在拆分多段逻辑,大大简化了分布式服务器的开发。
提供类似erlang的actor机制
ET提供了actor消息机制,实体对象只需要挂上MailBoxComponent消息组件,这个实体对象就成了一个Actor,任何服务器只需要知道这个实体对象的id即可向其发送消息,完全不用关心实体对象在哪个服务器上,原理就是ET框架提供了一个位置服务器,所有挂在MailBoxComponent的实体对象都会将自己的id跟位置注册到这个位置服务器上,其他服务器向这个实体对象发送消息的时候如果不知道这个实体对象的位置,会先去位置服务器查询,查询到位置再进行发送。
提供服务器热更新功能
提供客户端全热更功能
包括协议、config、ui等
KCP、ENet、TCP、WebSocket协议无缝切换
ENet是英雄联盟所用到的网络库,其特点是快速,并且在网络丢包情况下性能也非常好,经过测试TCP在丢包5%的情况下,moba游戏卡的不行,但使用ENet,丢包20%仍然不会感到卡,非常强大。框架还支持KCP协议,KCP也是可靠的UDP协议,据说比ENet性能更好,使用KCP需要自己加心跳机制,否则20秒没收到包,服务器就断开连接。协议可以无缝切换。
服务器支持repl,也可以动态执行一段新代码
这样就可以打印出进程中任何数据,大大简化了服务器端查找问题的难度,开启repl方法,直接在console中输入repl回车即可进入repl模式。
打包工具
ET框架自带一整套打包工具,完全傻瓜式。一键打包,自动分析共享资源,对比md5更新。
其他工具
看到这里是不是很心动了呢?那就继续往下深入学习吧!
more >>
相信开发者们已经注意到Unity在最近的版本中进行了很大的改动,例如:新的开发模式DOTS、新的粒子特效系统、新的渲染管线URP、新的输入系统InputSystem和新的Shader系统ShaderGraph等等。对于开发者来说,Unity朝着更加方便,更加高效的开发方向发展显然是件好事。
本文所要讲解的正是新的粒子系统Visual Effect Graph(由于个人习惯,笔者会简称为VFX),由3W原则入手来介绍VFX,它是什么?为什么要使用它?最后着重介绍了我们要如何使用VFX。
more >>公司举办了一个线上读书营,我是特别惊喜也特别积极,自我感觉随着工作几年的认知认为读书对整个人的发展特别重要,白岩松老师说”为什么要推荐大家读书,因为你们要相信,前方有一个更好的你自己在等着你啊,在这个世界上我还没有看到什么能比读书是成本低收效最大的投资”,去年的一年小结里,我也有将读书列为2020年的年度计划中,正好乘着公司这个读书活动,来开启我的新年读书计划,原本3月1号(周日)晚上正式开始,但我周五就开始找电子书《能力缺陷》,并将其添加到我的电子书库中,计划周末就开始读起来,整个书370页,周六我看了1/3,打算周日八点开营之前,先将整本书读一遍,算是一个预习,有一个初步印象,然后再跟随大部队花两周时间进行深读和交流,一起深挖书中的精髓,和小伙伴们一起分享和交流读书体会,希望让2020年做一个不一样的自己。
more >>Unity官方发布的EntityComponentSystemSamples是非常不错的案例,值得深入学习以用于项目开发中。
ECS会出现好多新的特性需要了解一下:
老的特性回顾:
该示例演示(demonstrate)了一个简单的ECS旋转一对立方体的效果,该示例演示了ECS数据和功能分离,数据存储在组件中,功能则被写入系统中。
more >>前端技术更新速度很快,Unity也不例外,Unity推出新的输入系统InputSystem,网传在手机游戏开发上老的UnityEngine.Input其实用着还凑合,但随着VR的兴起,各种VR厂商各种设备输入都各不相同,各种VR设备都有自己的Unity SDK,并且SDK代码风格迥异,所以老的输入系统就不能很好的满足各种变化的需求,于是就有了新的InputSystem输入系统,下面我们来尝尝鲜。
既然推出新功能来取代现有的功能,那说明新功能肯定是有他优势的一面的,据官方介绍说新一代的输入系统具有简单易用、多平台一致和灵活的特性,github上介绍是:”Unity的高效多功能输入系统”,据说会随着2020.1版本正式推出,我们可以在2019.1版本上进行体验。
more >>