自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 Unity LayerMask原理以及在射线检测中的应用

Unity使用了一个int32类型来表示Layer层,其本质在于用一个32位来表示32层,unity存储层的方式是将该位置1其余位置0来表示,比如声明了一个Ground的层其层编号为9,那么在unity的存储方式为000000000000000000000001000000000(二进制)将第九位置为1其余的置为0来表示该层,将这串二进制转换为Int32类型为512。同理LayerMask.LayToName(int)则是根据层索引,返回层名称,比如说我写入9,那么返回的应该是Ground。

2024-06-14 10:09:43 248 1

原创 ​C# 获取月份的天数的方法 ​

DateTime dateTime = new DateTime(2023, 8, 17);int days = DateTime.DaysInMonth(dateTime.Year ,dateTime.Month);

2023-08-18 11:11:38 583 1

原创 Unity渲染绘制接口 Graphics.Blit

Graphics.Blit通常用于后处理,需要注意的是使用后会修改RenderTexture.active,在此接口后直接使用Graphics绘制接口,不会生效。Graphics.Blit(source, dest,mat):使用着色器拷贝原纹理到RenderTexture。

2023-08-14 17:36:25 900

原创 Unity DOTS技术

添加//为单个实体添加组件//方法1//方法2//批量添加组件//方法1:通过NativeArray//方法2:通过EntityQuery//为一个实体添加多个组件数据初始化数据初始化有两个方法,一是通过AddComponentData通过代码在添加组件的同时初始化,二是为组件类添加[GenerateAuthoringComponent]特性,这样该组件就可以被挂载在物体上通过Inspector面板赋值});组件的获取和修改//组件获取//设置组件的值});组件的删除。

2023-07-27 17:42:41 6068 1

原创 Unity 光照渲染

Directional Light可以用来模拟太阳光,此光源的光照强度和衰减属性与位置无关Color:改变光照的颜色Instensity:光照强度。

2023-07-26 20:14:23 938 1

原创 Unity Shader学习-高光反射

Phong高光反射公式:specular = 环境光颜色* 高光颜色* pow(max(0,cos。为反射光和视线方向的夹角。

2023-05-10 14:18:17 113

原创 素数筛(埃氏筛和欧拉筛)

我们简化为i = a * m,其中m为b * c * ...,a为最小质因数,我们用一个数组prime来存储目前的素数集合,我们设目前遍历到的数字为i,由正整数的唯一分解定理可知,i = a * m,假设a为最小质因数,那么在遍历到i之前已经确定了[2,i-1]内所有质数的倍数了,比如说i = 12,那么在i = 6,prime[j] = 2时已经标识过一次。我们对上面的算法可以进行一些改进,我们在判断素数的时候遍历到n,但实际情况两个数相乘x * y = n,那么x,y必须有一个大于。

2023-05-06 10:36:29 147

原创 Unity shader学习-漫反射-兰伯特光照模型和半兰伯特光照模型

一般来说片元会比顶点效果更平滑更精细,但是性能消耗也就更大一些。

2023-05-05 16:17:37 213

原创 树形DP算法

而要求左右子树的最大深度,我们要分别对左右子树进行递归,递归计算树的深度的同时,我们也可以计算以该子树的直径,并用一个值ans来维护,找到ans的最大值即为我们要求的二叉树直径的最大值。那么我们该如何求二叉树的直径呢,学过数据结构的同学可能知道,二叉树具有着天然的和原问题相似的子问题结构,在求树的深度的时候我们就可将树分为左子树,右子树和根,分别对左右子树递归得到树的深度。首先我们先分析题目什么是二叉树的直径,如下图所示,红色部分即是二叉树的直径,可以经过根节点也可以不经过根节点。

2023-04-27 10:09:23 106 1

原创 Unity Shader学习-编写一个简单的shader

在第三点我们介绍了struct结构体,我们每次写一个新的脚本时我们都要自己定义一个结构体用于管理输入和输出,但是这些结构体他们形式上都是一致的,支持的语义也是固定的,每次写一个新的脚本我们都要重写一次无疑增加了我们的代码量。如上述代码所示,如果传入和返回值有很多个怎么办,传入值可以写入多个,但是这样就显得代码异常冗余,而且如果有多个返回值我们也没有方法传出,所以我们引入了结构体,我们可以将参数和返回值定义成结构体以此达到传入和传出多个值。用法:我们写一个简单的例子,我们不必在意里面写的是什么意思,上代码。

2023-04-24 16:38:42 457 1

原创 Unity Shader基本结构

ShaderLab提供了一系列渲染状态的指令,在 Pass 代码块中使用这些命令可为该 Pass 设置渲染状态,或者在 SubShader 代码块中使用这些命令可为该 SubShader 以及其中的所有 Pass 设置渲染状态。在 Pass 代码块中使用这些命令可为该 Pass 设置渲染状态,或者在 SubShader 代码块中使用这些命令可为该 SubShader 以及其中的所有 Pass 设置渲染状态。作用:声明变量会显示在Inspector面板中。在属性块中声明的变量,可以在材质面板中进行调整。

2023-04-24 11:00:54 224 2

原创 Unity Shader学习-数学基础-矩阵

定义:M矩阵的转置为M矩阵沿着主对角线反转,记作。单位矩阵:主对角线上的值全为1,其余值全为0。设M1:a行b列矩阵,M2:b行c列矩阵。条件:第一个矩阵的列等于第二个矩阵的行。对角矩阵:除主对角线的以外的值全为0。1.矩阵乘以对应的单位矩阵等于他本身。结果:M1 * M2为a行c列矩阵。例如:3 x 3矩阵。行向量:1 x n的矩阵。列向量:n x 1的矩阵。方阵:n x n阶矩阵。三者的关系:单位矩阵。

2023-04-13 10:48:35 533 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除