- 博客(12)
- 收藏
- 关注
原创 简单讲解一下数据结构PriorityQueue(优先队列)
优先队列比较核心的两个接口大概就是这样的,实现就是按照子节点父节点的方式,去使得整个队列的顺序是按照指定的比较方法去排列。
2025-02-16 17:43:11
304
原创 用Unity Shader实现边缘发光的效果
根据上边两点,可以知道,我们看物体的边缘地方跟我们看物体的中心地方,角度是有一定的区别的,物体的中心区域的法线方向是垂直于物体中心区域,也就是与相机的视线平行,而物体的边缘区域的法线方向是垂直于物体边缘区域,也就是向外的(上下左右的方向)。这里的意思就是,让物体的自发光为红色,越是边缘的地方,红色越明显,颜色可以自己定义一个变量来进行调整,或者用其他纹理图片的rgba来代替。在Unity里我们看物体,实际上就是相机在看物体,我们看到的所有东西都是通过相机视角。物体的每个地方的法线都是垂直于这个地方的。
2025-02-12 13:28:02
416
原创 在Unity写一个最简单的Shader
ConstantColor("ConstantColor",Color)=(1,0,0,1)//自定义的颜色。_ConstantColor("ConstantColor",Color)=(1,0,0,1)//自定义的颜色。_ConstantColor("ConstantColor",Color)=(1,0,0,1)//自定义的颜色。_MainTex ("Texture", 2D) = "white" {} //贴图。_MainTex ("Texture", 2D) = "white" {} //贴图。
2025-02-12 12:58:21
230
原创 Unity生命周期的三个Update和协程的区别
一个是判断当前帧的时长,如果这一帧卡顿了,unity会让FixedUpdate执行多次,假设FixedUpdate的频率是0.02s一次,而有一帧卡顿了0.06s,那么FixedUpdate就会执行三次,来确保更新不受影响。为什么不能把物理的逻辑放到Update,而要放到FixedUpdate,这是因为FixedUpdate的更新频率是固定的,而Update的更新频率是跟每一帧的时长有关系的,是不够稳定的。还有一个是Unity会控制FixedUpdate的每帧最多执行的次数,一般是16次。
2025-02-12 10:55:22
242
原创 基于SurfaceShader的顶点偏移跟uv偏移
/这里是让顶点的位置随着法线位置进行移动,Position是我在Properties里定义的Float值。在SurfaceShader的基本代码中是没有顶点着色器的,需要自己主动定义一个顶点着色器函数入口。//这里的参数类型appdata_base 是内置定义好的,可以去Unity手册看具体有哪些信息。//参数类型Input是SurfaceShader默认定义的,我们可以根据需求自行进行修改。//参数类型SurfaceOutput 是内置定义好的,可以去Unity手册看具体的信息。//自定义顶点着色器。
2025-02-12 10:32:49
325
原创 Unity内置渲染管线跟URP管线的区别
传统的内置渲染管线(Buitin Render Pipeline)采用的是较为固定的框架结构,在处理不同类型的材质和光照效果时灵活性较低。而Unity URP (Universal Render Pipeline),作为可编程的渲染管线,提供了更高的自定义能力以及更高效的资源管理方式。总的来说就是内置渲染管线流程固定,且不可定制,渲染质量高但性能较低,URP渲染管线就是流程可制定,渲染质量没有内置渲染管线质量高但性能较高。定位:Unity早期版本的默认渲染管线,提供基础染功能,兼容所有平台。
2025-02-12 10:12:36
769
3
原创 简单的向量运算
result=Vector3.Dot(transform.forward,dir)//角色的朝向跟角色到目标的方向。result>0 :目标在角色前方(夹角 <90°)通过点乘跟叉乘可以获取目标在角色的具体方位,左前、左后、右前、右后等。叉乘:Cross(A,B)=A*B=|A|*|B|*sin(AB)cos(AB)代表A向量跟B向量的夹角的cos值。点乘 :Dot(A,B)=|A|*|B|*cos(AB)|A|、|B|分别代表两个向量的长度。sin(AB)代表A向量跟B向量的夹角的sin值。
2025-02-11 14:30:18
267
原创 用Unity的Shader实现一个简单的OutLine效果
简单写一下,用Shader实现一个简单的OutLine效果,原理很简单,就是用两个Pass来进行渲染,第一个Pass渲染边缘,第二个Pass正常渲染物体。//在Properties里定义的float值。//这里拿指定的颜色来举例。
2025-02-11 14:04:54
288
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人