- 博客(233)
- 资源 (8)
- 收藏
- 关注
原创 Android Gradle、Android Gradle Plugin、BuildTool关系
Gradle 是一个,支持多种语言(如 Java、Kotlin、C++)和项目类型应用示例:build.gradle文件build.gradle` 文件是用 Groovy 语言编写的。它是 Gradle 构建系统的一部分,负责定义项目的构建脚本,包括依赖管理、任务定义、编译选项等。通过 `build.gradle` 文件,你可以配置和自定义构建过程,使得项目的构建和部署更加自动化和高效。AGP(Android Gradle Plugin)是 Gradle 的。
2025-04-03 13:00:38
501
原创 C C++ 为什么称为Native代码、虚拟机
其他高级语言(如 Java、Python)的抽象层(如对象模型、异常处理)会引入额外开销,而 C/C++ 的语法更接近硬件操作,几乎无抽象损失。:C/C++ 支持指针和内存地址的直接访问,能够与硬件(如寄存器、内存映射 I/O)高效交互,常用于操作系统内核、驱动程序和嵌入式开发。:相比 Java、C# 等需要运行时环境(JIT 编译)的语言,C/C++ 的执行路径更短,避免了中间层的性能损耗。(二进制指令),运行时无需虚拟机(如 JVM)或解释器(如 Python 解释器)的介入。
2025-03-13 17:40:37
454
原创 Unity构建WebGL知识点
代码剔除问题:assetbundle中用的类,在主包中剔除了。在 Unity 安装文件夹中有几个插件可供参考(位于。目的是因为assetbundle,可以随时卸载。
2024-10-29 17:18:36
1094
1
原创 使用jenkins打包unity工程
✅git update-index --assume-unchanged <file> 对本地文件忽略跟踪,比如分支上有这个文件,但是忽略本地的跟踪,但是git reset --hard HEAD 之后,还是会更改,所以先stash 再pop。✅sh""" """,""" """表示可写多行shell,且shell中不能定义变量,需要在script{}里面通过def定义变量,然后在sh里面通过${}引用。✅def 变量赋值需要双引号"",比如def ttt="${test}"
2024-09-20 09:20:51
1303
原创 磁盘映像无法打开
3.输入密码后,终端输入codesign --force --deep --sign - "app 路径",按下enter键,控制台输出"replacing existing signature"比如:codesign --force --deep --sign - /Applications/client.app。4.双击App打开即可,或者控制台输入:open "app 路径"比如:open /Applications/client.app。
2024-09-19 14:46:36
965
原创 Unity 混淆dll
如果是.netframework开发的应用程序,可以使用mono /path/xxx.exe。如果是.net 5及以上开发的应用程序,可以使用dotnet /path/xxx.exe。
2024-08-08 13:15:48
412
原创 Unity Android接入SDK 遇到的问题
所以获取gradle.properties 文件的位置的时候,2019之后要返回上一级再获取,即:/Temp/ gradleout/unityLibrary/../gradle.properties。其实就是gradle版本太低了,升级下gradle,会自动的去升级kotlin,也就是升级Android studio或者idea。之后变成了/Temp/ gradleout/unityLibrary。下载jd_gui 工具 ,或者 idea 下载jd 插件,为/Temp/ gradleout。
2024-07-25 13:11:36
1399
1
原创 Unity之UGUI合批规则
canvas 层级从上到下,从渲染角度,是从下往上,越先出现的越先被渲染从渲染角度,一个UI元素下面是否有重叠的UI元素没有:depth=0有:仅有一个重叠可以合批:depth=该元素的depth,合批指材质球一样不能合批:depth=该元素的depth+1多个重叠:依次对重叠的元素,进行上面的步骤,最后取最大的上面的过程之后,得到一个depth从小到大的排序对depth相同的元素,通过materialId,从小到大排序,方法material.getInstanceId。
2024-06-06 10:51:24
1074
原创 c# .net core、.net framework、c#、mono之间的关系
它们都是微软旗下的产品 .NET Framework 主要针对window环境开发,是一套开发框架,它包含了大量的类库和运行时环境(CLR),支持多种编程语言,包括 C#。 - .NET Framework 的版本(如 4.5、4.6、4.7 等)表示框架的不同版本。每个版本的 .NET Framework 支持特定版本的 C# 语言特性。 .NET Core .NET Core 是一个跨平台的开源框架,旨在替代 .NET Framework。它可以在 Windows、Linux 和 ma
2024-05-23 08:29:06
731
原创 C# System.Span<T>、ref struct
Span<T>的这些用法展示了它如何提供对内存的高效访问,同时保持类型安全。由于 Span<T>是 `ref struct`,它具有一些限制,例如不能被装箱、不能作为异步方法的返回值,也不能存储在堆上,这些限制有助于保持其性能优势。它适用于对连续内存的操作,而不产生新的内存分配,比如数组、字符串、堆外内存。
2024-05-22 10:55:48
354
原创 Unity里的Time
如果不存在任何限制,那么由deltaTime缩放的物体就能够在帧速率高峰期间穿过游戏中的墙壁,因为从理论上讲,物体从一帧移动到下一帧的距离是没有限制的,所以它可以在一帧内从障碍物的一边跳到另一边而不会与之相交。. 平滑算法不能预测未来的变化,但它逐渐调整其值来平滑最近经过的增量时间值的变化,从而使平均报告时间保持与实际经过的时间量大致相等。控制的是1秒内执行的步骤数,比如 0.01 表示每个固定的时间步长是持续时间的百分之一秒, 所以每秒有100个固定的时间步长。
2024-05-14 18:18:40
1056
原创 Xcode隐私协议适配
三方SDK在上面的列表中,分为两种情况:以二进制集成(framework),需要包含签名和隐私清单,从目前来看,三方SDK都更新了以源码集成,只需要包含隐私清单,如果三方SDK最新版SDK里面包含了,拿过来用即可,更不更新SDK都行,如果三方SDK最新版也没有包含,可以不用管三方SDK不在上面的列表中:签名和隐私文件有没有都行,最好有自己的App里面,只需要包含本身App里用到的隐私Api说明。
2024-04-26 13:30:01
4391
原创 Unity:2D SpriteShape
可以很灵活的更改sprite的轮廓。比如:它由两部分组成:Sprite Shape Profile、Sprite Shape Controller,需要导入2D Sprite Shape Package.
2024-04-04 18:25:41
2096
1
原创 DOTS:Burst
不使用IL2CPP:c#->Roslyn编译器编译成IL字节码->运行时通过Mono虚拟机转换成目标平台的机器码使用IL2CPP:c#->Roslyn 编译器编译成IL字节码->IL2CPP编译器转换成C++代码->特定平台的编译器,编译成特定平台的机器码(绕过了mono虚拟机,增加了安全性,快捷性,裁剪了无用代码)Burst是一个编译器,封装了LLVM编译器,把IL字节码,编译成优化后的机器码,它专注于优化那些通过Unity的Job System和ECS编写的高性能代码片段。
2024-04-02 10:38:18
1232
原创 Unity:Animation 三 Playable、ImportModel
提供了一组创建、混合、修改多种数据的api 和图表,支持 animation,audio,scripts.
2024-03-06 10:20:27
1367
原创 ios 之 数据库、地理位置、应用内跳转、推送、制作静态库、CoreData
创建两个target,一个是app,一个是动态库/静态库,如果想使用静态库的方法,需要导入该文件。通过获取plist 文件中的URL Type ,来动态的获取URL Scheme。本地通知期间kill调App,通过点击通知横幅,执行对应的操作。程序刚启动时收到的推送。
2023-12-24 18:16:50
953
原创 ios开发 之 网络通信
运营商提供的DNS服务器(有可能挂,所以有时候通过ip可以打开,通过域名不可以访问)逐级递增请求,解析域名google 提供的dns服务器8.8.8.8类似 c# 中的 ref,把值类型转换成引用类型传递。
2023-11-26 16:59:26
613
原创 ios开发 之 多线程
因为arc 中,会自动管理内存,但是arc 关不了c 语言,所以在c 语言中,创建的对象要自己去释放,桥接就是告诉c 语言,这个对象要去释放layout subviews 这个方法用来设置控件的 frameblock 中使用到self,尽量使用__weak ,避免循环引用。
2023-11-10 15:13:01
195
原创 TypeScript 基础学习
判断是否为pet 这个类型,如果返回true,表示是pet类型。js 只能是动态类型检查,ts 是静态类型检查。泛型返回的必须是泛类型,不能是指定的类型。生成的配置文件名字叫tsconfig。const 是不可变的。
2023-10-27 08:44:40
159
原创 ios UI 基础开发一
首先查看启动哪个launch screenlaunch screen 是启动画面之前的图然后启动哪个view controller ,有箭头的就是初始化的view controller,如果有多个vc,可以拖拽启动哪个View controller 的那个类。
2023-10-12 13:50:43
885
原创 git 重置到某次提交
2)用 git reset --hard <版本号> 命令回滚到之前某版本. 此时本地已经回滚,远程仓库还未回滚。3)用 git commit -m “<随便取名>” 提交到本地 git 库。1)用 git log 命令查看版本号(commit后的就是版本号)2)用 git revert -n <版本号> 命令回滚到之前某版本。1)用 git log 查看版本号(commit后的就是版本号)情形1: 回滚到之前的某版本,且删除该版本之后的提交。情形2:回滚到之前的某版本,但保留该版本之后的提交。
2023-10-11 15:40:20
1594
原创 c 语言开发
第4节 option+command+/ 第十二节:变量所占内存常量就是整形,比如:’a‘=97 都是补码进行运算 类似于ref,实现多个返回值效果 char* 存到常量区,类似于const,所以不能更改f表示 file 申请失败了返回null 创建到堆区 本色传递,因为预编译的时候,变量还没有值,所以只能传递变量名 在头文件中,防止一个头文件被多次导入
2023-09-20 13:46:24
1108
原创 Unity 性能优化五:渲染模块压力
摄像机在每一帧中执行剔除操作,这些操作会检查场景中的渲染器,并排除(剔除)那些不需要绘制的渲染器默认情况下,摄像机执行视锥体剔除。
2023-07-30 19:05:23
2087
原创 Unity 性能优化四:UI耗时函数、资源加载、卸载API
1. 这里更新的是vertex 属性,比如 color、tangent、position、uv,修改recttransform的position、scale,rotation并不会导致顶点属性改变,因为顶点的position是根据pivot的偏移决定的,而改变其size、pivot、anchor,则会修改UI的transform属性,从而引发重建,还包括替换图片,更新文本等。raycast target 不用就关闭它。2. 合并的过程在子线程中实现,如果网格过于复杂,出现了主线程的等待,则耗时会被统计到。
2023-07-29 21:09:11
2598
原创 Unity 性能优化三:动画模块、物理模块
Culling Update Transform:不更新上面的部分,但逻辑,根节点还是更新的,依然可以收到 OnAnimatorMove 回调,即位置保持更新,动画不再,其他动画将被跳过,比如骨骼动画,IK,OnAnimatorIK,一般推荐使用这个,但是有的复杂动画,在进入视野时会有问题,如果有问题,更改为Always animate。在开启Physics设置时,它的主要耗时堆栈是。这些函数,返回的结果都是一个单独的实例,分配到内存中,造成GC开销,使用其对应的NonAlloc版函数。
2023-07-28 16:21:16
1952
原创 Unity 性能优化二:内存问题
一份网格的顶点数据有很多,比如position、color、tangent等,但是切线一般是在计算光照的时候才用,可以在导入模型的时候,model 栏下,设置tangent为none,也可以通过projectsetting里面开启optimize mesh data,它会裁剪没有用到的顶点属性,需要测试。5. ASTC 可以调节压缩块的大小,来调节压缩比例,因为ASTC 是以固定128bit 来存储一个块的,块里面的像素越多,压缩比例就越大,因为平摊到每个像素的存储空间越少,比如4x4,6x6,8x8。
2023-07-28 11:21:40
2759
原创 Unity 性能优化一:性能标准、常用工具
性能提现到玩家直观感受,就是帧率,为了达到要求的帧率,就要控制CPU的耗时,不同类型的游戏,对帧率要求不一样。
2023-07-25 11:30:57
2442
原创 Shader 基础之 Unity Shader概念
默认声明的keyword 都是global的,但是可以在声明keyword type的时候,加上后缀_local 来表示是local的,加上之后表示不可override的,也就是同名的不能复写它。3. 一个shader包含在多个material里面,打进assetbundle中,会导致有多份shader,同时也打断了合批,可以使用。Note:所有的分支都会编译成程序,写进shader里面,这会增加文件的大小,但是相比较多个变体来说,它还是小的。,当该集合中的所有关键字被禁用时,创建一个着色器变体。
2023-07-10 13:46:40
1067
原创 ECS 简略版说明六:additional-entities-features
shared component 的值不是直接存储在 chunks中, world 把它们存储在一个数组中,chunks 仅存储它在数组中的索引. This means that。每一个component type 也有自己的 version number, 当对该组件写入访问时递增。清理组件的主要用例是在实体创建后帮助初始化实体,或者在实体销毁后帮助清理实体。. 如果结构包含任何托管类型字段,那么共享组件本身将是托管组件类型。, 就可以在引用数为0时,dispose它。, 就可以对其引用计数,比如实现。
2023-06-26 16:45:08
490
原创 ECS 简略版说明五:Baking and entity scenes
shared component 组件决定, By default, an entity belongs to section 0, but this can be changed by setting。勾选框表示是否可以编辑,勾选上打开该场景时,就会加载对应的资源,如果不在该场景后,可以取消勾选,降低消耗。当一个场景被加载时,它由一个metadata的实体来表示,它的每个部分也都由一个实体来表示.提供了 loading and unloading。为了流加载,场景被分为多个。
2023-06-26 15:30:27
615
原创 ECS 简略版说明四:system、transform component,system
struct, containing the frame delta time and elapsed time. 通过 world's。更新,The time value can be manipulated with these。会计算每一个 entity's world-space transform (from the。group的children 当有新的child 添加或移除的时候,会重新排序。). 好处就是复制的时候代码是一样的。中子元素之间的相对排序顺序.
2023-06-26 14:40:47
453
原创 ECS 简略版说明三:Entity command buffers
temporary ID's. In playback,命令执行完之后, temporary ID's 会重新映射到一个真实的实体上。都有一个 job safety handle,和每一个commponent 一样。在命令执行完之前,不会创建新的实体,所以返回的 entity ID 是。instead: 一帧的结束和下一帧的开始在逻辑上是同一时间点).的时候 playback 、dispose。ID, 值是负的,同一个。提供了一种方便的方式执行。
2023-06-26 13:29:30
531
原创 ECS 简略版说明二:在job中访问entities
Execute()Execute()IJobEntityIJobChunkIJobEntity要将IJobChunk或IJobEntity的工作拆分到多个线程中,调用, chunk 会拆分成多个独立的 batches。
2023-06-26 09:18:17
347
原创 ECS 简略版说明一:Entities and components
相同archetypes 的实体,存储的地方称之为chunk, 每个chunk 16kb大小,每一个chunk 至多存储 128 entities (精确的数量取决于原型中组件类型的数量和大小).实际上,添加或删除实体的组件会改变实体所属的原型,这就需要entitymanager将实体及其组件从旧原型移动到新原型,如果新的archetypes 不存在,aspect 类似于对象封装器,封装了多个component,Aspects 可用于简化查询和与组件相关的代码,比如,The。
2023-06-26 08:27:12
648
6900字的TextMeshPro---SourceHanSansCN-Normal.asset
2020-07-28
Bluetooth LE for iOS, tvOS and Android.zip
2019-08-29
iTweenPath.zip
2019-08-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人