自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (1)
  • 收藏
  • 关注

原创 unity场景优化

unity场景优化 遮挡剔除 层消距离技术 LOD

2023-02-04 21:30:50 2816 7

原创 Unity通过NDK实现C#与C++之间的相互调用

C#是Unity的官方推荐的开发语言。如果某些逻辑需要C++支持以提供高性能特性,或者需要C++去跟底层硬件或者操作系统级别的接口交互,那么就需要用C#去调用C++的接口。这往往依赖动态链接。即用C++开发动态链接库,然后C#调用动态链接库里暴露的接口。而在Android上开发动态链接库(.so文件)的方法,就是NDK开发。

2024-07-09 00:33:21 685

原创 Unity 从0开始编写一个技能编辑器_03_Buff系统的Handler

BuffHandler可以是用于处理角色身上buff的Mono类,任何具备跟Buff交互的角色,都要携带这个BuffHandler脚本。如果你的Buff有额外的处理机制,比如互斥Buff(如:免疫负面效果的霸体),需要在AddBuff方法中额外处理。当然 也可以不作为mono转为BaseFightObj的一个引用的实例,在BaseFightObj这一类中的生命周期进行调用

2024-06-22 01:15:25 412

原创 Unity 从0开始编写一个技能编辑器_02_Buff系统的生命周期

工作也有一年了,对技能编辑器也有了一些自己的看法,从刚接触时的惊讶,到大量工作时觉得有一些设计的冗余,在到特殊需求的修改,运行效率低时的优化,技能编辑器在我眼中已经不再是神圣不可攀的存在的,所以可以开始正式进行技能编辑器的编写工作了。 首先 无论是塔防 MOBA 还是MMO,buff机制都是不可或缺的一部分,buff可以看作是由Timer实现的一种计时器,即以时间为单位执行一些脚本事件 比如:敌方对我造成**dot**伤害(每多少秒灼烧(被作为**target释放技能**)),buff也具有层数 我被友

2024-06-10 01:47:28 880

原创 Moba中的弧线轨迹 子弹、人物绕某点弧线移动以及技能指示器绘制办法

三点定弧 上文圆心x,y作为指示器gameObject的子物体指示器的偏移按照上述伪代码给出的半径重新赋值即可。确定时 ,圆可确定,速度 加速度和位移时间只决定了圆的完整性 弧度对此圆的占比。人物位置确定 技能方向dir也是定制 在设计中位移半径也是定值,当。Moba游戏中一些情况需要用到弧线轨迹 例如lol中皎月的Q。圆弧轨迹实际是人物、子弹绕某点进行圆周运动,下面分享一种轨迹和指示器的制作思路。通过dir方向截取弧长绘制即可。,下篇博客我会给出自己的代码。y 加速度等同理 调试即可。

2024-03-15 20:53:41 408

原创 SVN Previous operation has not finished; run ‘cleanup‘ if it was interrupted

当然也不排除工作队列满的情况,这种情况下就需要使用 sqlite3.exe 进行清除工作队列的操作了。当遇到这个问题解决不了之后去百度查了一下,结果大部分都是让安装一个叫做 sqlite3.exe 的内嵌数据库,安装之后使用命令将 work_queue 表中保存的工作队列清除,但是按照教程一顿操作之后还是没有解决问题。其实原因很简单,就是因为要更新的目录中有打开的文件没有关闭,所以才会出现这种错误。很多时候只要将需要更新的目录中已经打开的所有文件都关掉,再执行更新就可以了。

2024-01-30 21:42:50 547

原创 Unity inspector绘制按钮与Editor下生成与销毁物体的方法 反射 协程 Editor

应美术要求,实现下Unity inspector绘制按钮与Editor下生成与销毁物体的方法所用技术为 反射 协程 Editor编程

2023-12-16 00:19:10 458 1

原创 Unity-Shader - 2DSprite描边效果

实现一个简单的2D精灵图描边效果,效果如下。

2023-12-06 00:32:40 974 1

原创 Unity json反序列化为 字典存储

通过使用Unity的JsonUtility和C#的泛型方法,我们可以方便地加载和管理游戏数据。我们可以使用Unity的JsonUtility来反序列化JSON数据并将其映射到自定义的C#数据结构中。在DataManager的Init方法中,我们加载并初始化了游戏数据,包括角色数据、武器数据和怪物数据。当我们要解析的json特别多时 我们定义了一个泛型方法LoadJson,该方法负责加载JSON数据并将其反序列化为具体类型的字典

2023-11-07 22:03:13 1013 1

原创 Unity 从0开始编写一个技能编辑器_01_分析需求

CreateAssetMenu(fileName = “New Skill”, menuName = “Skill System/Skill”)] 是一个特性(Attribute),用于在Unity编辑器中创建新的技能资产(Asset)。通常,技能由多个元素组成,包括技能效果(Effect)、技能触发条件(triggerr)、技能冷却时间(Cooldown)等。可以创建多个不同类型的ScriptableObject,例如Skill、Buff、Effect、Bullet等,以满足不同的需求。

2023-09-10 01:48:55 1521

原创 Unity UI与粒子 层级问题Camera depth Sorting Layer Order in Layer RenderQueue

Unity游戏开发中,模型、界面、特效等,需要规划好的概念,涉及到摄像机(Camera)、画布(Canvas)、Shader等相关内容。。

2023-09-01 01:30:44 2457 5

原创 Unity OnDrawGizmos的简单应用 绘制圆形

因为在实际项目中,我们实际碰撞的物体,往往是数据而非实体,在DrawCirCle函数中,我们可以传入一组vector2的向量进行”数据上“碰撞的查看,这对于配置表编写技能调试是有用的,而且你可能需要在场景视图中绘制一些自定义的图形,而不仅仅是简单的碰撞体形状。目前我们的项目应用的是配置表,前几天在制作一个英雄时踩坑,特效中心和实际位置中心不在一处,因为用的是配置表,所以调试起来特别麻烦,所以写了一个简单的可视化的逻辑。但是崩坏3,或者鬼泣,格斗游戏,可视化编辑器是唯一的选择。编辑器和配置表各有各的好。

2023-08-24 23:41:06 1311 2

原创 控制renderQueue解决NGUI与Unity3D物体渲染顺序问题

NGUI与Unity3D物体渲染顺序问题,做过UI的各位应该都遇到过。主要指的是UI与Unity制作的特效、3D人物等一同显示时的层次问题。由于UI与特效等都是以transparent方式渲染,而Unity与NGUI在管理同是透明物体的render queue时实际上互相没有感知,于是引出排序问题。现在介绍以render queue值,来达到使得UI、特效按照我们希望的顺序进行渲染的目的。

2023-08-12 10:37:47 912

原创 Unity噪声图生成(编辑器扩展)

unity噪声图

2023-07-24 22:06:53 1277 3

原创 匈牙利算法解决英雄配色问题

匈牙利算法解决英雄配色问题最近在开发中遇到了这种情况,策划要为每个英雄去做配色,一个英雄在表中可能有多个配色(可能重复),每次对局要选出五个英雄并让他们的颜色不同

2023-07-16 18:20:08 141

原创 Unity合并网格并保存

合并网格并保存

2023-05-30 10:33:54 377

原创 Unity ShaderGraph溶解特效制作

溶解效果是游戏中常用的一种效果,可用于人物死亡时的消失。溶解效果的原理是通过一张噪波贴图,实现模型上随机消失或者说是模型从有到无不规则消失的一个效果。shader graph整体,链接完成后记得点击。然后将他赋给材质球,将材质球挂载在场景的物体上。

2023-05-28 13:43:53 479

原创 unity 有关协程脚本的停止

即使取消勾选(或者禁用脚本)协程不会停止,闪烁效果依然存在。通过在 MonoBehaviour 实例上将 enabled 设置为 false 来禁用 MonoBehaviour 时,协程不会停止。

2023-03-12 23:07:12 995

原创 【解决】MissingReferenceException: The object of type ‘GameObject‘ has been destroyed 观察者模式 监听物体被销毁

该情况发生于我的观察者模式在重新加载当前场景时 监听的物体被销毁通过分析,定位到错误是在观察者模式使用事件分发器注册监听 消息。其内部方式使用 委托订阅方式进行,在重加载场景时,unity调用Destory()生命周期函数 此时监听挂载没有被清楚。或者说该监听需要的gameobject 实例被重新加载时销毁掉了

2023-03-07 21:14:24 3022 2

原创 Unity 观察者模式

最近在实习中,遇到了这样的问题,在与不同碰撞体碰撞时需要触发不同的事件,比如人物播放一段动画、播放一段语音,或者是切换摄像机,显示某个UI。这样看上去其实也不太难。但如果需要去关联的事件很多,就需要在类中去获取各种各样的对象,非常麻烦而且也会使程序耦合性变高,这时就需要使用到观察者模式。其本质就是通过将各个类中的方法都关联到一个固定的类上去,由该管理类去统一决定是否调用。由于很像是管理类去观察着各个类的情况,所以我们管这种设计模式叫做观察者模式,下面是观察者模式的简单实现。

2023-03-03 23:25:38 322 2

原创 Dotween报错 当前上下文中不存在名称“DOTweenModuleUI”

Dotween报错 当前上下文中不存在名称“DOTweenModuleUI”

2023-03-01 17:13:27 488

原创 Unity协程的简单应用

协程的概念 协程的简单应用 UI闪烁 计时器 场景异步加载等

2023-02-28 21:28:57 1129 1

原创 unity reload场景后 UI层级出现问题

unity重加载场景 UI层级不正确

2023-02-22 13:32:03 549

原创 Application.isWebPlaye 被弃用如何修复

Application.isWebPlaye 被弃用如何修复

2023-02-16 09:25:26 412

原创 unity物体位移 旋转后的复位问题

unity物体复位操作

2023-02-13 20:27:34 2341

原创 unity 动画 人物模型下沉的可能情况

unity3d 使用animator人物模型下沉(非一直下坠)

2023-02-12 20:33:13 2246

原创 unity 动画片段切割

在工作的时候,美工往往给我们连续的动画预制体,这时候就需要我们自己去切割,可以请美工给出具体的间隔时间。后续有时间我会更新FSM去管理动画和animator,或者写一些动画管理器。

2023-02-07 20:26:35 1696 2

原创 Unity 编辑器里重新加载场景后灯光变暗

关于unity重新加载场景灯光变暗的解决办法

2023-02-02 20:11:57 1864 1

原创 Unity Dotween

dotween

2023-02-01 09:39:58 398

原创 软件光栅化(Sokolov的教程)一

计算机图形学 软件光栅化

2022-12-22 22:40:03 343

原创 C++ pair

1,pair的应用pair是将2个数据组合成一组数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。 pair的实现是一个结构体,主要的两个成员变量是first second 因为是使用struct不是class,所以可以直接使用pair的成员变量。其标准库类型–pair类型定义在#include 头文件中,定义如下:类模板:template<class T1,class T2&g

2022-04-24 23:44:47 3033

原创 力扣41 448 ’用数组设计哈希‘

448.找到所有数组中小时的数字给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。示例 1:输入:nums = [4,3,2,7,8,2,3,1]输出:[5,6]示例 2:输入:nums = [1,1]输出:[2]提示:n == nums.length1 <= n <= 1051 <= nums[i] <= n进阶:你能在不使

2022-03-15 00:22:21 369

原创 Nginx报错:Sorry, the page you are looking for is currently unavailable. Please try again later.

Nginx报错:Sorry, the page you are looking for is currently unavailable. Please try again later.查看了进程, nginx在运行, 排除程序错误, 那么就是配置的问题了.一个可能的错误, 是由于配置中的 fastcgi_pass 配置错了前端文件路径(更改后)nginx.conf配置路径需要检查路径是否一致网上也有很多相同的问题,基本都是配置路径错误与端口号错误https://www.cnblogs.

2022-02-26 22:22:35 31280

原创 解决spawn-fcgi:child exited with: 126 127报错

在运行spawn-fcgi启动fcgi程序时,运行命令为spawn-fcgi -a 192.168.XX.XX -p PORT -f /XX/YY/ZZ在运行后,如果成功,就会出现成功启动的提示,并输出进程号,如果失败,就会弹出错误ID,下面说一下126和127错误的处理方法1. spawn-fcgi: child exited with: 126这个问题是由于fcgi程序ZZ没有执行的权限,加入运行权限,再启动就可以了。如上图所示目标文件**./bin_cgi/upload.cgi** 126

2022-02-25 23:54:32 923

原创 解决 重启nginx: [alert] kill(20367, 1) failed (3: No such process)

[root@localhost/]# nginx -s reloadnginx: [alert] kill(189, 1) failed (3: No such process) 杀死189进程,可是并没有//需要重新指定nginx.conf配置路径[root@localhost /]# whereis ngnixngnix:[root@localhost/]#[root@localhost /]# find / -name nginx/usr/local/nginx/sbin/nginx

2022-02-25 18:39:19 7304 1

原创 力扣面试题32——二叉树层序遍历

题目从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。例如:给定二叉树: [3,9,20,null,null,15,7],3/9 20/15 7返回:[3,9,20,15,7]解题思路:题目要求的二叉树的 从上至下 打印(即按层打印),又称为二叉树的 广度优先搜索(BFS)。BFS 通常借助 队列 的先入先出特性来实现。算法流程:特例处理: 当树的根节点为空,则直接返回空列表 [] ;初始化: 打印结果列表 res = [] ,包含根节点的队列 queue

2022-02-11 21:04:30 79

原创 力扣622——设计循环队列

题目设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。你的实现应该支持如下操作:MyCircularQueue(k): 构造器,设置队列长度为 k 。Front: 从队首获取元素。如果队列为空,返回 -

2022-02-10 20:47:46 162

原创 力扣347——前K个高频元素

桶排序

2022-02-09 12:22:03 803

原创 力扣215——数组中的第K个最大元素

题目描述在一个未排序的数组中,找到第 k 大的数字。输入输出样例输入一个数组和一个目标值 k,输出第 k 大的数字。题目默认一定有解。Input: [3,2,1,5,6,4] and k = 2Output: 5题解快速选择一般用于求解 k-th Element 问题,可以在 O(n) 时间复杂度,O(1) 空间复杂度完成求解工作。快速选择的实现和快速排序相似,不过只需要找到第 k 大的枢(pivot)即可,不需要对其左右再进行排序。与快速排序一样,快速选择一般需要先打乱数组,否则最坏情况下时

2022-02-08 15:19:12 263

原创 力扣81—— 搜索旋转排序数组 II

二分,力扣习题

2022-02-07 14:38:59 139

Unity噪声图生成插件

Unity噪声图,生成插件放在Editor文件夹下,最近发现项目里很多shader都需要噪声图,(shadergraph中有自己的噪声图生成)当遇到需要噪声图时去寻找很麻烦,所以从网上查阅资料编写了一个Unity扩展的噪声图生成。自己来实现一个随机函数,并且这个随机函数是 ”可控的“ ,相同的输入要得到相同的输出。 enum NOISEOPTIONS 和 enum NOISEWIDTH 以及 enum NOISEHEIGHT 定义了几个枚举类型,用于在界面上选择噪音选项、噪音宽度和噪音高度。 width 和 height 存储了噪音纹理的宽度和高度,默认为256x256。 scale 存储了噪音的缩放因子,默认为1.0。 offsetX 和 offsetY 存储了噪音的位移,默认为10.0和10.0。 AssetsName 存储了保存生成图像的文件夹名字,默认为"SaveImages"。 texture 是用于显示噪音纹理预览的Texture2D对象。 scrollPos 用于在界面上实现滚动视图,以便容纳所有的设置选项。 Init() 方法是窗口的初始化方法,当用户点击

2023-07-24

dotween pro插件

unity dotween插件 DOTween Pro是DOTween的一个扩展,它包括新的可视化编辑器和脚本功能 官方给的安装方式是unity商店直接购买下载安装,是需要支付15美元的,我们强烈支持正版。仅支持学习交流。

2023-02-16

libmysqlclienr.so.20

libmysqlclienr.so.20 动态库下载

2022-02-26

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

TA关注的人

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