- 博客(363)
- 资源 (1)
- 收藏
- 关注
原创 unity 3种办法实现血条效果并实现3d世界血条一直看向摄像机
普通血条栏:渐变色血条栏:缓冲血条栏:3D场景血条栏跟随玩家移动:在Canvas下创建一个空物体HP bar,在空物体下方创建3个Image,分别为血条框bar 黑色,最大HP maxHP 白色,和当前HP currentHP 红色。(PS:注意先后顺序以调整显示的图层)效果:点击HP bar,添加slider(滑块)组件,进行以下设置,最小值和最大值可以关联血量自行调整。当拖动Value值时,就能实现改变血条的宽度。效果:拖动Value值创建一个脚本HPbar,拖拽给空物体H
2023-05-19 16:24:10
544
原创 unity制作类似战神4奎爷一个回旋飞斧效果 2D篇
斧头返回玩家手中时并不会停止旋转,所以我们要添加另外的条件,因为斧头返回状态中isBack是为true的,所以我们可以判断 isBack为true 且 斧头回到玩家位置时, 斧头停止旋转,返回状态为假,这样这个方法就只在 武器回到玩家手中 的时候调用了一次,而不是无限调用。首先声明几个变量, 玩家位置 playerPos, 三个bool值 isRotating 旋转状态, isGo 前进状态, isBack 返回状态。·点击鼠标时,武器开始旋转,斧头移动到鼠标点击位置(即 isGo = true)。
2023-05-19 15:46:47
15
原创 unity实现延迟虚血,掉血缓冲的效果
首先在场景中创建一个新的Canvas,并命名为HeathBar,并创建三个Image作为前者的子物体,分别命名为bg(空血条背景),Effect(呈现“掉血”时的缓冲效果),HP(显示血量)。对于Effect和HP的Image组件,需将Image Type设置为Filled,并将随后出现的Fill Method设置为Horizontal,同时将Fill Origin设置为Fill,最后勾选Preserve Aspect。对于bg的Image组件,勾选Preserve Aspect以图片的原始长款比例。
2023-05-19 11:11:07
9
原创 unity手搓逐字打印的效果
代码解释:使用协程来挨个添加字符, WaitForSeconds用于等待一段时间再往下执行, duration表示每个字符出现的时间。2.在需要添加逐字打印效果的UI上添加TextMeshProUGUI或TextMeshPro组件。1.添加Text Mesh Pro插件到项目中。3.编写逐字打印的代码。
2023-05-18 20:55:13
18
原创 laravel自定义api路由
创建统一接口文件ApiResponse.php在app\Http\Api下创建ApiController控制器 接口继承用开始写接口,测试用例PackageController.php 返回数据larvael框架路由核心依赖于服务提供者 app/Providers/RouteServiceProvider.php,配置 RouteServiceProvider.php文件写路由,在routes文件夹下的api.php获取当前的路由,和有问题的路由当前路由,查看新加的api路由如果有问题会报错。
2023-05-18 14:48:44
8
原创 unity2d最简单实现背景图无限循环效果,利用Material.mainTextureOffset
1.设置背景图片为重复或者镜像才可以2.新建背景,挂载图片和脚本3.编写脚本4.效果原理在Unity中,.material.mainTextureOffset是一个用于控制网格渲染器材质纹理图案偏移的变量。它是一个二维向量值,控制材质主纹理贴图的偏移量。具体来说,它控制绘制网格时纹理的起始点的位置,以使材质与纹理的对齐方式相符。其实就是不断修改网格渲染器材质xy偏移值。
2023-05-13 16:40:41
47
原创 Unity2d光源的使用
安卓UPR插件新建URP配置文件(只有完成第一步操作之后才会有创建的选项)右键>Create>Rendering>URP Asset (with 2D Renderer)修改Project Settings(项目设置里面的相关设置)Edit>Project Settings>Graphics>设置Scriptable Render Pipeline Settings为之前新建的渲染管线资产>右下角Save to asset(保存到资产)
2023-05-13 15:33:27
607
原创 unity读取json文本,渲染主角和不同人物的对话文本
在按下空格键后,我们通过调用DisplayNextSentence方法展示下一条对话,该方法从列表中取出下一组对话,并将其姓名和对话内容显示到nameText和dialogueText组件中。为了实现对话展示的打字机效果,我们在TypeSentence协程中,分别遍历每个对话句子的每个字符,并逐步展示。最后,在场景中挂上这个对话管理器的脚本,并将jsonFile属性拖到项目中的dialog.json资源文件中,即可实现在Unity中读取JSON文本文件并展示主角和人物对话的效果。
2023-05-12 18:21:57
7
原创 unity封装一个控制中英文字体切换的脚本
上面的脚本中,LanguageManager为管理器对象,通过读取lang.json文件来获取文本内容,使用SwitchLanguage方法来切换文本语言,并通过LoadLanguage来更新UI显示和字体。最后,我们在Canvas对象上添加两个Button对象,并将它们的onClick事件分别绑定到SwitchLanguage方法上。现在,我们可以通过点击按钮来实时切换文本内容和字体。首先,我们需要创建一个Canvas对象作为UI的父物体,并添加一个Text组件用于显示文本。
2023-05-12 17:35:15
7
原创 unity2d实现一个全方位的无限随机地图
在上面的代码中,我们通过TileMap来生成地图的板块,并随机生成不同种类的TileBase。同时,在生成新地图时,我们需要将玩家的位置移动到新地图的起始点。此外,我们还需要在场景中将玩家添加到一个新的对象上并恰当地配置他的Avatar,以及将Tilemap添加到TileMapGenerator的对象上。当玩家走到地图的边缘时,协程会自动添加新的地图板块,让玩家可以继续探索地图。4.利用unity的协程特性,在游戏运行的过程中,不停地在场景中添加新的地图板块,以组成一个无限的地图。
2023-05-12 17:15:24
704
原创 unity实现武器绕着人物旋转
接下来,可以通过调节offsetAngle来控制每个武器之间的间隔,使它们看起来合适。在这段代码中,weaponCount是武器数量,rotationSpeed是旋转速度,offsetAngle是每个武器绕人物旋转的半径。2.将每个武器作为“Weapons”对象的子对象创建,并设置它们的位置以便绕着人物旋转,也可以使用脚本自动化这个过程。1.创建一个空对象,作为人物的子对象,命名为“Weapons”,并将其位置设置为与人物相同。通过计算每个武器需要的角度,可以控制武器的位置,然后通过旋转来控制武器的方向。
2023-05-12 15:59:33
9
原创 unity2d实现简单的敌人AI
以上代码中,我们使用了A*算法来寻找敌人与玩家之间的最短路径。其中,FindShortestPath函数用来寻找敌人和玩家之间的最短路径,AvoidObstacles函数用来检测前方障碍物并躲避之,Update函数用于在游戏运行时不断调用这些函数。1.寻路追踪玩家:首先,需要获取敌人和玩家的位置信息,并计算它们之间的距离。可以使用避障算法,(比如基于射线的避障算法、膨胀算法、人工势场算法)来帮助敌人在遇到障碍物时自动绕开它们的路径。3.寻找最短距离:可以使用A*算法来寻找敌人和玩家之间的最短路径。
2023-05-12 15:41:20
15
原创 unity实现子弹散射效果和闪电链效果
实现爆炸散射效果可以按照以下步骤进行:1.准备子弹模型和爆炸特效模型,可以使用粒子特效或者模型。2.创建子弹和敌人模型,同时添加刚体组件。3.创建子弹的脚本,绑定到子弹上。4.在脚本中,对子弹的 OnTriggerEnter 或 OnCollisionEnter 函数做出响应,检测敌人碰撞事件发生。5.如果碰撞到了敌人,就创建一个爆炸粒子特效,并将子弹销毁。6.在爆炸粒子特效中,创建多个小子弹,随机攻击附近的敌人。
2023-05-12 15:11:47
510
原创 unity实现弹射子弹
unity实现弹射子弹,子弹在不同敌人之间来回弹射,发射自动选择最近的敌人,然后每次随机选择附近的敌人进行弹射,可以控制弹射次数,比如3次后子弹销毁可以通过以下步骤在Unity中实现弹射子弹的效果:1.创建一个子弹对象和敌人对象,并在子弹对象上添加一个控制脚本BulletController,用于控制子弹的弹射行为。
2023-05-12 15:00:15
1161
原创 【unity】简单的泛型单例类
这样,当你需要访问 MySingletonClass 的实例时,只需要调用 MySingletonClass.Instance 就可以了。如果此时实例还没有创建,代码会自动创建一个。同时,每个继承 Singleton 的类都有机会在实例创建时执行自己的初始化方法(重写 Init() 即可)。
2023-05-11 15:26:20
9
原创 【Unity技巧】跳过Unity启动屏/Logo
Unity启动Logo让人非常不爽,因为展示unity logo非常拖沓, 延缓了打开游戏的时间翻了一下Unity API文档,Unity居然真的有SplashScreen.Stop() 停止启动屏的API只需要写个静态方法,使用[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSplashScreen)]
2023-05-10 14:20:13
11
原创 【unity小技巧】taptap过审,隐私协议最简单解决方案
最近各个平台的隐私协议,监管越来越严,游戏需要明确自己的隐私协议是做啥的,需要在所有sdk没有启动前,就向用户展示隐私协议,特别是最近我的游戏上架taptap遇到的问题,一直审核不过由于我是使用unity开发,所以自己找了一个方法,去做到这个隐私协议的合规化。隐私协议最好是 在unity 还没有启动前就展示给玩家,让玩家同意或者拒绝。所以,我们找到unity里面的 unityplayeractivity.java 脚本。
2023-05-10 14:08:45
51
原创 【unity造轮子】2d使用A*Pathfinding插件实现敌人AI,并自动躲避障碍物
最终效果可以前往官网下载和查看开发文档导入AI插件新建空物体,添加PathFinder组件,用在地图导航渲染导航路径,绘制出来的蓝色部分则为可行走区域,非蓝色区域是我配置的碰撞器区域,可自行修改,如果不满意可以修改Diameter的值,控制碰撞器区域多大的范围不可行走给敌人添加碰撞器,碰撞区域自行调整给敌人添加AIPath组件,我们这里的2d项目,,如果你不想敌人旋转,可以去掉勾选Enable Rotation。
2023-05-07 23:26:49
506
原创 【unity造轮子】封装资源管理系统代码,包括对象池功能
定义管理系统通常指的是管理游戏中各种静态资源的系统,例如预制体、材质、纹理、音效等。一个好的定义管理系统应该具备以下特点:友好易用的接口:定义管理系统应该提供一组方便易用的接口,供程序员使用。通过这些接口,程序员可以查询、加载、卸载、删除、更新游戏资源。自动化管理:定义管理系统应该能够自动地管理游戏资源的生命周期。例如,当资源不再使用时,自动卸载该资源,并将内存返回给操作系统,从而降低游戏的内存占用率。可扩展性:定义管理系统应该具备可扩展性,能够方便地添加新的资源类型,支持新的资源格式。
2023-05-05 18:35:22
349
原创 【unity造轮子】使用PerlinNoise(柏林噪声)实现平滑的灯光闪烁效果
这个算法的特点是:随着参数 x,y 值的移动,它的返回值会是连续且平滑变换的随机值。这个算法会返回一个0到1之间的 foat 类型的值。
2023-05-03 00:22:41
38
原创 【unity项目实战】3DRPG游戏开发07——其他详细的设计
我们会有有很多单例,如果每个单例都去写会很麻烦,所以我们定义泛型单例模式 Singleton,我们将所有的单例都继承这个泛型单例,就省略很多重复的工作定义一个GameManager类,继承Singleton,控制整个游戏的进度,比如如果主角死了,广播,游戏结束调用。
2023-05-01 00:38:30
669
原创 【unity造轮子】一定高度掉落,受到一定力度的撞击,扣血
/ 注意:此代码假定角色的生命值是名为“health”的变量,并且已初始化为起始值。// 我们需要检测角色从一定高度掉落时扣除生命值。//受到一定力度的撞击,扣血。
2023-04-28 16:48:12
25
原创 【unity造轮子】实现类似愤怒的小鸟,弹弓效果
它定义了一个Slingshot类,其中包含了弹弓的拉伸、拖拽和弹射等功能。具体来说,它使用LineRenderer组件来绘制弹弓的前后两条线,使用SpringJoint2D组件来模拟弹弓的弹性,使用Rigidbody2D组件来模拟弹丸的物理行为。在Dragging函数中,它计算了鼠标位置和弹弓位置之间的距离,并根据最大拉伸距离来限制弹弓的拉伸程度。在LineRendererUpdate函数中,它计算了弹弓和弹丸之间的距离,并根据SpringJoint2D组件的弹性来更新LineRenderer组件的位置。
2023-04-28 16:03:13
45
原创 【unity项目实战】3DRPG游戏开发06——敌人和攻击
拖入敌人,如果觉得他的亮度有点低,选择他本体,可以选择调节修改他材质球metllic alpha的值我们新建一个敌人脚本,我们的所有敌人都会挂载这个脚本,如果我们希望每个敌人都挂载导航组件,一个添加无疑是很麻烦的,我们可以使用脚本控制导航组件的挂载,代码typeof我们只要把脚本拖入敌人,判如果他没有带NavMeshAgent导航组件,就会自动添加一个修改他的导航和新增碰撞体我们希望我们的敌人也是不被遮挡的,我们用和主角相同的方法,新增Enemy图层,加在pipeline配置里。
2023-04-27 00:35:22
346
原创 【unity造车轮】3种实现虚拟移动摇杆控制人物移动的方法(实操加详细讲解,全网最全最易理解)
自己手戳代码,我愿意称之为最简单的实现页面的UI很简单,大球包小球就可以了,拖入代码,拖入绑定摇杆即可新增角色玩家,带用虚拟摇杆的参数控制移动2d角色记得绑定Rigidbody2D刚体和collider碰撞体,运行效果还可以取消勾选垂直参数,实现水平摇杆(达到仅控制物体左右移动的效果,2d平台跳跃游戏常用),垂直摇杆同理运行效果。
2023-04-25 11:58:38
304
原创 【Unity实战】实现一款简单的FPS游戏
你将学到:fps武器脚本基础瞄准功能僵尸敌人AI 巡逻范围 攻击间 搜寻半径 追击 枪声吸引周围的僵尸击中僵直效果
2023-04-25 10:59:37
631
原创 【unity造车轮】简单实现敌人的AI
上述代码实现了敌人追踪玩家、攻击、待机等基本行为。需要注意的是,代码仅仅是一个最简单的示例,具体实现还需要结合游戏实际需求来进行设计。2.设计敌人的感知机制:例如,敌人需要寻找最近的玩家、听取环境声响、寻找遮掩物等来进行下一步决策。3.决策和实施:将敌人的感知信息传入决策系统,决策系统根据其设计的规则和算法制定下一步行动方案。4.控制敌人的行动:利用Unity的动画控制、寻路、运动学或者力学等相关组件来实现敌人的行动。1.确定敌人的行为模式和目标:例如,敌人会攻击玩家,逃避攻击,或者在某些情况下自保等。
2023-04-25 10:00:56
38
原创 【unity项目实战】3DRPG游戏开发04——导航、人物移动和鼠标指针图片替换
还不清楚怎么用的可以看我另一篇文章将地形调成静态导航的选中地形,设置为可行区域点击烘培可爬坡改为30度,就会发现坑就变为不可行区域了选择所有的树,为不可行区域,点击烘培给主角人物添加导航组件调整他的导航大小记得调整代理宽高,重新烘培还可以烘培一些大石头,不允许角色穿过。
2023-04-24 08:52:19
285
Roguelike夜勤人元气骑士随机地下城unity源码
2023-04-21
Roguelike夜勤人元气骑士类随机地下城素材
2023-04-21
2D横版人物移动二段跳跃,用对象池设计制作冲锋残影的效果,技能cd,特效,拖尾,屏幕抖动源码
2023-04-17
2D横版实现人物移动跳跃多段跳完美手感源码
2023-04-16
博客管理系统源码分享支持移动端
2023-03-14
cocos creator开发的精灵大师小游戏源码分享,支持h5安卓微信小游戏等多平台
2022-11-23
摇骰子抽奖转盘酒桌游戏人生重启模拟器小程序源码分享流量主版本
2022-11-02
php laravel个人博客源码分享,响应式适配移动端
2022-10-27
thinkphp6+layui BBS社区论坛系统源码分享,响应式适配移动端
2022-10-27
thinkphp6+layui BBS社区论坛系统源码分享,响应式适配移动端
2022-10-26
php laravel个人博客源码分享,响应式适配移动端
2022-10-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人