- 博客(14)
- 收藏
- 关注
原创 MMORPG服务器客户端通信随笔(无干货)
1.首先与服务器约定消息号,然后在客户端定义消息号消息号的组成为 基本ID + 我们和服务器约定的消息号C2S 的基本ID 为 60000,S2C 的基本ID为 50000。基本ID早已定义好,与服务器约定时只需约定消息号2.定义好消息号后,需要和服务器约定协议,协议中定义了与服务器交互所需要的字段、类型、字节数、和各字段的依赖关系3.定义好消息号后,需要定义消息的内容,对于S2C消...
2019-01-16 19:19:18
330
原创 MMORPG寻路系统精度补偿,解决寻路抖动和走不到终点
先说结论,之所以会出现角色自动任务时走不到NPC任务触发范围内的BUG,以及寻路时角色走路抖动很可能是因为float类型的精度丢失造成的!!!!(抖动也可能是因为角色旋转控制使用了欧拉角导致万象锁,这种情况会抖得很频繁,建议用四元数)(走不到终点除了精度问题还有可能是寻路算法出现了问题,其中一小段路径有折叠)1.精度问题控制玩家寻路一共有两个入口一个是WorldManager.cs 中的...
2019-01-16 19:10:49
874
原创 摄像机跟随角色移动
在 Camera Controller 组件上有一些参数,决定了摄像机与角色之间的相对关系。这些点可以理解成由角色指向摄像机的向量。其中 Relate Camera Pos 指的是,摄像机下一帧所应该在的位置(该位置用角色指向摄像机的向量表示)其中Start Pos 指的是,当摄像机距离角色最远时,从角色指向摄像机的向量其中End Pos 指的是,当摄像机距离角色最近时,从角色指向摄像机的...
2019-01-16 18:32:21
2004
1
原创 2funfun出包流程记录
1.选择出包平台,需要勾选 Google Android Project ,填写包名和版本信息2.填写签名信息,密码是 sq12343.点击 Export 出包,生成谷歌工程文件4.将该文件导入 Android Studio这里点击选中 shenqim 文件夹直接点下一步这里可以选择工作空间,可以新建一个文件夹,专门用来出这个包,这样会将 SDK 的文件 和 游戏 导出的...
2019-01-16 18:05:43
490
原创 Unity热更新系列之AssetBundle(3) ——资源文件 xml 清单的生成与读取
当我们想要进行游戏资源热更新时,需要知道哪些资源文件需要进行热更新, 而最常见的做法就是使用一个文件记录每一个资源文件的version信息。在玩家每次登陆游戏时,获取资源服务器上的version文件, 将其与本地文件进行对比,从而筛选出需要热更新的资源进行下载。这里我们使用 xml 格式的文件用来处理这些信息。我这里设计的version文件结构如下,首先是版本号,可以用来获取玩家当前的资源版本号
2018-04-03 16:51:07
1346
原创 Unity-Shader——用UV动画模拟模型在水下的场景
先放一个效果图 参数为:Shader代码:Shader "Custom/UnderWater" { Properties { _MainTex ("基础贴图 (RGB)", 2D) = "white" {} _FlushTex ("水波贴图 (RGB)", 2D) = "white" {} _FlowColor("水波颜色", Color)
2018-02-01 13:54:36
3442
原创 Unity热更新系列之AssetBundle(2) ——详述如何打AssetBundle资源
我们不处理资源间的依赖,而是使用另一种方式来自己记录并处理依赖。模拟真实的手游项目中的MVC模式,每一个UI面板都会有一个相应的UI面板类,这些面板类继承同一个基类并会统一到一个面板管理器类中,方便游戏其他逻辑访问和调用 我们在打资源时,预制体上通过这样的方式储存了引用的图集和字体信息,真正打资源时,需要将图集和字体置为空,这样打出的资源里面虽然讲面板引用的所有的图集和字体都打在了一起,但其实只打进去了图集和字
2018-02-01 10:24:23
769
原创 Unity热更新系列之AssetBundle(1) ——详述如何设置AssetBundle Name
Unity热更新系列之AssetBundle(1)——详述如何设置AssetBundle Name在打资源包前,需要为资源设置AssetBundle名,该资源名称除了包含自己的名字外,还应该包含该资源在整个资源文件夹下的子目录层级。 如下:texture是该资源在整个大文件夹下的分类文件夹。 当设置了分类文件夹后,打出的资源会自动将该文件分类到这个文件夹下可以用AssetI
2018-01-20 17:49:38
3838
原创 Unity-Shader渲染路径随笔
Unity中Shader中用到的光源可以分为:灯光贴图、环境光、平行光、自发光等。 其中灯光贴图一般由美术来制作处理。 环境光的控制面板在Windows->Lighting 窗口下。在这里我们可以处理环境光的种类,可以使用天空盒子或者纯色。在Unoty中使用天空盒子可以实现HDR效果。另外这里还留了一些用来处理灯光的质量以及渲染方式的配置。 关于灯光的渲染方式,Unity中主要分为三类:
2018-01-03 16:37:12
549
原创 Unity-Shader之法线贴图使用注意事项
法线纹理在游戏生产过程中使用的频率非常高,在游戏中,尤其是手游中,模型面数过高是非常吃性能的。在模型方面,美术在建模时会先创建一个高面数、高精度的精模,用精模渲染出一张法线贴图后,再创建一个低面数的简模,通过给简模附加法线贴图的方法,来达到使简模看起来像精模的目的。这样就会产生一个问题,但是现在虽然看起来像精模了,但是光照效果怎么处理呢?最终光照上去,不还是会露馅吗?这就需要我们在处理shader时
2018-01-01 17:44:30
3343
原创 Unity之梯度应用实现Roberts、Prewitt、Sobel边缘检测
通常使用Roberts、Prewitt、Sobel算子计算梯度,在图像处理时,梯度值比较常见的应用是用来计算边缘检测。 其原理是通过算子,计算出图像每一个像素的梯度值,再通过判断梯度值的大小,来判定该像素是不是边缘像素。判定方式有很多种,可以直接用梯度作为权,用来在正常颜色和边缘颜色之间插值。也可以设定一个阙值,梯度值大于该阙值时,认为是边缘像素。
2017-12-26 10:26:34
1078
原创 Unity变换矩阵之如何构建变换矩阵
变换矩阵包括:平移、旋转、缩放。平移矩阵:旋转矩阵:缩放矩阵:变换矩阵,就是将一个向量一次进行 平移、旋转和缩放变换,由此可得变换矩阵为应用:1:进行向量的坐标系变换 已知模型空间下的向量 A ,求其在世界空间下的向量 A‘可得:A' = 变换矩阵 * A但是如何获得这个 变换矩阵呢?我们可以用两个坐标系中任意两个对应
2017-12-20 12:48:21
7776
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人