- 博客(16)
- 收藏
- 关注
原创 随记
三次握手分别代表 1服务器确定客户端发送能力,自身接收能力 2客户端确定自身发送能力接收能力,服务器发送能力,接收能力 3服务器确定自身发送能力接收能力若二次握手 客户端发送请求,这第一次在节点中因意外长时间驻留了,于是客户端再发送请求,并接收服务器回应后关闭,此后第一个客户端请求到达服务器,服务器回应后,由于客户端忽视该消息该连接就无法释放了四次挥手因为服务器需要一个回应接收到请求关闭的报文,和一个信息发送完毕的报文。...
2021-04-25 03:10:25
339
原创 面试题汇总
自整理面试题汇总值类型和引用类型的区别值类型存在栈上,引用类型存在堆上。struct 里面如果包含一个类的对象,该对象是存在堆区和栈区?类对象依然在堆中,结构体保存在栈里,持有类对象的引用。string和stringbuilder的区别?c#对string类型做了优化,string类型通过存在栈上,下一次再次创建字符串时,就会查找字符串池(散列表)中是否存在,存在直接指向之前的地址,这就是为什么c#内容相同的两个string使用 “==”,“Equals”,“ReferenceEquals”
2021-04-23 23:09:30
505
原创 TimeLine的使用
TimeLine应用于对话叙事动画,过场动画等场景Track轨道TrackGroup: 作TimeLine中的目录文件使用 Activation(激活轨道) :控制单个物体的激活与否,在不处于时间段内的则不显示。Animation(动画轨道) :控制不同gameObject在不同时间段所播放的动画切片Clip,同时可以录制帧动画,在inspector窗口中右键组件可以Add Key(在TimeLine中录制的帧动画是Infinite Clip,可以通过右键Convert为一个有限的动画切片。Audi
2021-04-12 19:32:41
2051
3
原创 Lua笔记
--未给key的value lua会自动分配key,默认为从1开始的整数索引 --lua的索引从1开始,这与其他语言不同key1=1 --lua的表格构造式中,左值默认为string类型,也就是{key1="abc"}中的key1在表中是"key1",所以左值无法为变量与数字,右值可以是任意类型tab1 ={key1="abc",key2="bcd","efg","jha"}a=0for k,v in pairs(tab1) do a=a+1 print(k.."-"..v.."index
2021-03-12 12:41:16
190
原创 StaticBatching和DynamicBatching的区别
Batch作为熟知的一种优化技术常被认为都是能够减少DC的优化但 实际上 StaticBatching并不能减少DrawCallStatic Batching标明为 Static 的静态物件,如果在使用相同材质球的条件下,在Build(项目打包)的时候Unity会自动地提取这些共享材质的静态模型的Vertex buffer和Index buffer。根据其摆放在场景中的位置等最终状态信息,将这些模型的顶点数据变换到世界空间下,存储在新构建的大Vertex buffer和Index buffer中
2021-03-08 16:32:34
451
原创 向量运算的几何意义
向量点乘/叉乘点乘几何意义表示一个向量在另一个向量上的大小的映射(标量)计算方式1、|A||B|cosθ2、x1x2+y1y2Unity APIVector3.Dot(V1,V2);叉乘几何意义二维空间中:表示两个向量围成的平行四边形的面积三维空间中:表示两个向量所在平面的法线(矢量) 遵循左手定则,并且法线的长度(模长)为所围成平行四边形的面积计算方式向量:u=(u1,u2,u3) v=(v1,v2,v3)模长运算:|u|*|v|*sinθ坐标计算:u x v = { u2
2021-03-07 18:32:25
939
原创 Final IK骨骼控制插件
FullBodyIK使用FullBody Biped IK组件,导入所有的骨骼信息如果Scene视图中:骨骼显示为蓝色,则导入成功。若为红色则需要调节相应骨骼。属性介绍Fixed Transform 复选框勾选:不需要Unity动画(Animator) 支持,人物整体都会响应骨骼变换。不勾选:如果没有Unity动画,只有权重为1的点会响应骨骼变换。Refrence 骨骼节点Weight 整体权重 整个系统的权重interaction IK动画的解析次数,数值为0,禁用Ik,数值
2021-03-03 19:39:23
515
5
原创 Behavior Designer--在组件脚本中获取BehaviorDesigner内变量的值
在组件脚本中获取BehaviorDesigner内变量的值。using System;using UnityEngine;using BehaviorDesigner.Runtime;class A:MonoBehavior{public BehaviorTree Behavior_tree;void Start() { Behavior_tree.GetVariable("VariableName"); Behavior_tree.SetVariable("VariableName",
2021-03-03 19:05:11
922
转载 初识行为树
行为树Behavior Tree对于游戏角色的AI,在之前的项目都是通过FSM实现。而FSM的缺点也很明显,状态机体量变大后,添加一个状态需要处理的跳转逻辑太多。不利于拓展,于是引入行为树的概念。行为树 Behavior Tree组成Action叶节点Condition叶节点管理Action与Consition的各个根节点(如Sequence Selector等)low version 在XXX情况下,做XXX事情常见的Condition和Action节点condition1)检测
2021-02-26 16:38:49
146
原创 线代笔记
线代向量 Vector向量空间的一组基(basic) 是张成(span) 该向量空间的一组线性(linearly independent)无关向量集合矩阵 MatrixLinearly:
2021-02-09 16:26:15
721
原创 常见TCP参数
常见TCP参数一、ReceiveBufferSize指定操作系统读缓冲区大小二、SendBufferSize指定操作系统写缓冲区大小三、NoDelay是否采用Nagle算法发送数据、TCP默认会使用Nagle算法,socket.NoDelay=true;则可以关闭Nagle算法,保证数据发送的实时性,同时也失去了Nagle带来的流量节省四、TTL(Time To Live)TTL是IP头部的一个值,该值表示一个IP数据报能经过的最大的路由跳数,当数据报经过TTL个路由还没被接收时就会被丢弃,
2021-01-15 17:29:09
1596
原创 协程与进程、Unity协程
协程与进程的关系线程是进程的执行体,拥有一个执行入口,以及从进程虚拟地址空间分配的栈信息,包括用户栈和内核栈线程可以自己创建多个 名为协程的执行体,给他们各自指定执行入口,申请一些内存分配给他们做执行栈,那么线程就可以按需调度这几个执行体了。为了实现这几个执行体的切换,线程也需要记录执行体的信息,包括但不仅包括:ID、栈的位置、执行入口地址、执行现场一、用户程序不能操作内核空间,所以只能给协程分配用户栈,二、操作系统对协程一无所知,所以协程又被称为“用户态进程”协程恢复执行时会根据之前保留的执行现
2021-01-15 15:56:24
200
1
原创 UGUI锚点的理解(Anchors)
在UGUI每个组件中,都会有如下图所示的可移动图形,四个小三角形顶点重合并两两相对的点,我们称之为锚点(Anchors)作用锚点实现了组件的屏幕自适应锚点也可以使组件固定在某个区域内在理解锚点之前,我们先试着了解一下,什么是Anchors也就是什么是我们所谓的锚。锚一般指船锚,是锚泊设备的主要部件。铁制的停船器具,用铁链连在船上,把锚抛在水底,可以使船停稳。由此我们不难理解...
2020-03-13 11:28:18
2033
原创 用unity制作向外扩散的圆弧
创建向外扩散的圆弧话不多说,先放上效果图接下来阐述一下思路圆弧要向外扩散半径线性增大角度线性增大算得新cube的坐标,在3d坐标系中,取两个坐标作为平面坐标即可。半径和角度的线性增大很好处理,循环同时给个增量即可新cube的坐标需要通过计算但实际上也很好想,就是计算出1. x的增量2. y的增量其中:x的增量为半径乘上变化角度余弦值y的增量为半径乘上变化...
2020-03-10 20:17:56
3896
原创 欧拉角Euler Rotations---yaw/pitch/roll
什么是欧拉角Euler RotationsEuler用来体现在3维空间中,物体的旋转。计算主要分成三个轴上的旋转,分别是x轴的pitch,y轴的yaw,z轴的roll。下面将分别演示,三个角各自的作用----暂时先不考虑XYZ轴的问题YAW(航空中被形象的称为偏航角)2.PITCH(航空中被形象的称为俯仰角)3.ROLL(航空中被形象的称为翻滚角)如果要以XYZ轴的方向来...
2020-03-05 12:42:03
1464
原创 C#中关于String和new String的==、equals、referenceEquals
C#中关于String和new String的==、equals、referenceEquals首先可以给出结论String虽然作为引用类型,但*==运算符*,比较的是值是否相等(new String和String一样)equals 也是同样比较的是字符串的值是否相等。也就是说,Equals和==在C#中比较的都是字符串的值,这与java不一样referenceEquals不...
2020-02-21 12:36:43
1095
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人