6 july32

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 5w+

Java多线程知识点总结(思维导图+源码笔记)

转自:https://blog.csdn.net/yelvgou9995/article/details/107408709多线程大家在初学的时候,对这个知识点应该有不少的疑惑的。我认为主要原因有两个:多线程在初学的时候不太好学,并且一般写项目的时候也很少用得上(至少在初学阶段时写的项目基本不需要自己创建线程)。 多线程的知识点在面试经常考,多线程所涉及的知识点非常多,难度也不低。这就会给人带来一种感觉「这破玩意涉及的东西是真的广,平时也不怎么用,怎么面试就偏偏爱问这个鬼东西」不多BB.

2020-09-15 16:28:02

向量投影

给定一个向量u和v,求u在v上的投影向量,如下图。假设u在v上的投影向量是u’,且向量u和v的夹角为theta。一个向量有两个属性,大小和方向,我们先确定u’的大小(即长度,或者模),从u的末端做v的垂线,那么d就是u’的长度。而u’和v的方向是相同的,v的方向v/|v|也就是u’的方向。所以有 (1)再求d的长度。 (2)最后求cos(theta) ...

2020-08-06 10:13:11

【笔记】状态同步笔记

状态同步位置和技能(适用于fps和mmorpg类游戏)客户端A的同步阀值(减少同步量) 客户端A本地会存储一份对其他客户端看到的A的预测状态,当本地真实状态和预测状态偏差超过阀值时,则发起同步,同时更新客户端A本地的预测状态 玩家运动的关键点也会同步,例如起跳坐标点,起跳最高坐标点,落地坐标点,开始跑步的速度方向,停止跑步时的坐标点插值算法的选择 客户端插值 和 航位推测的选择 航位推测只用于预测位移 客户端插值(线性插值,3次样条插值,曲线的寻路(寻路这个可能会...

2020-07-28 19:48:26

【笔记】寻路技术整合

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

[笔记]物理碰撞整合

碰撞总结点积:两个向量之间的夹角,投影叉积:两向量组成的平行四边形的面积,两向量的前后关系(方向)dot(a,a)得到a的长度平方行列式:体积,行列式转为矩阵公式用克莱姆公式求解叉积转点积:拉格朗日公式多边形划分:v域,质心划分,边延长线划分判断点是否在三角形内,可以判断点是否在所有的面的左边质心:三个点的为面积比,四个点的为体积比射线相交: 以时间t代入求解 以一元二次方程的思想求解,判断是否有根已经是否合法1.直线运动的AABB,原则上是进行8条射线的碰撞检测,这...

2020-07-28 19:46:17

【笔记】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

【笔记】unity大地图分块加载

1.大地图分块加载 chunk的大小可动态调整 写工具做地块拆分 如果地块是由1个个小格子单元组成的,则可按位置进行划分保存成多个chunk预设 如果地表是Terrain转成的mesh,或者美术做的整个mesh,则需要通过对chunk边界的顶点进行拷贝,分别保存成多个chunk预设 保存地图上的chunk数据 地块的加载(通过松散四叉树或者kd树进行管理) 1是九宫格加载 2是chunk比较大时,例如角色视野范围...

2020-07-28 19:44:53

【笔记】PBR,BRDF总结

bsdf = brdf + btdfbrdf:用于描述光(辐射能量)在两个物体交界处怎么反射、怎么折射这个定律的前提是两个表面是光学光滑的,而现实世界中基本不存在这样的表面,所以又搞出来个微表面理论蒙特卡洛路径追踪:就是计算漫反射的。pbr就是物理光照建模,然后合理的数学解法D为法线分布函数(NDF)F为反射函数(Fresnel 函数)G为阴影遮罩函数(几何函数),未被shadow或mask的比例Unity采用pbr材质其实有多种选择的;1.Standard Shader:建议只作为参

2020-07-28 19:43:52

[笔记]unity渲染相关各种方案总结

shader思路以及解决方案汇总:手游性能指标 三角形数上限 的建议是 200K---------------------------------------#0.调试shader Nsight调试 Adreno Profiler---------------------------------------#1. 下雨:雨丝,潮湿模拟,涟漪,水花,积水,雷电,水交互 1.1雨丝实现方法: 1.1.1.粒子 优点:容易表现方向和深度。缺点:消耗大,...

2020-07-28 19:43:18

【笔记】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

[笔记]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

[笔记]游戏开发中的数学

1.dx,dydy/dx就是导数或者说斜率, 变化率dx,dy中的d其实是 differentiation 的简写,意思是微分算子,表示在任意小的范围内的变化量。dx是对Δx的近似,Δx=dx+dx的高阶无穷小Δ这里往往是方便数学思想的描述和宏观解释,这个变化量是肉眼可见的,宏观的。dx则是微积分中的微了,表示一点的变化。、不定积分就是先把fx看成是某个函数的导数,然后给它乘上dx然后fxdx就表示了原函数的纵向增量,也就是fxdx是原函数在x处的微分,然后积分符号S表示对后面整个式子f

2020-07-28 19:39:10

shader中的几个语义:SV_VertexID, VPOS, VFACE

转自:http://blog.coolcoding.cn/?p=798uintvid:SV_VertexID表示第几个顶点,依次从第0开始…这样在进行顶点动画时,可以对指定顶点进行采样v2f vert (appdata v, uint vid : SV_VertexID){float x = vid;…VPOS:屏幕像素坐标,用于片段着色器,需要添加#pragma target 3.0编译指令。fixed4 frag (v2f i, UNITY_VPOS_TYPE scre...

2020-07-16 10:34:51

球谐光照——简单理解和实现

转自:https://blog.csdn.net/qq_33999892/article/details/838625831.简介:游戏中的光照可以被简单分为两个部分,直接光和间接光。直接光中我们研究各种不同的BRDF材质,甚至BSDF,BSSSRDF等等。这些模型据有很不错的表现力,足够我们区分金属,皮肤,木头等等不同物体的着色表现。但这并不能满足我们,因为光并不是那么简单,光会被反射,会被折射,会被透射,会被吸收,所以物体的受光情况同时又由这个场景的其他物体决定,这部分光照同时拥有着.

2020-07-15 15:09:23

位运算技巧

转自:https://www.cnblogs.com/xiaohutu/p/10951911.html本文发布于游戏程序员刘宇的个人博客,长期更新,转载请注明源地址https://www.cnblogs.com/xiaohutu/p/10951911.html需要补充或者修改的请留言~1. 取第n位的值(从右边)int r = (v >> n) & 1;2.把某一位置1(从右边)v = v | (1 << n);3.把某一位取反(从右边)

2020-07-14 11:17:43

帧同步游戏开发小结

转自:https://www.cnblogs.com/xiaohutu/p/12402399.html1. 帧同步基本特点所有的逻辑行为运算都在客户端进行,客户端保证彼此之间执行结果的一致性。 客户端将自己的所有操作发给服务器,服务器转发。 服务器维持一定的逻辑帧率向客户端发包,每次都带上一间隔的所有客户端发来的操作,如果没有就发空帧,附带上客户端需要执行此包的帧数。 客户端收到帧数据执行这一逻辑帧的行为,否则等待。2. 同步性的保证确保需要同步部分逻辑执行次序的一致性,特别关注各种.

2020-07-14 11:16:09

大规模单位实时寻路

转自:https://www.cnblogs.com/xiaohutu/p/10504586.html总结下来就是结合以下技术对AI进行处理:十字链表找最近的敌方单位 ,RVO避障,优化后的jps,地图数据预处理,steer行为控制某个神秘的时间,我接到了一项神秘的任务,最核心的难度是要求实现:引擎是Unity3D,在手机端可以流畅运行为前提,在一个实时战斗的过程里,地图有地形(而且是会被动态改变的地形),数百个单位独立AI寻路、要实现忽略掉部分单位的筛选寻路、动态避障、满足帧同步需求并可.

2020-07-14 11:00:01

点至三角形的最近点

文章目录已优化版本未优化版本点P到三角形的相交点分为三种情况:1.顶点域,相交点为三角形的三个顶点2.边域,相交点在三角形的三条边上,也就是点P在边上的投影3.中心域,相交点在三角形内部,也就是点P在三角形中的投影代码如下:已优化版本 /// <summary> /// 点到三角形最近点,已优化cross为dot /// 求解思路:平面的法线和pa,pb,pc的法线进行dot,可知p是落在哪个域上,再对p在各个边上进行投影,求得边域上最近点。在三角形内就是质心

2020-07-13 16:21:20

[笔记]松散四叉树,BVH,BSP,KD树的特性以及适用情况

[笔记]松散四叉树,BVH,BSP,KD树的特性以及适用情况松散四叉树层次包围盒BVH二叉空间分割(BSP)kd树几种结构的比较松散四叉树比四叉树多了入口边界(也就是四叉树的边界)和出口边界(比四叉树边界大的边界)如何判定一个物体现在在哪个节点 若物体还没添加进四叉树/八叉树,则检测现在位于哪个节点的入口边界内; 若物体先前已经存在于某个节点,则先检测现在是否越出该节点的出口边界,若越出再检测位于哪个节点的入口边界内应用场景: 感知检测的过滤,碰撞检测过滤,光线追踪过滤不必要

2020-07-13 16:16:47

圆,扇形,胶囊体,凸多边形,OBB,AABB相交检测

转自:https://blog.csdn.net/qq_37043683/art图形相交检测常常用在伤害判定,使用自定义的图形相交检测,可以在一定程度上控制性能。比如2D格斗游戏中使用的矩形包围盒(AABB),一些动作游戏中常常出现的扇形攻击。2D的图形相交检测能够满足大部分的需求,且可以拓展成为柱状的3D物体,2D比3D的计算复杂度会低很多,3D的图形检测原理与2D相似,本文会实现几个圆形与其他2D图形的相交检测:1、圆形与圆形2、圆形与胶囊体3、圆形与扇形...

2020-07-13 15:31:25

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。