向宇it
这里没有教程,这里只做学习分享!我的学习理念是:与其闭门造车,不如站在巨人的肩膀上 —— 融会贯通行业前辈们的宝贵经验。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【unity实战】使用unity程序化随机生成3D迷宫
Unity随机迷宫生成实现 本文介绍了使用Unity实现随机迷宫生成的完整过程。主要步骤包括: 创建1x1大小的预制体墙,包含四面墙组件 编写MazeCell脚本管理单元格的四壁状态和访问标记 通过MazeGenerator脚本生成指定大小的迷宫网格 使用深度优先搜索(DFS)算法生成迷宫路径 从起点开始随机访问相邻未访问单元格 递归处理直到所有单元格都被访问 清除相邻单元格间的墙壁形成通路 最终效果可生成任意大小的随机迷宫,通过清除墙壁形成唯一路径,确保迷宫可解。原创 2025-08-05 16:29:33 · 298 阅读 · 0 评论 -
【unity小技巧】游戏开发最佳实践后处理、抗锯齿、 镜头光晕、屏幕空间环境光遮蔽配置
本文分享了Unity游戏开发中常用的后处理配置方案,包括色调映射(Tonemapping)、颜色调整(Color Adjustments)、泛光(Bloom)、渐晕(Vignette)、阴影/中间调/高光(Shadows Midtones Highlights)和运动模糊(Motion Blur)等效果的参数设置建议。此外还介绍了镜头光晕(Lens Flare)、环境光遮挡(Ambient Occlusion)和抗锯齿等补充知识,提供了各效果的配置截图和视觉效果对比。文章旨在帮助开发者快速实现画面质量提升,原创 2025-08-02 08:59:30 · 37 阅读 · 0 评论 -
【unity游戏开发入门到精通——组件篇】在Unity实现布娃娃物理系统实现角色扑街死亡效果——Ragdoll布偶系统的使用
Unity3D布娃娃系统(Ragdoll)实现角色自然死亡效果 摘要:本文介绍了如何在Unity3D中使用Ragdoll系统创建逼真的角色死亡效果。通过导入人形模型,添加Ragdoll组件并自动填充骨骼信息,Unity会自动为角色各部位添加碰撞器、刚体和关节组件。运行时可禁用Animator组件触发物理模拟效果,实现"布娃娃"式的自然倒地动作。文章还总结了常见问题及解决方案,包括部位穿插、刚体速度控制、骨骼绑定错误等注意事项,帮助开发者避免常见陷阱。这种方法可以替代预设动画,为游戏角色死原创 2025-07-23 10:03:29 · 78 阅读 · 0 评论 -
【unity实战】使用unity的Navigation+LineRenderer实现一个3D人物寻路提前指示预测移动轨迹的效果,并可以适配不同的地形
本文介绍了在Unity中使用Navigation导航系统和LineRenderer实现3D人物寻路轨迹预测效果的方法。通过NavMesh.CalculatePath计算路径点,结合Physics.Raycast进行地面点投射,将路径点赋予LineRenderer渲染出移动轨迹。关键点包括:1)利用NavMesh.CalculatePath计算两点间可行走路径;2)通过射线检测获取地面点提高路径适配性;3)使用协程定期更新路径绘制。文章还提供了完整代码实现,并说明需要将地面图层设置为Ground并进行导航网格原创 2025-07-18 09:32:06 · 105 阅读 · 0 评论 -
【unity知识点】已知发射的初始位置和目标位置,计算发射初速度,实现投掷物品或者弓箭手做抛体线运动精准的击中目标
我们之前已经做过如何预测抛物线轨迹,非常适合已知初速度(特指包括速度大小和方向,后面同理)的情况,进行预测。【unity实战】在Unity中使用LineRenderer线渲染器进行3D轨迹线预测【制作100个unity游戏之29】使用unity复刻经典游戏《愤怒的小鸟》但是假设现在我们有这样的需求:在已知发射的初始位置和目标位置,想要准确的击中目标,如何根据不同的高度计算出初速度呢?很显然,这个需求在实际项目中更加常见,比如实现AI敌人投掷物品或者弓箭手能准确的击中目标,今天我们就一起来实现一下。注意。原创 2025-07-16 09:11:03 · 87 阅读 · 0 评论 -
【unity知识】最新的虚拟相机Cinemachine3简单使用介绍
本文介绍了Unity中Cinemachine 3虚拟相机系统的使用方法。相比旧版本,新版功能更强大且参数分类更直观。文章详细讲解了摄像机镜头参数、旋转控制(包括None、目标跟随、样条线推拉、旋转追随等6种模式)和位置控制(跟随、样条轨道、硬锁定等5种模式)。重点演示了样条轨道摄像机的创建与配置,以及如何实现第一人称和第三人称视角。通过丰富的GIF图示,展示了各种模式的运行效果,帮助用户快速掌握Cinemachine 3的核心功能。原创 2025-07-16 09:09:11 · 79 阅读 · 0 评论 -
【unity小技巧】unity排序问题的探究
unity的排序问题其实之前分享的项目多多少少都有提到一点,但是没有单独拿出来说,所以这次特地做一次整理排序图层的作用?sorting Group排序组的使用?树木排序问题,我们希望实现人物走到树前,人物遮挡树木,当人物走到树后,树又遮挡玩家。原创 2023-10-29 09:39:17 · 1917 阅读 · 0 评论 -
【Unity小技巧】如何在 Unity 中使用我们的Cinemachine虚拟相机跟踪多个目标——CinemachineTargetGroup的使用
这种相机很适合用在格斗游戏或boss战之类的大致效果。原创 2023-10-28 13:51:07 · 950 阅读 · 0 评论 -
【Unity小技巧】可靠的相机抖动及如何同时处理多个震动(附项目源码)
相机的抖动,网上其实已经有非常非常多的教程了,之前我也写过一篇文章,感兴趣的可以先去看看unity实现简单的摄像机震动效果(包括普通摄像机和虚拟摄像机)但有时我们可能需要两个震动同时发生,例如,如果我们开启了大门并且又收到伤害,我们希望两个震动结合在一起我在这里的规则是,更强的震动被优先考虑,但我们不要停止弱震动的进展,而是一起工作,一旦完成了强震动,弱震动就会继续最终效果。原创 2023-10-28 12:11:41 · 1657 阅读 · 0 评论 -
【unity小技巧】适用于任何 2d 游戏的钥匙门系统和buff系统——UnityEvent的使用(附项目源码)
当开发2D游戏时,钥匙门系统和buff系统是常见的游戏机制。当开发2D游戏时,钥匙门系统和buff系统是常见的游戏机制。如果让你开发一个钥匙门系统,你的想法可能是写个钥匙控制脚本,再写个门脚本控制开门,当人物触碰钥匙然后调用对应的门代码,打开对应的门,这样做无疑是没什么问题的,但是当要扩展一个钥匙打开多门,或者不同钥匙打开不同门的情况,系统的扩展性和可读性就会变得很差。而这里我分享一种方法,使用UnityEvent实现这些系统。原创 2023-10-19 16:03:59 · 925 阅读 · 2 评论 -
【unity小技巧】Unity 存储存档保存——PlayerPrefs、JsonUtility和MySQL数据库的使用,以及存储加密/解密方法安全问题
保存# 最后调用Save函数将这些key存入磁盘查找# HasKeyl函数中可以通过传入Key得到一个bool的返回值读取删除# 删除某个key# 删除全部。原创 2023-09-18 23:25:16 · 2018 阅读 · 2 评论 -
【Unity小技巧】手戳一个简单易用的游戏UI框架(附源码)
开发一款游戏美术成本是极其高昂的,以我们常见的宣传片CG为例,动辄就要成百上千万的价格,因此这种美术物料一般只会放在核心剧情节点,引爆舆论,做高潮展示!而另外一种表意方武:则是通过玩法设计,层层导玩家深入探讨游戏世界,这里则需要策划的精心设计和程序的秃头爆肝,因此对于绝大多数游戏而言,选择UI来进行剧情展示、玩法交互和核心表达才是最物美价廉的选择。原创 2023-08-29 23:32:27 · 1588 阅读 · 2 评论 -
【unity游戏开发入门到精通——通用篇】TimeLine的详细使用介绍
本文介绍了Unity中Timeline工具的基本使用,结合Cinemachine实现过场动画效果。主要内容包括:Timeline面板的创建与常用轨道(激活、动画、音频、信号等)的使用方法;如何通过Timeline控制游戏对象显隐、动画播放和声音效果;Cinemachine虚拟相机与Timeline的结合应用,实现场景切换和镜头运动。文章还提供了一个僵尸动画案例演示,展示了从待机到移动的完整动画流程。通过Timeline,开发者可以轻松制作电影级的过场动画,提升游戏表现力。原创 2023-08-27 22:40:15 · 5977 阅读 · 0 评论 -
【Unity小技巧】在Unity中实现类似书的功能(附git源码)
欢迎来到游戏的书籍之门,一个充满魔力和想象力的世界。在这里,你将体验到一种全新的游戏界面交互方式——翻书。通过Unity引擎的强大功能,我们成功地将书籍的神奇氛围融入到游戏中,为玩家带来了一种崭新、富有艺术感的页面选择方式。你可以把这个效果用在任何地方,比如关卡选择,商店,故事介绍,物品背包,成就页面等等,这能极大的丰富你的游戏。无疑,游戏UI交互是极为重要的,对比死板的页面,他能给玩家一种新颖感,让你的游戏在一开始就抓住每个玩家的心!原创 2023-08-25 11:05:46 · 1243 阅读 · 3 评论 -
【Unity小技巧】零代码实现最完美最简单的UI适配方案,适配不同分辨率,不同尺寸,不同设备,
这期来讲一个简单的UI设计方案,很多同学可能搞不懂锚点、轴心这些概念,导致做好的UI在别人的设备上,乱跑或者是重叠,或者是参加游戏老发时间比较紧来不及做适配,都可以来试试这个方法,通过填充边框来保持游戏画面的原始比例,所以它的缺点也很明显,在一些移动设备上会浪费比较大的显示面积。unity不同设备UI变形?UI在不同设备上如何适配?原创 2023-08-24 10:27:27 · 2757 阅读 · 0 评论 -
【unity小技巧】Unity实现视差效果与无限地图(附git源码)
如何提升你的画面感?动态的背景设计可以丰富我们的游戏效果,当你在游戏中行走或奔跑时,你将能够感受到身体在空间中的运动,仿佛真的置身于其中。通过Unity实现视差效果和无限地图可以提升游戏的表现力和玩法,增加游戏的吸引力和可持续性。这些特性对于打造出色的游戏体验至关重要。视差效果:视差效果是通过在不同的层级上移动物体,使其从不同的角度观察时产生错位感。这种效果可以增加场景的深度和立体感。在游戏中,视差效果可以用于创建2D或3D场景中的远近景效果,使得游戏更加具有逼真感和沉浸感。原创 2023-08-23 12:08:25 · 1702 阅读 · 0 评论 -
【Unity小技巧】Unity探究自制对象池和官方内置对象池(ObjectPool)的使用
什么是对象池?对象池的作用?我们该如何使用对象池?原创 2023-08-18 08:41:05 · 3521 阅读 · 2 评论 -
【unity小技巧】委托(Delegate)的基础使用和介绍
在Unity中,委托(Delegate)是一种用于处理方法回调的特殊类型。它允许您将方法作为参数传递给其他方法,并在需要时调用这些方法。委托在游戏开发中非常有用,特别是在事件处理、消息传递和异步操作方面。它提供了一种灵活的方式来注册和触发方法,而无需显式地知道这些方法的实现细节。个人理解:可以把委托理解为一个容器,容器里面放可以放很多函数方法。一调用委托,里面所有的函数方法都会同步被执行。原创 2023-07-10 20:21:13 · 6508 阅读 · 0 评论 -
【unity技巧】Physics2D Raycast、Overlapcircle、OverlapBox检测的用法
我们可以去使用Raycast方法(射线检测),让他发射一条向下的射线,如果这条射线能检测到任何添加了Collider组件的平台,那就意味着我们的角色接触地面了方法第一个参数为射线发射点第二个参数 为射线的方向第三个参数为射线的检测距离检测距离我们不能写成无限长,检测的最大距离,应该是人物的中心点,到我们人物的【底部】再多出一点点的距离(一点点的距离我用0.1来表示),射线是从我们图片当中的中心点发出的我们可以通过【】直接获取这个整张图片一半高度在检测平台跳跃时,我们通常并不会使用Raycst。原创 2023-06-04 14:23:55 · 6047 阅读 · 2 评论 -
【unity小技巧】常用的方法属性和技巧汇总(长期更新,2025/07/02更新)
Unity开发技巧摘要 本文汇总了Unity开发中的实用技巧,包括移动控制、力应用、物体翻转、单例模式实现等。移动方面介绍了MoveTowards、MovePosition、Translate等方法的区别与应用场景;力应用部分详解了AddForce系列方法的参数和使用方式;物体翻转对比了三种实现方案;单例模式提供了标准实现和泛型优化版本;还收录了绝对值计算、鼠标检测、旋转控制、数值取整等实用代码片段。这些经过验证的技巧能有效提升开发效率,文章将持续更新补充新的实用内容。原创 2023-06-04 12:25:52 · 2716 阅读 · 9 评论 -
【unity技巧】实现马里奥一样更具物理感的长按长跳与短跳
在现实世界物理上,一个物体的跳跃跟落下,时间应该是相等的。我们都知道对于Unity内置的游戏物理引擎,它们也是这样来处理最简单的跳跃的运动。但其实这样的效果并不是我们所想要的。可以想象,一个角色跳上去,然后轻飘飘的落地,这样的手感是很糟糕的,我们并不希望下落的过程耽误我们太多的时间,同时长时间的下落过程会让角色看起来没有质感。原创 2023-06-04 12:06:17 · 1145 阅读 · 0 评论 -
【unity小技巧】使用贝塞尔曲线实现导弹随机攻击敌人,也可以用于平滑拾取物品
可以用来收集金币,收集经验,导弹攻击敌人的平滑运动过渡效果原创 2023-06-03 22:50:20 · 2246 阅读 · 5 评论 -
unity实现简单的摄像机震动效果(包括普通摄像机和虚拟摄像机)
用代码实现摄像机简单的震动效果。原创 2023-05-17 22:29:19 · 2183 阅读 · 0 评论 -
unity读取json文本,渲染主角和不同人物的对话文本
在按下空格键后,我们通过调用DisplayNextSentence方法展示下一条对话,该方法从列表中取出下一组对话,并将其姓名和对话内容显示到nameText和dialogueText组件中。为了实现对话展示的打字机效果,我们在TypeSentence协程中,分别遍历每个对话句子的每个字符,并逐步展示。最后,在场景中挂上这个对话管理器的脚本,并将jsonFile属性拖到项目中的dialog.json资源文件中,即可实现在Unity中读取JSON文本文件并展示主角和人物对话的效果。原创 2023-05-12 18:21:57 · 381 阅读 · 0 评论 -
unity封装一个控制中英文字体切换的脚本
上面的脚本中,LanguageManager为管理器对象,通过读取lang.json文件来获取文本内容,使用SwitchLanguage方法来切换文本语言,并通过LoadLanguage来更新UI显示和字体。最后,我们在Canvas对象上添加两个Button对象,并将它们的onClick事件分别绑定到SwitchLanguage方法上。现在,我们可以通过点击按钮来实时切换文本内容和字体。首先,我们需要创建一个Canvas对象作为UI的父物体,并添加一个Text组件用于显示文本。原创 2023-05-12 17:35:15 · 456 阅读 · 2 评论 -
unity实现武器绕着人物旋转
接下来,可以通过调节offsetAngle来控制每个武器之间的间隔,使它们看起来合适。在这段代码中,weaponCount是武器数量,rotationSpeed是旋转速度,offsetAngle是每个武器绕人物旋转的半径。2.将每个武器作为“Weapons”对象的子对象创建,并设置它们的位置以便绕着人物旋转,也可以使用脚本自动化这个过程。1.创建一个空对象,作为人物的子对象,命名为“Weapons”,并将其位置设置为与人物相同。通过计算每个武器需要的角度,可以控制武器的位置,然后通过旋转来控制武器的方向。原创 2023-05-12 15:59:33 · 631 阅读 · 0 评论 -
unity2d实现简单的敌人AI
以上代码中,我们使用了A*算法来寻找敌人与玩家之间的最短路径。其中,FindShortestPath函数用来寻找敌人和玩家之间的最短路径,AvoidObstacles函数用来检测前方障碍物并躲避之,Update函数用于在游戏运行时不断调用这些函数。1.寻路追踪玩家:首先,需要获取敌人和玩家的位置信息,并计算它们之间的距离。可以使用避障算法,(比如基于射线的避障算法、膨胀算法、人工势场算法)来帮助敌人在遇到障碍物时自动绕开它们的路径。3.寻找最短距离:可以使用A*算法来寻找敌人和玩家之间的最短路径。原创 2023-05-12 15:41:20 · 814 阅读 · 0 评论 -
unity实现子弹散射效果和闪电链效果
实现爆炸散射效果可以按照以下步骤进行:1.准备子弹模型和爆炸特效模型,可以使用粒子特效或者模型。2.创建子弹和敌人模型,同时添加刚体组件。3.创建子弹的脚本,绑定到子弹上。4.在脚本中,对子弹的 OnTriggerEnter 或 OnCollisionEnter 函数做出响应,检测敌人碰撞事件发生。5.如果碰撞到了敌人,就创建一个爆炸粒子特效,并将子弹销毁。6.在爆炸粒子特效中,创建多个小子弹,随机攻击附近的敌人。原创 2023-05-12 15:11:47 · 2679 阅读 · 0 评论 -
unity实现弹射子弹
unity实现弹射子弹,子弹在不同敌人之间来回弹射,发射自动选择最近的敌人,然后每次随机选择附近的敌人进行弹射,可以控制弹射次数,比如3次后子弹销毁可以通过以下步骤在Unity中实现弹射子弹的效果:1.创建一个子弹对象和敌人对象,并在子弹对象上添加一个控制脚本BulletController,用于控制子弹的弹射行为。原创 2023-05-12 15:00:15 · 2990 阅读 · 0 评论 -
【unity】简单的泛型单例类
这样,当你需要访问 MySingletonClass 的实例时,只需要调用 MySingletonClass.Instance 就可以了。如果此时实例还没有创建,代码会自动创建一个。同时,每个继承 Singleton 的类都有机会在实例创建时执行自己的初始化方法(重写 Init() 即可)。原创 2023-05-11 15:26:20 · 340 阅读 · 0 评论 -
【unity】封装一个AB包资源加载管理系统
【代码】【unity】封装一个AB包资源加载管理系统。原创 2023-05-10 22:41:31 · 311 阅读 · 0 评论 -
【Unity技巧】Unity跳过启动logo 跳过Unity启动屏/Logo/加载页
【Unity技巧】Unity跳过启动logo 跳过Unity启动屏/Logo/加载页原创 2023-05-10 14:20:13 · 5182 阅读 · 4 评论 -
【unity小技巧】taptap过审,隐私协议最简单解决方案
最近各个平台的隐私协议,监管越来越严,游戏需要明确自己的隐私协议是做啥的,需要在所有sdk没有启动前,就向用户展示隐私协议,特别是最近我的游戏上架taptap遇到的问题,一直审核不过由于我是使用unity开发,所以自己找了一个方法,去做到这个隐私协议的合规化。隐私协议最好是 在unity 还没有启动前就展示给玩家,让玩家同意或者拒绝。所以,我们找到unity里面的 unityplayeractivity.java 脚本。原创 2023-05-10 14:08:45 · 2193 阅读 · 10 评论 -
【unity造轮子】封装资源管理系统代码,包括对象池功能
定义管理系统通常指的是管理游戏中各种静态资源的系统,例如预制体、材质、纹理、音效等。一个好的定义管理系统应该具备以下特点:友好易用的接口:定义管理系统应该提供一组方便易用的接口,供程序员使用。通过这些接口,程序员可以查询、加载、卸载、删除、更新游戏资源。自动化管理:定义管理系统应该能够自动地管理游戏资源的生命周期。例如,当资源不再使用时,自动卸载该资源,并将内存返回给操作系统,从而降低游戏的内存占用率。可扩展性:定义管理系统应该具备可扩展性,能够方便地添加新的资源类型,支持新的资源格式。原创 2023-05-05 18:35:22 · 651 阅读 · 0 评论 -
【untiy造轮子】实现人物受击抖动和闪烁
【代码】【untiy造轮子】实现人物受击抖动和闪烁。原创 2023-05-03 21:07:07 · 806 阅读 · 0 评论 -
【unity造轮子】2d制作机枪打击特效
修改为Additive,这是一直混合透明的效果配置粒子特效修改x的旋转角度拖入前面创建的材质。原创 2023-05-03 00:03:51 · 285 阅读 · 0 评论 -
【unity造轮子】伤害飘字效果,封装代码+DoTween实现伤害飘字效果(2024/07/08补充)
【unity造轮子】伤害飘字效果,封装代码+DoTween实现伤害飘字效果(2024/07/08补充)原创 2023-05-02 23:23:54 · 1138 阅读 · 0 评论 -
【unity造轮子】一定高度掉落,受到一定力度的撞击,扣血
/ 注意:此代码假定角色的生命值是名为“health”的变量,并且已初始化为起始值。// 我们需要检测角色从一定高度掉落时扣除生命值。//受到一定力度的撞击,扣血。原创 2023-04-28 16:48:12 · 337 阅读 · 0 评论 -
【unity造轮子】实现类似愤怒的小鸟,弹弓效果
它定义了一个Slingshot类,其中包含了弹弓的拉伸、拖拽和弹射等功能。具体来说,它使用LineRenderer组件来绘制弹弓的前后两条线,使用SpringJoint2D组件来模拟弹弓的弹性,使用Rigidbody2D组件来模拟弹丸的物理行为。在Dragging函数中,它计算了鼠标位置和弹弓位置之间的距离,并根据最大拉伸距离来限制弹弓的拉伸程度。在LineRendererUpdate函数中,它计算了弹弓和弹丸之间的距离,并根据SpringJoint2D组件的弹性来更新LineRenderer组件的位置。原创 2023-04-28 16:03:13 · 285 阅读 · 0 评论 -
unity存储信息的方式,保存读取背包、游戏进度,连接MySQL数据库
为了在Unity中存储信息,有几种方法可供选择。最常见的方法是。PlayerPrefs是一种简单的存储小量数据(如玩家偏好或游戏设置)的方法。它易于使用,不需要任何外部库。但是,不建议用于存储大量数据或敏感信息。Serialization是另一种在Unity中存储数据的方法。它允许您保存和加载复杂的数据结构,如类和数组。Unity提供了几种序列化选项,如BinaryFormatter、XML和JSON。但是,序列化可能会很慢,可能不适合实时应用程序。原创 2023-04-10 21:15:31 · 2008 阅读 · 0 评论