笔记
july32
这个作者很懒,什么都没留下…
展开
-
【笔记】状态同步笔记
状态同步位置和技能(适用于fps和mmorpg类游戏)客户端A的同步阀值(减少同步量) 客户端A本地会存储一份对其他客户端看到的A的预测状态,当本地真实状态和预测状态偏差超过阀值时,则发起同步,同时更新客户端A本地的预测状态 玩家运动的关键点也会同步,例如起跳坐标点,起跳最高坐标点,落地坐标点,开始跑步的速度方向,停止跑步时的坐标点插值算法的选择 客户端插值 和 航位推测的选择 航位推测只用于预测位移 客户端插值(线性插值,3次样条插值,曲线的寻路(寻路这个可能会...原创 2020-07-28 19:48:26 · 1927 阅读 · 0 评论 -
【笔记】寻路技术整合
pathfinding,先用unity navmesh烘培,再用lockstepengine里的工具导出 然后test find#游戏地图的划分Grid (方格)Navigation Mesh(导航网格)#寻路算法:1.a*+堆排序+路径平滑(启发式和代价累计)2.Dijkstra算法3.Floyd-Warshall algorithm4.集群寻路https://wuzhiwei.net/group-path-movement/ 有demohttps://www.zhi...原创 2020-07-28 19:47:01 · 4463 阅读 · 0 评论 -
[笔记]物理碰撞整合
碰撞总结点积:两个向量之间的夹角,投影叉积:两向量组成的平行四边形的面积,两向量的前后关系(方向)dot(a,a)得到a的长度平方行列式:体积,行列式转为矩阵公式用克莱姆公式求解叉积转点积:拉格朗日公式多边形划分:v域,质心划分,边延长线划分判断点是否在三角形内,可以判断点是否在所有的面的左边质心:三个点的为面积比,四个点的为体积比射线相交: 以时间t代入求解 以一元二次方程的思想求解,判断是否有根已经是否合法1.直线运动的AABB,原则上是进行8条射线的碰撞检测,这...原创 2020-07-28 19:46:17 · 1021 阅读 · 0 评论 -
【笔记】unity逻辑类各种即使方案汇总
迷雾遮罩:1.使用war3的地图拼接2.改变网格范围,传到shader中寻路:需要高精度的则不适合用Navmesh1.https://howtorts.github.io/2014/01/04/basic-flow-fields.html基于流场,估计类似sdf,使用Dijkstra生成路径2.rts寻路A Start Pathfinding Project Pro + Unity NavMesh寻路算法+精确碰撞(以及避碰)3.多人寻路中的交互避碰RVO24.定时器,当有原创 2020-07-28 19:45:43 · 3477 阅读 · 0 评论 -
【笔记】unity大地图分块加载
1.大地图分块加载 chunk的大小可动态调整 写工具做地块拆分 如果地块是由1个个小格子单元组成的,则可按位置进行划分保存成多个chunk预设 如果地表是Terrain转成的mesh,或者美术做的整个mesh,则需要通过对chunk边界的顶点进行拷贝,分别保存成多个chunk预设 保存地图上的chunk数据 地块的加载(通过松散四叉树或者kd树进行管理) 1是九宫格加载 2是chunk比较大时,例如角色视野范围...原创 2020-07-28 19:44:53 · 7759 阅读 · 0 评论 -
【笔记】PBR,BRDF总结
bsdf = brdf + btdfbrdf:用于描述光(辐射能量)在两个物体交界处怎么反射、怎么折射这个定律的前提是两个表面是光学光滑的,而现实世界中基本不存在这样的表面,所以又搞出来个微表面理论蒙特卡洛路径追踪:就是计算漫反射的。pbr就是物理光照建模,然后合理的数学解法D为法线分布函数(NDF)F为反射函数(Fresnel 函数)G为阴影遮罩函数(几何函数),未被shadow或mask的比例Unity采用pbr材质其实有多种选择的;1.Standard Shader:建议只作为参原创 2020-07-28 19:43:52 · 4508 阅读 · 1 评论 -
[笔记]unity渲染相关各种方案总结
shader思路以及解决方案汇总:手游性能指标 三角形数上限 的建议是 200K---------------------------------------#0.调试shader Nsight调试 Adreno Profiler---------------------------------------#1. 下雨:雨丝,潮湿模拟,涟漪,水花,积水,雷电,水交互 1.1雨丝实现方法: 1.1.1.粒子 优点:容易表现方向和深度。缺点:消耗大,...原创 2020-07-28 19:43:18 · 2489 阅读 · 2 评论 -
【笔记】unity渲染类名词术语概念总结(30个点)
1.线性追踪亮度值是一个空间函数,而光线追踪做的事情其实是求这个函数在视线线段上的线积分结果为:光线在视线方向上作用值之和视线上的所有采样点的亮度之和能用来表示光线在介质中散射的效果2.光线的衰减简单的公式:i = l/d^2 [采样点的亮度值 = 光强度/(采样点-光源点)^2]3.等式d^2 = dot(d,d);4.散射公式:HG公式。就是输入指定方向和光线入射方向夹角的cos值,求出指定方向散射光线的亮度。我们要计算的是朝着眼睛方向的散射光线亮度。g:介质散射性质(值越.原创 2020-07-28 19:42:14 · 3804 阅读 · 0 评论 -
[笔记]unity渲染类零碎代码记录(100多条)
1.获得renderTexture上的4个角的近裁面位置cam = GetComponent<Camera>();Matrix4x4 inverseViewProjectionMatrix = GL.GetGPUProjectionMatrix(cam.projectionMatrix, true);inverseViewProjectionMatrix *= cam.worldToCameraMatrix;inverseViewProjectionMatrix = inverseVie原创 2020-07-28 19:40:34 · 1079 阅读 · 0 评论