2020/04/29
引言:最近碰到编辑器下跑效果正常,真机上就开始出幺蛾子:
一、timeline播放异常(排查过程:1、编辑器下选择使用AB模式跑游戏(正常);2、编辑下使用openGL es3.0(正常) 3、使用一个空场景把timeline单独打包(异常);3、查找效果异常的资源,检查资源格式(问题定位结束))
二、粒子特效播放异常(排查过程:1、编辑器下选择使用AB模式跑游戏(异常);2、找到效果异常的资源,检查资源格式(格式无误);3、查找打包参数是否会对资源格式或者参数进行修改;4、找特效制作人员确认资源哪个参数异常;5、打包优化mesh导致顶点色信息丢失)
20202/5/15
一、当不知道自己鼠标点击的ui是哪个时,可以使用eventsystem,在检视面板中查看。比如:点击按钮没反应,可以先找到eventsystem物体,然后鼠标移动到按钮位置,最后在检视面板中查看自己鼠标停留的物体是什么
二、当想要使用不同Camera显示不同层级物体时,先调整Camera需要显示的层级,然后再调整Camera的depth(使得Camera显示的物体有先后)
20202/5/20
一、CanvasGroup可以控制当前物体以及子物体能否被看见,若需要隐藏整个物体可以优先考虑CanvasGroup。假设当前物体下有子物体不需要被隐藏则可以给不需要隐藏的物体加CanvasGroup并且勾选上Ignore Parent Groups
2020/5/30
一、继承自unity的UI类,增加public字段并不能在检视面板中显示。自定义个Editor类,给该类增加[CustomEditor(typeof(继承自ui的类),true)]属性标签,重写OnEnable、OnInspectorGUI(具体可参考以下链接:当类继承UI类时,使其属性显示在Inspector面板上_u014589770的博客-CSDN博客)
2020/5/31
一·、打AB包时可以禁用typetree来减少包体大小以及运行时内存大小
二、打的AB包若是带在应用程序中,包体大小可以是5-10M;若是从网络中下载,包体大小不要超过2M。AB包最大不要超过2G
三、当你打应用程序(apk、ipa)与AB包的unity版本一致,禁用typetree是没有问题的。typetree类似存档兼容(除非跨unity版本兼容)
四、同步与异步同时使用会有问题(preload与presistent)
2020/6/6
一、计算角度问题,Vector3.Angle计算的角度分为(0-180),也就是上下轴都是0-180;如果需要返回的角度要为(0-360)需要自己判断什么时候为下半轴,然后360 - Vector3.Angle
2020/6/16
一、关于切换平台小技巧,假设你的项目超级大,若是自己切换安卓平台,那你可能需要花费一天一夜。这时你可以选择去找一个已经切换到对应平台的同事拷贝他的项目Library文件夹给你
2020/6/30
一、IPointerUpHandler与IPointerDownHandler接口需要配对实现
2020/7/4
一、c# Event 外部只能使用+=或者-=,由内部触发事件。delegate可在外部直接赋值并触发调用
2020/7/16
一、lua 调用 c#接口 ,有时我们需要知道lua的调用堆栈,因此在被调用的C#接口里面调用debug.traceback 取出lua堆栈信息,再Debug.LogError即可,真的很实用
2020/7/20
一、项目目录组织 Unity项目如何架构(一)目录组织-腾讯游戏学堂(Unity项目如何架构(一)目录组织)
2020/7/23
一、自定义特性约束:若特性需要约束在指定类型上,可以把特性放在指定类型里面。如:
public class Parent
{
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)]
public class Attr : Attribute
{
}
}
2020/8//03
一、Cannot set the parent of the GameObject ''XXX“ while activating or deactivating the parent GameObject "XXX" ,由于父对象进入回收池时,代码正在对该对象子节点的父节点进行修改。修改方式为:给子节点套一层空对象
2020/8/10
一、粒子加载完毕后挂载的节点如果隐藏,那么特效就会停止播放(待定)
二、如果需要粒子夹在两个image中间(1、canvas;2、spriteRenderer 3、image 加shader)
2020/8/14
一·、安卓下的StreamingAssets不能使用File类进行文件操作。如果需要读取AssetBundle可以使用AssetBundle.LoadFromFile(路径为:Application.dataPath+"!assets/"+ab路径)其他文件读取可以使用unitywebrequest或者自己写jar
PS:移动平台大小写敏感
2020/8/24
一、自定义协程继承CustomYieldInstruction
二、c#的继承:子类会继承父类除构造函数外的所有成员(包括静态),能否访问该成员取决于访问修饰符
三、c#读取excel可以使用NPOI,NPOI不但可以在windows还可以在mac上运行
2020/8/25
一、设置unity代码的编译时机 Editor->Preferences->General->Script Changes While Playing
二、加载如果能够采用按需加载就一定要采用这种方式
三、当apk或者ipa时,unity提示找不到类型或命名空间DllImport ,在对应的cs文件 using System.Runtime.InteropServices;(今天打ipa就遇上了)
四、IPA文件不支持dds文件,但是unity打bundle只会给警告,不会停止打包。可以通过git、svn提交文件时不允许提交改类型文件
2020/8/27
一、mac执行.sh文件需要运行权限 chmod a+x xxx.sh
2020/9/10
一、当ScrollRect的viewport下需要多个content时,在ScrollRect的content下创建自己想要的content
2020/9/15
一、csc.exe一定要选则VS(Roslyn)安装目录下的,千万不要选择框架下
2020/10/13
内存泄漏情况:lua--> 全局表未释放、c#委托对象没有释放lua对象
c# --> 闭包、委托对象没有及时移除、静态对象堆积
2020/11/03
一、32位exe内存(1.6-2G)不够导致应用程序崩溃 可以进行如下修改增加应用程序内存:
1、找到vs安装目录下的vcvars32.bat
2、进入当前目录下的命令提示符 执行vcvars32.bat
3、editbin /largeaddressaware xxx.exe(目标应用程序全路径)
4、dumpbin /headers xxx.exe(查看是否修改成功 成功信息:Application can handle large (>2GB) addresses)
2021/01/07
一、自己明明选中了project下的某种资源,但是Selection.activeObject返回一直为空。(当下方出现了路径后Selection.activeObject返回值就不再为空)