自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 余弦定理

向量减法 去证明 三角形法则 两个向量相减,差向量就是从减向量的重点只想被减向量的终点 所以BC =AC-AB 就是B只想 C的向量 等于 A指向C减去A指向B的向量。之后根据等式两边的一句 等式两边平方为了利于向量数量 的运算性质来推导三角形的关系 根据平方公式(a-b)^2 =a^2-2ab+b^2。cosA <0 为了用正数表示 AD的长度 需要绝对值 |AD| = c*|CosA|=c*(-CosA)=-ccosA。又因为向量的平方等于向量模长的平方 那么BC 的向量平方=BC的模长平方。

2025-05-12 19:37:57 1215

原创 弧度和三角函数计算UI的扇形表现

我们中间的图的位置就这个区间的lerp 的一个弧度 之后通过 Cos *r = X。定义min pos 根据求弧度公式 Mathf.pi * Angle/180。Sin *R=Y 最后就是我们的坐标 ,对于旋转角度自己设定一个值就可。这个图就可以作为参考 黑色就是 min 右侧就是 Max。之后要根据我们的目标数量 计算 我们的单一对象的弧度 区间。之后根据我们的三角函数计算我们的位置。求这个扇形 就要求出一个弧度。弧度 = 角度 *Pi /180。角度=弧度*180/pi。Max 扇形右侧也同样。

2025-04-07 15:51:12 452 1

原创 Animation 和Animator 性能对比

旧版本动画是因为他虽然也有缓存,但是他会释放动画文件,所以导致旧版本动画慢了一些,但是如果动画 特别多的话我们还是使用新版动画好一些。只要原因是因为新版本动画优化的手段,他会缓存我们的动画文件,对于频繁失活的新版本动画他缓存了就导致速度更胜一筹。对于单独的动画可以看出 我们的旧版本动画速度慢了一点。测试场景 一个 单独的录制。

2025-01-15 20:12:53 287

原创 NodeCanvas BT(行为树)

导入插件 这个在Unity 商店里面是需要你11美刀 ,作为 一个白嫖党, 买是不能买的可以去TB 找一个, 首先介绍一下基本的用处,基本都是作为我们的行为树,行为树可以应用于我们的游戏AI,或者你的玩家 , 我们通过可视化的视图加快我们的开发速度 ,可以直观的看到是那个节点不去执行。在我们的左边去进行打印 他就会一直打印,他会先执行左边的节点 如果左边的返回成功 就会重新执行导致了一直执行左边,可以把优先级搞的属性放到左边通过这个 组合节点进行执行。成功:如果设置为“首次成功”,则任何孩子返回成功。

2025-01-09 15:31:11 342

原创 Unity 实现贝塞尔曲线自由

今天偶然法现了一个有趣的工程,蚂蚁行军,发哥之前在博客上讲过,然后我今天突然想到了贝塞尔曲线这个数学公式,很有趣的数学公式,之前应用在2维的平面上, 现在在Unity游戏行业中打出的特效或者是子弹很多都应用到了贝塞尔曲线让我们的游戏更加的有趣。我们的当前的位置 就是起始点到目标的过程 ,当前位置就是起始点加上目标点减去起始点的距离*t的百分比 t=0-1。我们先设计一个栗子,一个人从p1到p2 他的位置变化是什么样子的用数学公式可以表达为。但是这个 却又是贝塞尔的基础 也就是我们的一阶贝塞尔曲线。

2025-01-06 13:47:46 755

原创 如何使用Git or SVN--可视化工具

其实这个因为有开发权限 ,你是不能在开发分支提交的你要去新建一个分支开发然后合并过来 你新建的分支是和你的分支同步的不用担心覆盖的问题。不会吧 现在还有人不会Git可视化工具 ,作为一个从命令行转为可视化的开发者,深知这个可视化工具的重要性,之前在命令行去维护我们的工程是一个很头疼的事情 ,后面也就有了可视化工具,市面上的工具的教程都不是很详细哥们,看这个一篇就OK了,之后你的项目就拉取 这边我建议不要去改动你的主分支 ,一般的项目都是有Dev 分支作为你的开发分支,当然服务器也有服务器分支。

2024-12-12 10:25:37 713

原创 一分钟带你了解Unity的粒子特效优化

粒子优化

2024-12-05 15:36:18 819

原创 如何快速上手UPR ---查看资源检测报告

这个的话开启还是可以的 ,因为要考虑两个问题流失曲线 和密集曲线 应用 ,已经关键帧压缩的应用是那种 ,其实keyfame 是采用的流失曲线 ,而Optimal 是Unity提供自动选择两种曲线,影响的不大因为会帮我们根据当前的轨道的长度以及嘈杂 值去选择但Optimal 对于当前的动画内存还是有优势的 内存基本会缩减10--50%基本就是这么多 ,优化的时候要明白原理 ,不要盲目的优化 ,保证效果的前提你的项目速度得到提升就说优化的意义!这个可以忽略因为这个是在。如果您开发的是手游的化。

2024-11-29 16:43:57 708

原创 如何快速使用Unity 的UPR---1资源检测保姆级

unity-asset-checker-win-1.19.21>assetcheck.exe --project=C:\Project\你的项目。assetcheck.exe --project=<unity工程所在路径> --projectId=<UPR项目的id>。关于我们的性能检测工具已经有很多了,比如UWA的或者是我们的Unity 的UPR。首先优化项目要资源检测工具 ,我发现我们的市面上的文章写的都没有特别详细。找到你的Assets Check 的位置 一定要到你的Exe文件的目录。

2024-11-29 09:45:55 649

原创 查看DrawCall流程 Unity工具 Frame Debug

基础面板 可以看到 我们可以通过切换面板 看DrwaCall产生。MainTex 就是材质了。合批 就会一次性直接渲染。

2024-08-09 16:54:42 596

原创 把Unity Assets 资源转换 为 Image

2024-08-04 11:13:47 175

原创 震惊 !!我反射了生命周期 --反射

/它会返回name对应类的描述,这也是为什么脚本不能重名。t.addMethod("GetHit" , 成员方法 , 地址);今天测试反射的时候突发奇想 调用了untiy 里面的生命周期!.net 很多东西都是从 java 里面过来的 可以看看java 的。t.addMethod("Healing" , 成员方法 , 地址);现在外面要调用Type 里面的函数 来获取具体的类。一个集合是里面的函数方法 最基础的构成。首先 我们可以知道 C# Type 里面的属性。

2024-07-20 12:01:25 398

原创 Unity中协程(IEnumerator)

yield return new WaitUntil()//将协同执行直到 当输入的参数(或者委托)为true的时候....如:yield return new WaitUntil(() => frame >= 10);yield return new WaitWhile()//将协同执行直到 当输入的参数(或者委托)为false的时候.... 如:yield return new WaitWhile(() => f。yield return StartCoroution(/*某个协程*/);

2024-07-19 09:37:50 1330

原创 粒子裁剪 --Effects

因为我们是一个3D的空对象 我们可以看作一个 2d 一个平面就可以了 我们去修改 简视面板缩放比例 就完成;同理可以根据美术去拿到自己想要的形状 这边就默认就可。要是放到Img 上也可以 只不过要在层级面板 修改父级。创建一个 空对象 然后添加 这个平面裁剪 这个组件。这个平面裁剪特效 是我们一般要应用 的重要属性。可以把特效固定在一个范围 达到你想要的效果。先创建一个 粒子特效 有美术需求 同理。好了已经初步形成但是太小了。可以看到没有范围的约束。修改这个裁剪模式就可以。

2024-07-11 15:32:59 255

原创 Animation 老版本动画 播放问题

可以看到这是一个Animation 组件是不是觉得托进入就可以 播放了?这个时候就可以进行使用。

2024-07-11 10:12:37 216

原创 穿山甲广告接入

在 Unity 编辑器中打开您的项目,然后依次选择 Assets > Import Package > Custom Package,并找到您下载的 CSJ_M_SDK.unitypackage文件。dir D:\unity\2021.3.33f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK 的目录。就可以查看到 然后基本准备工作就可以了然后到 入官方的Demo。因为是激励广告 所以在这里去修改 自己的个人ID。这个是里面的API 可以参考。

2024-07-10 16:28:08 1533 1

原创 Unity 打出来 安卓包

记得查看是否有Sdk。

2024-07-09 16:51:10 251

原创 减少DrawCall 方法

具体过程就是:设置颜色-->绘图方式-->顶点坐标-->绘制-->结束,所以在绘制过程中,如果能在一次DrawCall完成所有绘制就会大大提高运行效率,进而达到优化的目的。在unity中,每次CPU准备数据并通知GPU的过程就称之为一个DrawCall。合并网格时候合并材质球 减少Draw Call。什么是DrawCall?

2024-06-06 22:54:30 365

原创 URP--Shader Graphs

之后的效果可以看到眼睛的位置不对 我们要修改这个位置就需要一个 pos 和 scale。首先确保自己下载了unity 2022版本。打开了项目 我们要去实现这个合并脸部贴图。开始更换材质球和纹理 里面的shader。shader 修改完成。就可以得到这个材质球。

2024-06-04 18:50:13 239

原创 技能编辑器 -----1

【代码】技能编辑器 -----1。

2024-05-28 10:57:49 344

原创 框选 ---UI

取出img 里面填充。

2024-05-21 14:18:16 240 1

原创 小地图导航

一般的情况下面 人物的位置是左下角 0,0 的位置 地图的锚点也就是 左下角。在我们打游戏的时候可以点击小地图进行导航移动 那么这个导航移动的原理是什么呢?我们要是想绘制出来导航的路径 在小地图映射出来 就要求拐点。有2个思路 第一个思路是运用 UI 坐标进行转化。

2024-05-21 13:55:58 304

原创 设置 IK 骨骼动作

clampWeight 权重的限制。0代表没有限制(脖子可能看起来和断了一样),1代表完全限制(头几乎不会动,像是固定住了)。0.5代表可能范围的一半(180度)。eyesWeight 眼睛权重,眼睛参与LookAt的权重,一般是0(一般没有眼睛部分的骨骼)bodyWeight 身体权重,身体参与LookAt的程度,一般是0。headWeight 头部权重,头部参与LookAt的权重,一般是1。Weight 全局权重,后面所有参数的系数。首先设置骨骼类型 必须是人物骨骼。因为要和动作融合所以一定要设置。

2024-05-21 09:49:32 271

原创 Timeline 自定义轨道

Asset 可以转换为 BehaviourAsset BehaviourAsset转换为 Behaviour。我们可以看到继承 PlayableAsset 里面有一个抽象的方法 这个可以看到是一个工厂模式。Data 是数据 clip 是Asset 类型轨道那一段戏。我们要生成一个 playerable 返回 这个时候我们要去用工厂创建。我们开始时候我们不知道终点在那里 我们要克隆一个出来 clone。然后定义一个 剧本 要放入一个数据 再返回一个数据 clip。

2024-05-21 09:34:24 461 1

原创 实用的虚拟相机 -3种

因为这个没有 box 所以我们要 开启共享网格。添加一个事件 我们可以用 button 更改。这个类型的相机confiner。第一个属性是 2D or 3D。就可以相机在物体落下后抖动。我们可以用模拟事件完成抖动。因为是2.5D 我们要加。虚拟相机中共有一个扩展库。字面的意思 会发送一条线。空对象加上这个触发脚本。Timeline 应用。

2024-05-08 15:23:06 579 1

原创 柏林噪声 4类型

我们可以参考知乎上面的一篇文章 里面的数学公式去实现不同 的柏林噪声类型。倒着的M代表的是+ | 绝对值 |我们可以把 四种公式套到unity 开发中。

2024-05-08 08:45:26 262 1

原创 手写Mesh 去加到粒子特效中

改变类型 Rende'rer。添加一个生命周期大小。

2024-05-06 19:42:01 219

原创 如何在untiy 中根据模型生成.png

我们首先找到要生成的对象因为是prefab 预制体的格式 我们要进行一个转换。我们有一个问题 UnityEditor 是不能打包的 我们必须放在这个文件夹中。我们可以先把自己需要的资源的图片生成 后放入 因为我们要运行。首先创立一个父节点去进行旋转就行。

2024-05-06 16:41:20 404

原创 Shader 简单认识合成材质球

【代码】Shader 简单认识合成材质球。

2024-05-06 14:52:49 331

原创 雷达图--

【代码】雷达图--

2024-05-06 09:48:43 169

原创 轮转图--DoTween

周长=2*PI *R R= 周长/2*PI 弧度=2*PI 弧度= 周长/半径 周长=半径乘以弧度。计算缩放比值,例如:半径是1,最近是-1最远是1,所以要算直径的比值,将最近和最远都+1,得出0到2的值,用它与直径2作比较。2D 排序是缩放x 值 (大小) 3D排序的是z (远近)PI=圆周率 R=半径。2D轮转图排序 和3D轮转图排序区别。首先用引入一个DoTween。看看代码就可以了原理很简单。

2024-05-05 20:09:41 248

原创 unity--换武器

今天讲一下如何换武器 首先我们要知道在unity 中所有东西都是网格绘制的 ,在计算机图形学中我们看到计算机中的一切东西都是无数个三角形绘制出来的,这个时候我们就会有疑问为什吗要说网格绘制?换武器的是在骨骼上面呈现 ,我们在骨骼上面进行换装 换衣服 换头 所以我们换武器也可以归类其中创建一个骨骼空对象我们要往上面加mesh进行绘制 人物首先认识。

2024-04-29 15:48:46 953 4

原创 unity 如何获得更多的模型和动画 进行缝合---MMD4Mecanim

链接: https://pan.baidu.com/s/1GdhbyNuWVdK51IPOFC200g?pwd=b8sn 提取码: b8sn。里面有很多的模型以及动画我们今天拿咎瓦尤斯进行举例。模型里面就会有动画直接加入Animator 就行。首先有 MMD4Mecanim插件。我们想要加入动画就可以在这加。动画的图片类型直接拖入。在unity 里面一定要有。就可以看到这个然后点击。我们可以找到这个网站。

2024-04-29 13:42:58 342 2

原创 虚拟相机--FreeLook Camera

Cinemachine的核心在于虚拟相机。通过虚拟相机,开发者可以创建多个相机设置,实现平滑的相机切换和流畅的视角变化。这种设计极大地简化了相机管理的复杂性。Cinemachine中的Virtual Camera(虚拟相机)可以说是最核心的组件。现在我们已经知道里面的数据我们 可以写代码控制 相机。

2024-04-28 14:23:55 943

原创 手写 Dotween To

我们一般要引入 DoTween 的时候会特别的麻烦因为要导入 pack 包 我们是不是可以用一些技巧代替呢?如果持续事件只有1秒的 但是这个timeline 播放完毕需要 2秒就会导致当前的结尾函数不执行。有一个小问题 我们设置timeline 的事件动画区间不要太短。持续事件稍微变长就行因为我们写的函数中可以直接销毁当我们运行结束后。--Timeline手搓DoTween。创建一个空物体拖入到 Timeline。先创建这个Timeline 窗口。------来了来了。

2024-04-27 09:33:15 411 1

原创 人物换装-Mesh

可以融合里面的mesh 和材质 我们不能改变uv 我们如果不小心改变了uv 就是一个很苦恼的事情。因为我们用的sharedMaterial 就会直接更改这个 材质的本身就会导致回不去了。骨骼是用变化的 我们是把衣服放在骨骼上 所以骨骼必须创建。我们之后就可以和上一篇博客 中的合并 一个思路。我们可以先把拆分的资源给打开只读只写。好了 回归正题我们要换装了。

2024-04-26 16:23:18 324 1

原创 合并Mesh --CombineMeshes

合并网格 CombineMeshes ----将多个网格合并到此网格中。这个是网格不能访问 我们去打开就可以。材质可以为空因为我们要去直接绘制。首先把要合并的物体网格 创建。light 光照贴图。把两个都物体拖入集合。

2024-04-26 15:37:08 797 2

原创 Mesh 运用 捏脸 -sharedMesh.AddBlendShapeFrame

我们先认识一下 动画蒙皮。

2024-04-26 15:19:50 478 1

原创 柏林噪声 绘制地图

在上世纪80年代,柏林噪声的发明者Ken Perlin尝试用普通噪声模拟随机效果,用于正在制作的经典迪士尼电影电子世界争霸战(TRON),但一直无法得到满意的效果,柏林噪声算法就这样应运而生。自然界中层叠的山峦,大理石的纹理,海面高低起伏的波浪,这些现象看似杂乱无章,却都有内在规律可循,普通的噪声无法模拟出这些自然效果,柏林噪声算法使这些成为可能。sharedMateial 只会变自己。Mateial 会变所有。teture //默认材质。这个究竟是什么意思呢?第三个就是网格碰撞器。

2024-04-24 14:53:27 552 1

空空如也

空空如也

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

TA关注的人

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