
Unity
文章平均质量分 53
Marccco
这个作者很懒,什么都没留下…
展开
-
Addressable资源加载框架
【代码】Addressable资源加载框架。原创 2023-01-04 17:31:56 · 1498 阅读 · 0 评论 -
UGUI事件绑定脚本
主要的是通过实现Unity提供的接口,这里继承UnityEngine.EventSystems.EventTrigger,直接继承接口也是一样的.原创 2023-01-03 16:01:36 · 326 阅读 · 0 评论 -
vs中无法直接启动带有类库输出类型的问题
安装Visual Studio 2013/15 Tools for Unity安装对应版本的工具就好啦原创 2020-07-03 18:23:47 · 314 阅读 · 0 评论 -
Unity Asset 详解
异步至少要比同步慢至少一帧原创 2020-06-19 17:06:28 · 593 阅读 · 0 评论 -
Shader 之 Forward Render
前向渲染:泛指传统上的只有两个通道的渲染技术。Opaque Pass(不透明,从前往后按顺序渲染) Transparent Pass(透明,从后往前按顺序渲染)前向渲染的弊端在于,每添加一个灯光所有的物体都会渲染一变,举个栗子,场景中有10个物体,一盏灯光就是10个pass,再加一盏就是20个pass。可以使用延迟渲染方案解决,但是延迟渲染不能渲染透明物体,这也是人们常说的场景中尽量不要...原创 2020-02-18 11:05:59 · 582 阅读 · 0 评论 -
初学者的修炼之路
适合初学者的五个项目playmaker可视化脚本不需要文本编程,对初学的美术师很有用enviro实时天气系统Third Person controler第三人称游戏控制器库存管理战斗系统创建角色替换模型Toony Colors Pro 2着色器及工具集集合Esay Save为游戏添加保存和载入功能类似java序列化支持存档?b站链接:https://www.bilibi...原创 2020-02-13 17:40:00 · 309 阅读 · 0 评论 -
AssetBundle Dependencies(阿赛特邦豆的依赖关系)
如果一个或多个对象对于另一个包中的对象有引用,则AB(代指AssetBundles,下面同上)可以依赖于其他的AB.如果对象包含对不在任何AB中的对象的引用,怎不会发生依赖关系.在这种情况下,当您构建AB时,bundle所依赖的对象的副本会被复制到包中.如果多个包中的对象包含对同一个对象的引用,而该对象又没分配到一个bundle中,那么每个依赖于该对象的包都将创建自己的对象副本,并将其打到构建的A...原创 2020-01-17 16:55:37 · 290 阅读 · 0 评论 -
怎么在游戏中判断MeshFilter的mesh为空
最近在项目中写了一个自动检测资源的工具,但在检测的时候有个问题给卡了一下,就是资源的MeshFilter的mesh Miss了,我才开始想的是那就检测一下mesh为null就好了,于是就有了第一版var mesh = GetComponent<MeshFilter>().mesh;if(mesh == null){ // 说明模型丢失了}乍一看好像没啥问题,但...原创 2020-01-07 18:17:45 · 994 阅读 · 0 评论 -
UGUI无限滚动
这个主要是用了Grid Layout Group组件核心代码有三部分,第一部分是判断当前要展示的下标,第二部分是位置的更新,第三部分是数据的更新.先说第一部分得到要展示的下标,也就是说得到要展示第几个到第几个数据 public void GetInViewIndexRange(Rect rect, out int from, out int to) { ...原创 2020-01-02 17:26:24 · 319 阅读 · 0 评论 -
Unity Shadr 入门精要学习(一)
渲染流水线渲染流水线一共分为三个阶段:应用阶段(Application Stage),几何阶段(Geometry Stage), 光栅化阶段(Rasterizer Stage).应用阶段:通常由CPU负责实现,这一阶段最重要的输出是渲染所需的几何信息,即渲染图元.渲染图元可以是点,线,三角面等.几何阶段:这一阶段通常在GPU上进行.几何阶段负责和每个渲染图元打交道,进行逐顶点,逐多...原创 2019-12-02 12:30:35 · 971 阅读 · 0 评论 -
C#给int类型设置默认值
private int test= default(int);这样就是设置默认值了,当然就算是不设置,在调用的时候如果没有赋值过也会是默认值,也就是0;原创 2019-11-26 14:52:37 · 2453 阅读 · 0 评论 -
Shader的一些总结
要想显示一个向量的颜色只要*0.5再+0.5就可以了原创 2019-11-22 10:26:46 · 256 阅读 · 1 评论 -
NGUI 粒子特效裁剪
方法很简单就是给特效用的shader中传入一个裁剪区域,然后在shader中做判断是否在裁剪空间内,要是出了就把颜色设为透明.废话不多说,直接上代码:Shader "AngryBots/FX/AdditiveClip" { Properties { _MainTex ("Base", 2D) = "white" {} _TintColor ("TintColor", Color...原创 2019-11-07 10:31:11 · 894 阅读 · 0 评论 -
Shader数据类型和精度
基本数据类型高精度:float高精度浮点值;一般是32位(就像是普通编程语言中的浮点数)完全浮点精度通常用于世界空间位置,文理坐标或者涉及复杂函数(如三角学或幂/指数)的标量计算中精度:half中精度浮点值;一般为16位(范围为-60000到+60000,精度为3位小数)half精度是有用的对于短矢量,方向,物体空间位置,高动态范的颜色低精度:fixed低精度fixed...原创 2019-11-06 11:09:42 · 3533 阅读 · 0 评论 -
NGUI之UIRoot
转载自:https://blog.youkuaiyun.com/qiudesuo/article/details/84492852说一下自己遇到的问题吧,就是UIRoot的scale是怎么算的,如果Scaling Style设置为Fixed Size,那么就是2 /Manual Height,具体下面会讲为什么,如果要计算UI的不同分辨率的一下比例的话还是要用到这个的.可以看一下这篇文章.UI...转载 2019-11-05 18:13:39 · 700 阅读 · 0 评论 -
C# 保留小数点后N位
String.Format("{0:N1}", a) 保留小数点后一位String.Format("{0:N2}", a) 保留小数点后两位String.Format("{0:N3}", a) 保留小数点后三位C#保留小数位N位四舍五入doubles=0.55555; result=s.ToString("#0.00");//点后面几个0就保留几位C#保留小数位...原创 2019-11-01 15:13:02 · 1901 阅读 · 0 评论 -
协程遇到的坑与解决办法
相信在unity中用过协程的人肯定都遇到过下面的这个报错哈哈哈是不是很眼熟,但是知道了问题的原因后就能很好的避免掉了,出现这个原因就是协程开启的时候开启协程的MonoBehavior挂载的物体是未激活状态,知道了问题原因所在就很容易解决了. if (gameObject.activeInHierarchy) { St...原创 2019-10-28 17:33:26 · 2160 阅读 · 2 评论 -
NGUI UIImage Button的用法
script是需要附上一张图片的,也就是一个UISprite,Pressed是点击后要显示的图片使用的时候,当点击的时候把UIImageButton的isPressed置成true就能显示选中的图片,也可以用NGUITools.OnSelectImgBtn()这个方法当然了想要选中的状态常亮还需要增添一个脚本,UIImageButtonAttachment,添加上这个脚本就一切ok啦....原创 2019-10-17 17:03:18 · 252 阅读 · 0 评论 -
主界面的一些操作
主界面只之等级解锁首先由要一张记录模块等级解锁的表暂且叫做LevelUnlock其次要有个脚本,主要负责界面的遮罩的展示然后要有个等级解锁的管理者(这里是考虑到这个还比较常用)暂且叫ButtonLockMgr,主要有处理各模块的服务器协议(等级),判断是否解锁,解锁是否弹窗等......最后就是逻辑表现了下面贴一下代码emmm好像也没啥要贴的,大家自己感受一下吧......pu...原创 2019-10-17 12:35:36 · 287 阅读 · 0 评论 -
ngui UIPanel的Clipping.Soft Clip 的 Center和Size 怎么修改
解决方法:修改的UIPanel.clipRangeUIPanel.clipRange是一个Vector4,x和y是修改Center,z和w是修改Size原创 2019-01-03 10:35:59 · 2040 阅读 · 0 评论 -
unity光照探头(Light Probe Groups)
menu:Component > Rendering > Light Probe Group.光照探头可以挂在任意的物体上,但是最好是新建一个空物体会出现的问题:RingingUnder certain circumstances, Light Probes exhibit an unwanted behaviour called “ringing”. This often ha...原创 2019-05-10 12:30:22 · 3834 阅读 · 0 评论 -
Surface Shaders的个人总结
在表面着色器中定制照明模型Surface Shaders中有两个内置的光照模型:Lambert用于diffuse lighting(漫反射),BlinnPhong用于specular lighting(镜面反射).Lighting.cginc这个文件在Unity中定义了这些模型.如果你想使用自定义照明模型可以用Surface Shaders 做到这一点.一个灯光模型仅是一堆Cg/HLSL函数...原创 2019-09-27 11:06:28 · 300 阅读 · 0 评论 -
Draw Call Batch的文档解释
官方文档:https://docs.unity3d.com/Manual/DrawCallBatching.html1.什么是Draw call在屏幕上画一个游戏对象,引擎必须对图形API(如OpenGL或者Direct3D)发出一个draw调用.Draw调用通常是资源密集型的,图形API为每个Draw调用执行重要的工作,这会在CPU端造成性能开销.这主要是由于绘制调用之间的状态变换(例如...原创 2019-09-11 14:50:47 · 201 阅读 · 0 评论 -
对象池的实现
先讲一下我对对象池的理解吧,说白了就是有一个两个集合和一个要存储的物体,一个是存储着激活的物体的,一个是存储着未激活的,要拿物体的时候先去未激活的里面找,如果有就返回然后从未激活的列表移除,然后在激活列表添加,如果未激活的列表里没有物体就那存储的物体实例一个存到激活的列表里. 再说一下对象池要实现的功能吧,说白了就是增删查和清除,分三个方法 第一个就是一个取物...原创 2019-03-08 19:50:02 · 4751 阅读 · 0 评论 -
四元数乘以向量(欧拉角)的意义
Quaternion.Euler()的意义是Returns a rotation that rotates z degrees around the z axis, x degrees around the x axis, and y degrees around the y axis.也就是说绕x轴旋转x度,y轴旋转y度,z轴旋转z度Quaternion作用于Vector3的右乘操作(*...原创 2019-02-23 16:17:54 · 2796 阅读 · 0 评论 -
UGUI直接修改Image的Color和用unity自带的UI Shadr修改_Color属性的区别
如果修改的是Image组件上的Color属性,其原理是修改顶点色,因此是会引起网格的Rebuild的(即Canvas.BuildBatch操作,同时也会有Canvas.SendWillRenderCanvases的开销)。而通过修改顶点色来实现UI元素变色的好处在于,修改顶点色可以保证其材质不变,因此不会产生额外的Draw Call。在UI的默认Shader中存在一个Tint Color的变量...原创 2019-02-21 16:10:22 · 4406 阅读 · 2 评论 -
堆栈的区别
栈:1.是一种先进后出的内存结构2.栈只能在一端进行对数据进行操作,也就是在栈顶端(ps:跟数据饥结构(内存)机构有关,先进后出所以先处理栈顶的)3.栈是一种内存自我管理的结构,压栈自动分配内存,出栈自动清空(释放)所占内存4.栈内存不能动态申请,只能为已知大小的数据分配内存,灵活性不高但是执行效率高5.栈的内存很小堆:1.堆在c#中用于存储实例对象,能存储大量数据,而且能够动态分...原创 2018-12-28 11:59:04 · 300 阅读 · 0 评论 -
值类型和引用类型在栈和堆中的分配
转载自 https://www.cnblogs.com/cjm123/p/8056239.html类型基础及背后的工作原理 数据在内存中的分配与传递 值类型和引用类型它们在内存分配与传递上的区别内存分配 首先要了解一下内存中栈和堆的概念。 栈(Stack) ##栈是一种先进后出的内存结构。 方法的调用追踪就是在栈上完成的。比如我们有一个...转载 2018-12-28 11:42:46 · 599 阅读 · 0 评论 -
NGUI 动态向grid里添加项没有裁剪问题的解决方案
补充一点这里说的动态生成的控件是指UIlabel,uitexture之类的UI控件,如果往grid里动态添加预设体是没有问题的即使预设体里会有这些UI控件也是没问题的 出现这个问题的原因很简单,不是没有裁剪而是grid里动态添加的项的panel找错了,所以不受grid的panel的控制,具体代码如下public void CreatePanel (bool addToPanel =...原创 2018-12-20 11:39:33 · 288 阅读 · 0 评论 -
C#中用除法控制NGUI UISlider的Value值为何一直为0
今天在写代码时用除法控制UISlider.sliderValue界面表现一直为0,代码如下:progressBar.sliderValue = SocietyManager.clanScore / GameData.instance.newClanChest[SocietyManager.clanChestid].minClanPoint;得到的结果一直为0让我很纳闷之后在网上终于搜...原创 2018-10-24 15:19:45 · 612 阅读 · 0 评论 -
空传播运算符?
《C#高级编程(第10版) C# 6 & .NET Core 1.0》本书循序渐进地讲解了Visual Studio 2015、.NET Core 1.0、ASP.NET MVC、Universal Windows Platform、WPF的最新变化。每一章都提供了清晰的解释、下载的代码,并从专家的角度提供了有价值的视野。有本书在手,读者可以快速获得最新的特性和功能。本节为大家介绍空值传播...转载 2019-03-26 12:29:58 · 1439 阅读 · 0 评论 -
Unity3D 判断所在平台(包括editor)
依赖于平台的编译Unity包含一个称为Platform Dependent Compilation的功能。这包含一些预处理器指令,可让您对脚本进行分区,以便为受支持的平台之一专门编译和执行一段代码。你可以在Unity编辑器中运行这个代码,这样你就可以专门为你的目标平台编译代码并在编辑器中测试它!平台#define指令Unity支持的平台#define指令如下:属性: 功能...转载 2019-03-28 11:23:11 · 2376 阅读 · 0 评论 -
判断是否过了规定时间
public class BaseValid{ private int TimeInvalid = 60; public DateTime checkTime; public BaseValid() { checkTime = DateTime.Now; } public bool IsValid {...原创 2019-04-03 16:30:44 · 379 阅读 · 0 评论 -
优化图形性能
https://docs.unity3d.com/Manual/OptimizingGraphicsPerformance.html官方文档常见的瓶颈和检查方法:1.GPU常常受到填充率或内存带宽的限制-->降低显示分辨率并运行游戏。如果较低的显示分辨率使游戏运行得更快,你可能会受到GPU的填充率的限制。2.CPU常常受到需要呈现的批数的限制-->检查"batches"在Re...原创 2019-09-09 11:51:47 · 510 阅读 · 0 评论 -
使用标准着色器编写脚本的特殊要求
1. 您必须为所需的标准着色器变体启用正确的关键字Keyword Feature _NORMALMAP Normal Mapping _ALPHATEST_ON “Cut out” TransparencyRendering Mode _ALPHABLEND_ON “Fade” TransparencyRendering Mode _ALPHA...原创 2019-08-14 11:01:05 · 326 阅读 · 0 评论 -
unity遇到的坑与解决办法
自动置顶:巨坑之预设体下面得子物体怎么自己都加了个UIPanel原因是因为再改预设体的时候没有在有UIPanel的物体下改,所以会自动创建,我的天啊condition:ArgumentNullException: Argument cannot be null.在写代码的时候不知道大家有没有写过下面的类似方法:public string GetHeadIconPath (int he...原创 2019-07-15 15:05:09 · 2981 阅读 · 0 评论 -
LOD 烘焙地图需要注意的细节
要设置成Lightmap StaticTo make sure your lower LOD models look correct with baked light, you must position Light Probes around them to capture the indirect lighting during the bake. Otherwise, your l...原创 2019-05-06 11:11:26 · 926 阅读 · 0 评论 -
关于灯光的几个问题及解决
解决方案:Lightmapping: Getting started 官方文档中的勾选这个就可以,但是在烘焙光照地图的时候会需要额外的时间官方文档:UV overlap feedback部分官方文档:Custom fall-off...原创 2019-04-29 11:17:46 · 907 阅读 · 0 评论 -
Unity Graphics 学习之:Lighting
官方文档:https://docs.unity3d.com/2019.1/Documentation/Manual/LightingInUnity.html第一章:Lighting Overview简单来讲,Unity中的灯光可以被认为是实时光(realTime),或者是预先计算好的(precomputed),这两种可以结合来使用.RealTime Lighting(实时光):默认情...原创 2019-04-09 17:09:08 · 457 阅读 · 0 评论 -
Unity Model:模型的默认设置面板
a.Meshes:网格。·Scale Factor:缩放系数。unity中物理系统默认游戏世界中第一个单位等于一米。采用不同的软件、不同的单位(建议在三维软件中采用米制单位)创建的模型可以通过该功能进行校正。·File Scale:文件缩放。·Mesh Compression:网格压缩。共有四个选项,Off为不压缩,Low、Medium、High代表依次增大压缩值,压缩值越大则网个...原创 2018-10-19 20:54:20 · 5382 阅读 · 0 评论