- 博客(21)
- 资源 (15)
- 收藏
- 关注
原创 Unity 使用ILRuntime时,错误日志看不懂的问题,无法快速定位热更新层的报错行号
Unity在接入 ILRuntime之后,如果程序报错,有些情况下的日志压根看不懂例如:InvalidOperationException: Collection was modified; enumeration operation may not execute.对于类似问题,很难快速定位到错误的地方,我们要去寻找错误地方时,往往需要打印很多日志,才能定位到出错的位置,常常因为找错浪费大量的时间。因此我先到了一种方案,将错误捕获下来,将异常信息打印出来:如下:双击以下文件进入之后可以看到
2022-05-09 16:09:46
1486
原创 unity接入ILRuntime之后 热更工程应用Packages下面的包方法 例如Unity.RenderPipelines.Core.Runtime包
unity接入ILRuntime之后 热更工程应用Packages下面的包方法 例如Unity.RenderPipelines.Core.Runtime包
2022-04-21 10:36:31
2363
原创 关于Unity工程导出到安卓工程时,真机调试报错: The application could not be installed: INSTALL_FAILED_TEST_ONLY
安卓工程运行报错:The application could not be installed: INSTALL_FAILED_TEST_ONLY
2022-04-20 18:07:53
3828
原创 Unity开发踩坑-粒子特效(ParticleSystem)性能优化
开游戏开发中,会常常遇到用粒子特效来制作技能特效,子弹特效,或者装备特效等。但是对于初学者来说常常会遇到如果屏幕出现大量同一个特效时,会遇到性能的问题不知道怎么优化。今天我就来举个例子带着大家一起尝试优化出现大批量例子特效之后遇到的性能问题:例如:我们游戏中出现了一个用粒子特效制作的装备运行之后,可以通过 unity提供的 帧调试器FrameDebug 截取一帧出来查看渲染顺序如下由上两张图可以看出:在渲染得时候几乎出现了来回交叉的出现了相同的材质球渲染:如下这是非常恐怖的,我们的期望
2022-04-01 16:09:36
13042
1
原创 Unity在打安卓包时 AndroidManifest.xml 中设定的其它启动模式 “singleTop“ 打完安卓包之后被自动改为了“singleTask“
出错的场景:unity在接入登录SDK或者广告SDK之后弹出了SDK的登录页,或者广告页面,此时切换到后台再切换到游戏页面,发现登录页面(或广告页面)消失例如:当我们登录之后,用手机发送验证码,然后切换出去查看短信验证码,之后再回到游戏,发现登录页面消失出现错误的原因:我们在接入SDK中,登录SDK一般要求我们将AndroidManifest.xml中的启动模式设置为:android:launchMode=“singleTop”如何验证unity确实做了这件事儿:打包时,勾选导出安卓工程:
2022-03-25 12:18:05
5557
2
原创 Unity URP shader 出现 SRP Batcher 为 not compatible时 渲染性能会下降 应该怎么处理 ?
以下是Unity官网对SPR Batcher 加速渲染的介绍https://blog.unity.com/technology/srp-batcher-speed-up-your-renderinghttps://docs.unity3d.com/Manual/SRPBatcher.htmlURP shader 在编写时,会出现 SRP Batcher 会出现 not compatible 此时 渲染性能会下降报错:Material property is found in another c
2022-02-22 17:04:41
7453
转载 Unity Built-in (内置渲染管线的shader)升级到 URP (渲染管线的shader)的方法
Unity开发过程中,由于前期积累了很多Shader 但是很多都是 内置渲染管线,现在新立项一般都采用URP渲染管线,那么就引入了Shader移植的问题:本文仅提供国外大神的参考链接:https://teodutra.com/unity/shaders/urp/graphics/2020/05/18/From-Built-in-to-URP/...
2022-02-22 16:38:32
2343
原创 UNITY开踩坑总结--AndroidSDK接入时遇到 ‘org.gradle:gradle-core:2.2‘, ‘org.mockito:mockito-core:1.9.5:javadoc‘.
问题描述:Android SDK接入时,采用 implementation ‘unitylibrary-debug’ 方式导入:遇到的问题:A problem occurred evaluating project ‘:mylibrary’.Supplied String module notation ‘unitylibrary-debug’ is invalid. Example notations: ‘org.gradle:gradle-core:2.2’, ‘org.mockito:moc
2022-02-18 14:23:33
4399
原创 c/c++学习总结(结构体)
1.结构体结构体其实也是变量,并且更数组有相同之处。 与数组的相同点:都是一群元素的集合。都具有变量的通性。 与数组的不同点:结构体的每个元素一般情况下不是相同类型的(假如是相同类型的就直接用数组了,没必要用结构体)。2.结构体的寻址表面上能够看到的有: 点调用,指针调用。但是实际上都是指针调用,都是采用的是 首地址 + 偏移量的形式。 实现的本质( 都是寻址 ) ; 首地址,计算出每个成员变量的偏移量。就
2022-02-16 20:33:54
290
原创 c/c++学习总结(变量)
1.变量的组成由变量类型可以推导出来变量长度,但是由长度不能推到出来变量的类型。在C语言中最短的变量是一个字节。2.怎么判断两个变量是否相同3.变量名在编译器的处理在编译器中,变量名将不会保存在内存空间,编译器只将变量中的数据读取到了内存中,而变量名是被当做常量存放在编译器的PDB中。pdb是编译器的4.变量的分类(1)变量的种类分为:全局变量、堆变量、栈变量(2)几种变量之间的比较...
2022-02-12 11:54:30
260
原创 c/c++学习总结(函数)
1.C语言中,函数调用在C语言中:在调用函数之前将压入函数的参数到内存空间中压入的方式:先压入最后一个参数,再依次往前依次压入参数到内存中。 ebp +8 找到的是第一个参数 ebp +12 找到的是第二个参数 ebp +16 找到的是第三个参数 ebp - 4 找到的是第一个局部变量 ebp - 8 找到的是第二个局部变量 ebp - 12 找到
2022-02-12 11:52:24
434
原创 c++学习总结(程序优化)
1.程序优化的前提在优化程序的时候,必须要以程序的正确性为前提,如果优化过后的代码影响的程序的正确性,那么情愿不优化这段代码。尽量不要优化,在一些代码频繁的出现时,只在关键的地方进行优化。1).cpu分支预测:CPU中有分支预测的功能,该功能电路占用CPU计算部分的1/4,是一个很复杂的电路组成,而且分支预测有一定的成功率,如果选中的分支错误,那么CPU重新读取数据执行另一条支路。可以看出,如果程序中,条件判断语句越多将会影响程序的运行效率。2).把选择结构变为顺序结构:当执行到if语句的
2022-02-12 11:40:58
498
原创 c++学习总结(物理地址与线性地址之间的关系)
在硬件工程师和普通用户看来,内存就是插在或固化在主板上的内存条,它们有一定的容量——比如64 MB。但在应用程序员眼中,并不过度关心插在主板上的内存容量,而是他们可以使用的内存空间——他们可以开发一个需要占用1 GB内存的程序,并让其在OS平台上运行,哪怕这台运行主机上只有128 MB的物理内存条。而对于OS开发者而言,则是介于二者之间,他们既需要知道物理内存的细节,也需要提供一套机制,为应用程序员提供另一个内存空间,这个 内存空间的大小可以和实际的物理内存大小之间没有任何关系。 我们将主板上的物
2022-02-12 11:39:09
293
原创 c++学习总结(模板的简单介绍)
1.什么情况下使用模板例如:当某一种算法函数试用于多种基本类型的时候,那么我们将该算法函数写成一个模板,当运算于不同类型的时候,我们在调用模板函数的同时,加上一个类型。2.模板的本质表面上:只有一个函数, 提高了编程效率。实质:用的时候,定义多少种类型,那么将会存在多少个obj函数文件。...
2022-02-12 11:35:00
419
原创 c++学习总结(对循环的理解)
1.循环的目的为了代码复用2.什么时候用循环结构当一段相同的代码,连续出现多次的时候,我们就将这段代码提为循环结构。当提循环技巧高的时候,里面的循环变量涉及到的算法就比较复杂。...
2022-02-12 11:25:33
325
原创 c++学习总结(对时间、空间的理解)
1.对程序中,时间和空间的理解在程序中,时间和空间永远是矛盾的,要么就是用时间来换空间,要么就用空间来换时间。编程人员就是在做时间和空间的平衡。2.时间换空间3.空间换时间3.算法当一种优秀的算法出现过后,将会大大的提高程序的运行时间,同时也可以很好的节省程序运行所占用的内存空间。所有可以寻找算法来同时提高程序的运行效率,减少程序运行所占用的内存空间。...
2022-02-12 11:24:05
438
原创 c++学习总结(程序的结构)
1程序的组成结构程序 = 数据 + 代码;(程序是由数据和代码组成的)。数据:分为复杂类型的数据和简单类型的数据代码:大量的函数集合相互联系在一起形成代码类:类中有函数,类变量称之为复杂型变量。...
2022-02-12 11:21:09
256
原创 c++学习总结(数组)
数组的定义 与变量的不同点:数组是由几个相同类型的变量的集合。(每个元素类型相同,长度相同)数组中每个元素是怎么找到的? 表面上:是通过下表进行寻址的。 本质:是通过寻址(首地址+偏移量)。对数组的理解例:int b[5] sizeof(b)为20个字节, int c = b;编译正确上数组,其中b所代表的含义:(1)b可以代码一个有5个整型元素的数组 ..
2022-02-12 11:19:41
310
原创 c++学习总结(共同体)
1.共用体2.共用体的优点(1) 分段使用(2) 节省空间 对于有几个变量不会在某一段时刻同时出现,那么我们利用共用体,可以节省内存空间。(3) 代替强类型转换 例如:在网络编程中,经常会用到传入一串数据,这些数据将会以参数的形式传递给不同的函数。因此可以用到共用体,让共用体里面全都是函数指针,在同一时刻指向不同的函数。因此来提高编程效率,以及节省空间。例子:#include “stdafx.h”union AA{char (*p)(char,char
2022-02-12 11:16:31
691
SRDebugger.unitypackage
2022-07-21
Low Poly Environment - Far East 1.0.unitypackage
2022-02-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人