![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
unity
文章平均质量分 76
听雨眠丨
萌新U3D开发
展开
-
Unity实现文本点击事件
unity实现文本点击原创 2023-02-03 15:57:19 · 3050 阅读 · 1 评论 -
Unity Behavior Designer学习笔记与工作总结
Unity Behavior Designer插件学习笔记与工作总结为什么要用Behavior Designer实现一个最简单的Behavior DesignerBehavior Designer的属性介绍BehaviorTasksVariablesInspector案例1:实现最简单的怪物巡逻效果案例2:怪物在巡逻,玩家向目标点走去,如果路上看见了怪物,那么则改为追怪物。为什么要用Behavior Designer日常工作中,我们总要用代码实现各种各样的AI,例如怪物攻击玩家角色,通常情况下有三个阶段原创 2022-01-14 17:37:49 · 4140 阅读 · 1 评论 -
Unity动画系统常用知识总结
Unity动画系统常用知识总结资源导入需要注意的地方常用的组件Animator 组件Avatar Mask 骨骼遮罩Animator Controller资源导入需要注意的地方导入数据的时候,需要看当前模型是否符合unity的正常大小。方法:创建一个Cube,然后将模型拖到场景中与Cube比较一下大小,如果大小不合适需要在模型中调整,而不是调整unity的游戏物体,避免出现不必要的错误。常用的组件Animator 组件重点介绍一下前三个。Contorller:游戏状态控制器,控制当前角色处原创 2022-01-14 00:31:02 · 2926 阅读 · 0 评论 -
Unity物理系统常用知识总结
Unity物理系统常用知识总结碰撞器 XX Collider触发器刚体 Rigidbody组件Constant Force射线碰撞器 XX Collider碰撞器组件,有多种类型,图上的这个是盒状碰撞器,绿色边缘,表示这个物体可以接受碰撞。常用API1.MonoBehaviour.OnCollisionEnter(Collision collision) 当进入碰撞器2.MonoBehaviour.OnCollisionExit(Collision collision) 当退出碰撞器3.Mon原创 2022-01-12 22:58:12 · 2970 阅读 · 0 评论 -
Unity用Animation组件制作简单的动画
游戏中经常会出现动态提示,例如提示当前金钱不足,一般会从屏幕中央弹出,然后缓慢的向上飘去。今天游戏项目中遇到了这么个要求,以前做过几次,但总是会忘记,而且随着unity版本更新,新版本总有些莫名其妙的坑,今天写个文章记录一下。首先用到的组件是Animation,这个组件可以制作动画。先创建一个文件夹,添加一个Animation。然后创建一个提示框文本,添加上Animation组件。然后将刚才创建的Animation拖上去。注意:在project面板下点击Animation组件是无法添加动画的原创 2021-12-15 15:13:45 · 11216 阅读 · 0 评论 -
unity制作一个可以自由滑动收缩的历史记录功能。
Unity历史记录Demo原创 2021-12-14 17:16:12 · 3072 阅读 · 0 评论 -
unity通过全局事件对项目进行解耦
一个类要是想调用另一个类的方法,例如A想调用B的方法。方式一:引用最简单的方式是A持有一个B类的引用,即A拥有一个B的成员对象。方式二:设计模式(中介者模式)或者A和B同属于一个对象C,通过对象C调用对方(中介者模式),例如QQ群,A和B互相没有对方好友,但是都在一个QQ群C,他们可以在C互相和对方说话。方式三:静态(通常是单例模式,B是管理类等)将B中的方法设置为静态方法。但是项目中,有N多类,A和B完全没有关系,不宜有对方的引用,并且都不是工具类,不宜设置为静态方法。那么此时,我们该如何让原创 2021-11-25 20:02:28 · 2840 阅读 · 0 评论 -
Unity Toggle组件踩坑使用笔记
项目中需要用到排序功能,两种排序,一个型号,一个是评分。最简单的方法是制作两个Button,同属同一个View,通过中介者模式拿到对方的引用,当被点击的时候修改自身与对方的状态。但是这样比较麻烦,而且可能要添加一些属性去控制一些状态,比如当前是否已经选择了等,稍微有点麻烦,因此我们可以使用UGUI中的Toggle组件。先看一下Toggle的基础属性图上有几个属性我没有标解,因为暂时用不到,查了说不定长时间没用就又忘了。从图上我们需要关注三个点(其余的使用默认即可)Is On 代表使用是否选择了当前原创 2021-11-22 19:52:45 · 3787 阅读 · 0 评论 -
记录unity一些常用又易忘的API
代码中经常根据用户点击更改图片的显示效果,例如点到一个子项,用户没有购买,可能显示的就是未购买的图片,已经购买显示的就是升级图片,一种方法是游戏物体下含有俩张图片,根据用户的点击显示不同的图片,另一种方式就是动态加载。时不时的就会遇到这种需求,但是我又经常忘记相关API,百度出来的结果乱七八糟,就自己记录一下。API如下: Image.sprite = Resources.Load(path, typeof(Sprite)) as Sprite; Imag原创 2021-10-22 15:11:10 · 1666 阅读 · 0 评论 -
Unity Scroll View踩坑记录
Unity要想实现游戏中的背包滑动效果,最简单的方法就是使用ScrollView这个组件,这个组件可以实现拖动滑动的效果。如上图所示,我希望将这些Item实现背包的排版效果。第一步:现将所有的Item移到Content下,此时我们会发现部分图片被隐藏,显示不全,效果如图下所示第一个小坑:图片显示不全。原因分析:Viewport上挂有一个Mask组件,会将超出范围的内容隐藏(范围是四个蓝色的点内部),如图下所示。第二步:给Content上添加GridLayoutGroup组件,实现排版美观。原创 2021-10-20 10:36:17 · 5400 阅读 · 0 评论 -
设计模式总结
设计模式总结什么是设计模式,为什么要用设计模式?七大设计原则什么是设计原则, 为什么要使用设计原则?开闭原则什么是设计模式,为什么要用设计模式?简单来说,设计模式就是为了规范,为了复用以及出问题修改方便。举个例子,你去到了一家新公司,软件分为画面和音乐等几个部分。新版本发布,用户说没有声音,此时你不可能把所有的代码全部看完,然后找出问题在哪,这样效率太低了,你只需要查看音乐部分设置的代码,就可以解决问题。那么如何知道音乐部分代码在哪?这就需要用到设计模式,假设我们规定Music文件夹下的所有文件都是音原创 2021-09-19 21:32:49 · 315 阅读 · 0 评论 -
unity性能优化攻略
优化分为两大类:渲染优化(GPU):GPU优化蛀牙是针对DrawCall这个参数,这个参数具体是什么可以自行百度,这里不做过多解释。举个最简单的例子,复制一个1G的文件到另一个位置,与复制1024个1M的文件到另一个位置,肯定是复制1G的快。所以DrawCall也是一样,每次调用DrawCall都可以理解为有准备工作与善后工作,我们需要做的就是讲能合并的DrawCall合并,减少准备工作与善后工作的次数。1:层级细节LOD技术即不同距离下渲染的物体不一样,例如近距离就渲染高精度的模型,距离远了之原创 2020-12-29 15:05:32 · 524 阅读 · 1 评论 -
Unity灯光与渲染
常用的几种光源平行光源可以理解为太阳光,位置在哪都一样,可以通过调整角度修改光源的方向。点光源从一个点像周围发出光,可以通过Range的值更改范围,可以用来放在灯泡上。Spot Light可以理解为锥形光源,可以用在台灯的环境下。Area Light范围光,只能在Bake模式(后续会讲)下用。可以提前将光照效果烘焙好,给物体增加一层贴图,实际运行时减少性能消耗。...原创 2020-12-15 00:53:54 · 1876 阅读 · 0 评论 -
Unity编辑器扩展精粹笔记(更新至第一部分,创建笔记,可选择已完成和未完成)
第一部分,做出如下界面并实现相关功能,添加删除,是否确认完成。实现步骤:这个功能实现起来很简单,创建一个类,有一个数据的成员(此处用最简单的List)。调用获取界面的API(创建页面的方法),然后在OnGUI方法中(可以先理解为update)根据List调用GUILayout一系列API即可实现(绘制的相关方法)。//调用窗口APIvar window = GetWindow<T>(true);//按钮APIif (GUILayout.Button(Text)){ OnC原创 2020-12-14 15:45:47 · 329 阅读 · 0 评论 -
暗黑战神学习笔记
暗黑战神游戏开发游戏学习笔记初始场景与UI界面制作光照系统有哪些参数可以设置光源?1、点光源2、window界面下的LightSetting光照系统的优化方法Animation系统初始场景与UI界面制作光照系统有哪些参数可以设置光源?1、点光源2、window界面下的LightSetting光照系统的优化方法光照系统渲染可以分为实时渲染和预渲染对于动态物体可以进行实时渲染,但是对于一些不动的物体,可以设置为预渲染模式,会将一部分内容预先保存到贴图文件。Animation系统制原创 2020-12-14 15:44:16 · 802 阅读 · 2 评论 -
3D战斗手游战斗系统Demo
先看下框架:框架分为战斗系统(BattleSys):负责界面与战斗管理的交互,即用户点击了某个按钮,界面通过战斗系统转接给战斗管理,例如技能的释放。玩家操作界面(PlayCtrlWnd):UI界面,负责获取玩家的点击等。玩家逻辑实体类(EntityPlayer):存储玩家的数据,例如当前的血量,攻击等。玩家表现实体类(Controller):顾名思义,指代unity中的各个组件,例如Animator,播放角色动作。技能管理器(SkillMgr):负责技能的释放。状态管理器、状态机原创 2020-12-14 01:39:46 · 735 阅读 · 0 评论 -
Unity编辑器拓展精粹学习笔记(SIKI学院)
本篇博客为SIKI学院学习笔记。需求1:在菜单栏中实现编辑器拓展功能。(可以自定义添加组件等)例如:软甲开发中为了提高效率,在编辑界面需要快速添加一些层级,每次都手动添加浪费时间,此时则需要用到编辑器拓展。问题1:如何拓展编辑器(即添加自己自定义选项):创建任意一个类,添加如下代码: [MenuItem("编辑器/Test")] static void Test() { Debug.Log("调用了自定义编辑器"); }编辑界面效果:点击效原创 2020-09-24 20:11:48 · 371 阅读 · 0 评论 -
unity如何让某个物体永远显示在最前面(3D层)并保存成型后的图像(不显示UI层)(多个摄像头的用法、三种截图)
前言公司经营一款绘图相关的软件,近期有客户反映,尺寸标尺会被画图数据挡住。现在就来解决一下这个问题。遮挡分为两种情况,一种是UI界面下的组件遮挡(即Canvas画布下),另一种是3D层靠近摄像头的物体遮挡后方的物体。UI层的很好解决,越下层的物体越是最后渲染,只需要将显示在前方的物体放在最下面即可。重点介绍3D层如何将物体显示在最前方。首先:我们要知道3D层的渲染顺序,离摄像机距离越近,越是显示在最前方。即和人眼观察物体一样,假设有一杯子和一张桌子,杯子放在桌子前,我们会先看到杯子,然后在看到桌子原创 2020-08-05 16:25:45 · 7569 阅读 · 0 评论 -
unity实现自定义位置添加备注(文字)功能
公司经营的软件与绘图相关,这天,客户提出来一个需求,希望能在绘图的任意位置添加备注,方便厂家之间沟通。客户要求:可以在任意位置添加、修改、删除。实现过程:1、如何创建?这个问题很简单,UI界面添加一个Button,绑定一个事件,点击的时候创建一个游戏物体专门用来显示文字。显示文字使用TextMeshPro插件,如下图:2、如何修改文字?这个问题也很容易解决,添加一个inputfiled组件,获取用户输入的文本,然后再将用户输入的内容传递给TextMeshPro即可。3、如何实现移动这些文字?原创 2020-07-24 15:25:02 · 3814 阅读 · 2 评论