游戏效果
文章平均质量分 92
头号理想
四面佛保佑
展开
-
unity实现3D物体的残影效果
很久之前我写过一篇用对象池等知识实现的2D的残影效果好像有挺多小伙伴看的添加链接描述然后这几天我有入门了一下shader 接触了透明的效果之后我就飘了 想实现一下3D残影的效果但是这个仅限于unity自带的规则物体 我这用的是球(sphere)而且我写的代码没有做优化 可能有点混乱老规矩我还是给出demo吧我这里的想法是 我弄几个小球 让后边的小球跟着前边的走前边的后边 后边的就怎么走这个我们利用unity的特性很容易可以实现private void FixedUpdate()原创 2020-10-09 17:38:40 · 1077 阅读 · 0 评论 -
unity中的双击按钮检测和长按按钮的检测
之前我写过关于UGUI的接口的几篇博客地址1地址2之后今天使用上边的知识来实现一下 按钮的双击和按钮长按的检测其实我们的思路就是 每次按下检测按下时间 如果长按时间超过某一特定的值那么我们判定 长按至于双击的检测 我们是 当第一次按下之后抬起 开始计时 在特定值之前我们如果检测到按下第二次我们判定双击按钮using UnityEngine;using UnityEngine.Events;using UnityEngine.EventSystems;public class Butto原创 2020-09-15 17:53:12 · 2551 阅读 · 4 评论 -
unity简单实现塔吊效果
前几天无意中看到一篇面试题 其中有个问题就是做一个简单的塔吊然后我就根据自己现有的知识 做了一个简单的塔吊效果 在建筑游戏中可以加入这个demo之后先给大家看一下效果 我做的比较粗糙 一方面没有合适的素材 第二就是没有吧数值弄的很精确我实现了简单的左右旋转 上下旋转 力臂的延展和收缩其中我用到了之前在博客介绍到的规则物体的简单的单向缩放地址然后其中比较难理解的地方应该就是物体的勾取 和绳子的实现 还有就是物理效果这些我分别使用了射线 划线组件 铰链关节组件来实现在代码中也使用了很多关于获取组原创 2020-09-08 17:24:38 · 1281 阅读 · 0 评论 -
unity规则物体的单方向缩放
最近我无意中看见一道面试题 实现一个吊机的效果 然后在力臂的实现上遇到了点困难在unity中 默认缩放为双向的比如我们创建一哥Cube 之后再引擎中修改scale 很明显是双向缩放的同理旋转也是以自己的中心点(重心)为圆心 旋转如果想要以自己所设置的位置为圆心 只需设置一个父物体(空物体) 之后旋转父物体即可实现但是缩放这个是通过父物体不能实现的 只能通过代码来实现我们的思路是 我们通过代码来移动力臂的位置 之后因为缩放 在game模式下看到的好像是单向的缩放 public Transfo原创 2020-09-06 09:48:12 · 2328 阅读 · 0 评论 -
unity的委托的实例(简单商店模式)(一)
很多小伙伴知道委托 但是可能从来没有用过今天我做一个小小的demo给大家大致介绍一下委托的使用方法首先给大家demo从上边我们看到我们实现的demo 其实也不难 但是我们用委托来实现可能会更简洁 操作起来更简单实现过程场景的搭建我就不多说了 这里边也没有用什么模型那些 就是单纯的3D物体的拼接其中的UI我们可以修改模式 也可以使用3Dtext 但我这里用到时UI这里我就不很详细的说了首先我们先写出我们服务员(售货员)的脚本using System.Collections;using原创 2020-08-22 17:38:49 · 797 阅读 · 0 评论 -
在unity中实现分页滚动的大小的缩放功能(UGUI)(2)
接上一篇博客 这篇博客我们继承上一篇写的脚本给我们的分页滚动天添加新的功能首先给出demo可以看到这个效果还是比较棒的 大家忽略里边的文字 是我乱写的这个实在上一篇博客的基础上 继承上一篇博客的脚本这是我专门开设的一个专栏 地址上边的专栏 是讲所有关于分页滚动的开发和优化的大家有兴趣 可以整体的看一下开发过程在上一个的基础上 我们只需要使用面向对象的特性来添加新的功能即可这样的好处有很多 一是简洁明了,二是可以避免很多问题(不去修改原来成型的代码)public class Scal原创 2020-08-17 09:52:57 · 600 阅读 · 3 评论 -
在unity中实现分页滚动的效果和吸附功能(UGUI)(1)
在不少游戏中都会有自动滚动的效果我们这里用UGUI的Scroll View来实现一下我建议大家在开始做之前 首先先了解一下这个的基本用法我之前也没写过关于这个的使用方法然后先给大家一个效果图片(里边的水印大家凑活看一下)可以看到 当我们鼠标不移上去的时候 他是自己滚动的 当我们自己鼠标移动上去并且拖拽的时候他可以被我们拖动 而且 通过代码自动检测区域 然后吸附过去实现过程首先我们现在unity中搭建所要的Scrool Viewcontent上的组件之后就是代码了 其中计算比较麻烦 仔原创 2020-08-16 16:37:19 · 1880 阅读 · 1 评论 -
unity黑色全屏UI(Image)的淡入和淡入方法
之前写过一篇博客是Image的淡入和淡出的效果那个比较局限 调用时也不好调用今天我给大家介绍一个我写好的一个方法非常好调用 只用一句代码 不过前提是必须所有用到的场景中都要事先做一个Image名字叫做BlackImage 我们待会会通过代码来查找到这个组件我直接给出代码吧public class BlackImages : MonoBehaviour, IPointerClickHandler{ private Image BlackImageObject; private原创 2020-08-14 17:26:54 · 1052 阅读 · 0 评论 -
unity简单的摄像机管理器
在一些项目中可能我们的一个摄像机是不够我们使用的比如在一些时候 我们想切换一下视角 做出更加震撼的效果我们这时候要把早早调整好位置等参数的摄像机工作起来但是有一个问题在unity中摄像机不能同时工作就算场景中多个摄像机同时存在 game模式下只能出现一个摄像机的画面所一我们用一个单独写的脚本来整体控制所有摄像机的想要控制的参数以及我们单独写出一个方法 通过string来实时控制摄像机的出现和隐藏、public class CameraManager : MonoBehaviour{原创 2020-08-10 16:59:01 · 621 阅读 · 1 评论 -
unity全局总的音频管理器
这篇博客介绍一个unity的总的音频管理器可以有效避免音频错乱的问题我们把它挂在场景中 可以使用跨场景保存的方法来实现场景跳转之后的存在首先 这篇博客会用到我之前介绍的知识我下面把链接先给大家贴出来unity音频管理器(AudioMixer)unity的代码可视化然后就进入正题了直接给出音频管理器的代码public class AudioManager : MonoBehaviour{ //音频管理器 存储所有的音频并且可以播放和停止 [Serializable]原创 2020-08-10 09:46:57 · 2130 阅读 · 2 评论 -
unity的音频管理器(AudioMixer)
音乐和音效可以说是游戏的灵魂 一个好的BGM可以给游戏从侧面增添很多色彩我们在平时玩游戏的时候也可能留意到一般的游戏中都是把背景音乐和音效分开控制的如果我们把各个场景中的音乐统计起来是很麻烦的而且很容易弄丢 但是通过使用AudioMixer 这就方便高效了许多使用方法我们首先创建一个AudioMixer 然后可以看到几个面板‘我们自定义添加两个Group一个为BGM一个是音效然后可以看到有一个数轴 是控制所有在这个分组下的音量的我们创建一个AudioSource 然后可以看到这里原创 2020-08-09 16:37:23 · 1452 阅读 · 0 评论 -
unity开发简单的任意门
哆啦A梦的任意门可以看到另一头的世界我们在3D游戏中也可以加上这个环节 作为加载新场景的过度首先给出我简单搭建的效果图正面反面门的另一端因为参数等的一些原因 看起来比较粗糙大家可以自己调整一些参数达到想要的效果实现过程首先我们导入一个场景和一个具有开门和关门的动画任意门最核心的就是Render Texture的使用了首先创建一个 然后在传送门另一端的场景中找一个合适的位置添加一个摄像机给摄像机赋值里边的Door就是刚刚创建的Render texture我们还需要一个第原创 2020-08-08 17:05:40 · 1297 阅读 · 0 评论 -
unity在实例化出UI的位置问题
在unity中 如果我们使用常规的Instantiate来实例化UGUI的时候其中的位置填上Vector3的参数 效果和我们想要的效果是完全不同的要是的确想要这个方法来实现还得修改锚点等参数我们这里使用一种简单的方法我这里给我之前写过的一篇博客做优化博客地址我们通过修改GetComponent().anchoredPosition来修改位置给出优化出的代码public string HeroName; private static Hero instance; public原创 2020-08-06 10:35:45 · 2112 阅读 · 0 评论 -
unity动态分类加载文件中的资源
最近打王者荣耀的时候偶然发现 当我们在换皮肤的时候场景中的很多东西会同时换 如果我们在开发的时候一个一个把他们放入场景中这是很耗时间的 我们完全可以把他们分类在一个文件夹中 动态加载出来比如王者荣耀中每换一款皮肤 很多东西都会改 比如模型 背景 动画等还有就是大量的UI(金额 说明等等)开发的时候一个一个弄到场景中 想想就头大动态加载的实现我们的思路还是使用Resources的load我们事先把文件分类 场景中物体分为一类 UI分为一类这是我的分类 我们的代码是要获取路径的代码 pub原创 2020-08-06 09:51:42 · 455 阅读 · 0 评论 -
unity小地图的开发2(纯UGUI不使用Camera)
小地图是3D游戏中非常重要的之前我写过一篇关于小地图的开发的 用到了Cameracamera小地图开发地址然后这篇博客我们纯使用UGUI来实现小地图我这里用个第一人称的控制器来做主角 (控制器是我之前写的)之前我写的第一人称控制器地址大家可以用作参考准备过程我们随便找一个地图 然后添加第一人称控制器在地形上如果条件允许我们根据自己的地图可以自己画一个地图(我的条件不太行 哈哈)我就用一张随便找的图来代替了然后根据下边的UGUI遮罩的博客我们搭建简单的UI其中playerlogo是主原创 2020-08-01 18:39:56 · 1341 阅读 · 0 评论 -
unity的UGUI的mask(遮罩)的使用
之前我写过一篇博客关于UGUI的优化 其中提到了Mask的使用会增加性能的消耗但是在一些情况下 使用这个会有奇效比如小地图(Minimap)的开发这篇博客介绍一下UGUI中的Mask的使用方法很简单的首先创建一个 Image 给他添加上Mask组件在添加一个Image不弄Mask之后把没有Mask的Image设置为有Mask的子物体 我们可以看到变化这个在开发使用贴图的小地图十分好用这篇博客就介绍到这 如果大家喜欢游戏开发欢迎关注我 我会在这里持续更新我的学习过程如果有问题或者原创 2020-08-01 17:13:17 · 12678 阅读 · 0 评论 -
在unity中使用TimeLine和PlayableDirector来实现简单的运镜
说到运镜 这个可以说是可以把游戏提升很高一个档次尤其是对于3D的游戏 之前我写过用cimerachine插件来实现的运镜 大家如果有兴趣可以去看下然后这次我用最最普通的camera和PlayableDirector组件来实现一下我们的运镜我之前写过TimeLine的用法 TimeLine用法链接建议大家去看一下在我看来PlayableDirector和动画组件是一样的 只不过两个各有特点动画组件相对于PlayableDirector来说更加灵活 比如可以实现动画的切换等这个功能是Play原创 2020-07-26 10:23:19 · 4844 阅读 · 0 评论 -
unity开发UGUI实现记住密码的功能
之前我写过好多关于UGUi的博客了 然后呢最近我写的关于UGUI的博客都是针对于有基础的小伙伴们我所说的有基础就是基本所有UGUI的用法都有初步的了解然后我这里实现一些功能给大家作参考这篇博客我给大家分享一下用UGUI实现记住密码的选项具体用法呢很简单 我这里用到的是playerPrefs来实现的我们还可以使用字典(Dictionary)来实现这里给大家一篇我之前写过的关于登录和注册的博客其中用到了字典博客地址然后大致介绍完毕 我们就开始实现我们的功能这里我就把搭建场景的工作省去了(默认这原创 2020-07-25 16:53:06 · 2373 阅读 · 1 评论 -
unity跨场景保存(跨场景BGM的连续播放)
在游戏开发过程中,我们为了工作量小一点 可能会弄好多不同的场景用来实现各种功能 比如开始界面一个场景 关卡选择等一个场景这样在开发中很方便 直接跳转就行但是可能遇到很多跨场景保存的问题这篇博客简单介绍一下我的跨场景保存的方法单例模式和DontDestroyOnLoad就是特别好用的工具下面我实现一下跨场景的BGM的不间断播放 这样相对于换BGM或者手动读取BGM进度更方便 而且效果更好 private static StartSceneMusic instance = null;原创 2020-05-31 10:51:42 · 3772 阅读 · 1 评论 -
unity中在按钮很多的情况下处理方法
在一些特定的游戏中 我们可能需要使用很多个按钮比如在设置一个物体的颜色的时候这时候如果一个一个注册事件的话会特别特别麻烦我们可以通过代码给按钮注册事件来达到效果在这里插入代码片...原创 2020-05-28 21:02:48 · 1303 阅读 · 0 评论 -
unity使用PostProcess制作模糊渐变效果(代码控制)
上一篇博客 介绍了PostProcess的一些参数传送门入口这篇博客给大家介绍一些这样通过代码 来控制PostProcess中的参数并且实现一个模糊渐变的效果首先给想要的摄像机添加两个组件分别是PostProcess layer 和PostProcess volume然后我们把 Post Process layer中的Trigger赋值为这个cameralayer设置为PostP...原创 2020-04-26 19:54:37 · 2805 阅读 · 1 评论 -
unity自带后期处理插件PostProcess
在一个游戏项目 逻辑等大致框架搭建完成之后 如果是一个偏于观赏性的游戏的话后期的处理可以说非常重要的之前我写过一篇关于用UGUI控制游戏内画质的博客肯恩过对于优化后期画质等方面对大家有用博文传送门然后今天我来介绍一下PostProcess插件这个插件的功能可以说是很强大了有大佬会用c#代码来写滤镜 达到想要的效果 通过这个插件我们可以随心所欲的调整颜色等参数而且是零代码准备工作首...原创 2020-04-26 10:23:32 · 4869 阅读 · 1 评论 -
unity文件操作基础
前几天尝试了unity中截图的效果 虽然是实现了但是其中还是有很多不明白的地方运行截图博客传送门这篇博客先补充一下文件操作相关的知识我这里介绍一下如何创建文件(txt)如何向文件中写入数据如何删除文件中的数据 如何读取文件中的数据写入文件public void WriteFileByLine(string file_path, string file_name, string str_...原创 2020-04-24 18:26:35 · 435 阅读 · 0 评论 -
unity实现游戏界面截图
在很多手游中我们可能会留意到 当我们闯关成功或者失败的时候游戏自动给我们截一个图 然后提示我们可以分享朋友圈等等我经过各方查找资料等终于可以实现这个效果了 因为中间有很多我们没有深刻接触过的类所以代码的意思还是没有全部明白下面开始实现我们的思路是在文件夹中创建一个图片然后每次截图之后 更新这个图片的内容 之后再合适的时机我们可以用UGUI来表达出来比如失败或者成功的时候void ...原创 2020-04-23 15:59:54 · 1891 阅读 · 1 评论 -
unity中游戏的碰撞设置以及2D游戏中的优先级问题
之前我在我的博客中提到过在UGUI中优先级是在canvas下位置越靠下的优先级越高但是在sprite renderer组件中这个方法却不能使用在sprite renderer中我们靠order in layer 来控制优先级这个参数的值越大 优先级越高(可以把其他的遮住)然后我这篇博客主要说下unity的碰撞设置的问题我猜大家都见过这个东西 可能不知道这是干啥的 也没有注意这个在P...原创 2020-04-22 09:23:49 · 1376 阅读 · 0 评论 -
unity开发2D残影效果(利用Queue)
最近我在准备一个比赛 然后现在的想法是做一个2D的类似于跑酷的游戏然后就想到做一个冲刺的效果(不单单是速度的改变 还有身后的残影)和上几篇博客一样 还是用之前超级玛丽来实现的 效果如下这里边会用到队列和对象池的知识 我之前写过栈和队列还有对象池的博客 可能对大家有用栈和队列传送门对象池传送门然后就开始我们的实现过程吧我的思路是创建一个对象池 然后每次按下特定的冲刺键的时候 对象池...原创 2020-04-21 17:04:29 · 1585 阅读 · 0 评论 -
unity2D开发钩绳枪效果(2D射线检测 铰链关节 Linerenderer组件的使用)
这几天我突发奇想 想要实现一个2D的钩绳枪但是实现过程可以说是十分坎坷了 遇到了好多意料之外的问题然后这篇博客 给大家介绍一下遇到的坑 以及我对于钩绳枪的想法首先 我想到的是在玩家本身发射2D的射线 方向朝着鼠标的方向这就是一个困扰我很久的 一个问题因为坐标系的不同2D射线和3D的用法几乎不同 所以花了一段时间Physics2D.Raycast(发射位置, 发射方向,距离);这个很...原创 2020-04-20 21:16:10 · 2711 阅读 · 0 评论 -
unity掉血给更多玩家回馈效果的实现
我们在LOL或者一些小游戏中 可以发现 掉血不是简单的血量降低这是我在拳皇里截的一个图我们可以看到每次 当绿色的血瞬间掉下去之后 会有一个比较模糊的红色慢慢减下去这样可以给玩家更多的回馈下面我介绍一下这个的实现首先因为我用的是2018版本的unity 其中的Image没有设置模式的选项所以我就用Slider来实现了这是我的父子关系 其中的greenblood和redblood都是...原创 2020-04-19 10:42:58 · 600 阅读 · 0 评论 -
用unity做超级超级简单的换肤效果
之前在我还是刚接触游戏开发的小白的时候 我就尝试过用UGUI的Toggle来实现换肤只不过当时因为只是比较有限 我就用了重新实例化出一个新物体销毁原来物体的方法 这样既消耗内存 同时容易出现意想不到的问题这篇博客介绍一个超级超级简单的换肤功能的实现首先 我们先要有一个物体和对应他的材质如果有模型那样最好 没有的话可以create一个球之类的代替我这里用一个cube来代替 然后自行创建了...原创 2020-04-19 10:08:58 · 2091 阅读 · 2 评论 -
unity开发背包系统
这几天学习了背包系统 在这里和大家分享一下我这里使用了之前做的超级玛丽来实现的 因为我懒得再做一个可以移动等触发碰撞的项目了然后素材都是在网上下载的几个装备图片1.准备工作首先我们用UGUI创建出装备面板我们用Gird Layout Group组件 肯恩给大家之前也了解过这个组件我们可以理解为是专门用来排版的组件在挂载这个组件的父物体下的所有子物体 每当创建或者实例化出来都会根据我...原创 2020-04-13 10:06:36 · 1315 阅读 · 0 评论 -
unity中的地形编辑器的使用(Terrain)
最近和几个小伙伴做了一个项目 其中的场景需要自己搭建地形大真的是爆肝 这个需要一点点的实际 还需要考虑合理 美观的问题 是一个细活再我刚刚接触unity的时候的Terrain的用法和现在不一样了正好这几天我重新了解了一下新版的Terrain的用法 这篇博客介绍一下首先创建一个地形之后其中的四个选项分别是不同的作用第一个大致可以修改地形的高度 顺滑度 基本的地图贴图等其中由上而下分...原创 2020-02-05 11:15:15 · 8209 阅读 · 0 评论 -
unity中关于UGUI的接口(点击 选择 系统按键等)
我在上一篇博客讲了一下关于UGUI的拖拽的接口在这篇博客中 我介绍一下UGUI中的 点击 选择 系统按键的接口希望这些功能对于大家开发的游戏有所帮助点击接口点击接口一共有五个相关的分别是IPointerClickHandler, IPointerDownHandler, IPointerEnterHandler, IPointerExitHandler, IPointerUpHandle...原创 2020-01-28 10:49:00 · 1636 阅读 · 1 评论 -
unity中利用cinemachine插件制作玩家视觉效果(第三人称转第一人称视角)
在很多游戏第三人称中很多时候在拾取道具或者一些时候为了增加游戏的体验感会将镜头转变为第一人称(特写)在这篇博客给大家介绍一下用cinemachine插件和一点代码实现镜头的转变实现过程首先我给大家介绍一下cinemachine插件的一种比较高级的用法这个是可以和物体的动画机来绑定的 (动画的切换实现镜头的切换)首先创建State-Driven Camera然后我们给它的子摄像机(虚...原创 2020-01-23 16:44:59 · 4222 阅读 · 1 评论 -
unity制作小地图
在很多游戏中都设计有小地图小地图可以很直观的了解我们现在的位置等信息然后这篇博客给大家介绍一下小地图的实现首先创建一个摄像机(摄取地图全景)把它放在地图的正上方 调整好角度等然后在project面板下创建一个Renderer texture...原创 2020-01-22 16:10:20 · 3032 阅读 · 0 评论 -
unity中第三人称游戏摄像头遮挡的处理
在游戏开发过程中难免会做第三人称游戏 如果地形中的设施比较多或者说做一个房间内的游戏 很可能我们调整好的视角 在游戏过程中会被墙体挡住主角这样游戏体验感就会大打折扣就像这样(遮住半个身子还是可以的 有的时候可能遮住整个玩家)这篇博客给大家介绍一个方法让摄像头自动调整到合适角度(缓慢)我们的想法是在我们调整好的摄像头的角度和玩家的正上方的位置上中间设置好多个摄像头的位置然后通过插值运算...原创 2020-01-22 09:43:31 · 1546 阅读 · 0 评论 -
unity制作警报模式的效果(Light)
最近在开发秘密行动(stealth)里边的警报系统效果挺有趣的这篇博客实现一下警报的效果 大致就是让一个灯光闪烁首先創建一個Light 我們的思路是动态新修改Light中的Intensity来实现修改灯光的闪烁这个值越大 灯光越亮(还有可以修改Range(半径)来控制灯光的亮度)我们只需要让它在一个范围之内动态变化即可我们创建一个脚本来动态修改public bool isAlarm...原创 2020-01-18 21:44:23 · 5489 阅读 · 1 评论 -
unity制作对话框
最近在准备计算机设计大赛的游戏方向的比赛,研究一些游戏中的游戏效果的实现在我们平时玩的角色扮演的游戏中比如GTA等 其中少不了故事情节 不少是用对话框来表达的这篇博客给大家介绍一下 简单的故事情节的讲述模式一般的都时按下鼠标左键继续的我的这个也一样然后检测到鼠标左键的按下 进行下一步而且用到打字机的效果实现 如果不清楚的可以去前面我的博客查看因为添加了打字的效果 代码稍微麻烦一点...原创 2020-01-15 10:40:34 · 4049 阅读 · 1 评论 -
unity中的反射探针的用法和实例
unity给我们提供了反射探针这个功能,供我们使用来实现一些功能比如我们可以使用反射探针来实现一个比较粗糙的镜子 还有在大型场景中,需要作出建筑物的外表玻璃的反射效果,这种效果可以使用镜子shader来做实时真实反射,但是性能开销太大。unity提供的reflectionProbe可以提供反射周围真实环境的伪反射,同时可以节省性能开销下面给大家介绍一下粗糙的的镜子效果首先搭建简单的场...原创 2020-01-13 13:44:53 · 5875 阅读 · 0 评论 -
unity中Dotween插件的常用用法和实例
在unity的开发和学习的过程中 我们可以尝试多多接触一些有用的插件,这样可以有效的避免反复造轮子避免一些在每个项目中都有的操作反反复复做工作这篇博客给大家介绍一下Dotween插件的几种常用的方法 和两个小实例这个插件在官网和商店中均可以下载 然后导入即可transform.DOMove(new Vector3(0, 5, 5), 3f).From();//表示从当前位置到目标位置 ...原创 2020-01-12 16:16:51 · 857 阅读 · 0 评论 -
unity最简单的动态添加排行榜
每个游戏中都会有一些排行比如传奇游戏中的战力榜 伤害榜 氪金榜等这里给大家一些最最简单的排行榜的代码 private List<int> score = new List<int>(); private int[] nums; private Text ScoreText; private string UItext=""; pr...原创 2020-01-09 21:17:56 · 1710 阅读 · 2 评论