- 博客(24)
- 资源 (3)
- 收藏
- 关注
原创 Unity SpriteRender合批
SpriteRender渲染时,不同渲染对象的精灵处于同一图集时,会合并为同一批次处理。如果ABCD彼此不重合,或者AB重合或者CD重合,渲染批次为2。如果AC有重合、BD有重合,合批会被阻断,渲染批次为4。例:A、B渲染精灵为同一图集,C、D为同一图集。但是,当渲染精灵有遮挡关系时,可能阻断合批。
2024-09-26 14:55:10
526
原创 Unity UGUI HorizontalLayoutGroup多级布局混乱问题解决
1.HorizontalLayoutGroup添加时,对于自身大小控制添加ContentSizeFiltter组件(不控制自身大小时不添加此组件),HorizontalFit:Preferred Size。2.子节点有布局,同1操作。子节点没有布局时,子节点要添加LayoutElement组件(PreferredWidth、PreferredHeight勾选),否则会被父节点(ControlChildSize Width为true)控制改变大小。HorizontalLayoutGroup多层布局混乱问题。
2024-07-23 20:08:17
420
原创 Unity相机与相机之间GameObject的坐标和旋转转换
通常我们会遇到这样的需求:将游戏场景的3D物体,放在UI坐标的某个位置。当游戏场景和UI使用的不同相机渲染,且需要有动画从游戏场景过渡到UI界面时,此时需要将游戏相机视角的坐标和旋转,转换到UI相机视角下的坐标和旋转。
2024-05-21 18:59:28
471
1
原创 androidstudio生成release.aar
3.双击assemblyRelease生成aar即可。2.重新同步编译一下building.gradle。1.配置:File->Setting。
2023-10-20 15:36:17
517
1
原创 Unity 2D点击事件、碰撞
4.GameInputEvent2D 事件必须添加在挂载Physics2DRaycaster的对象及其父类身上。5.如果要有碰撞或者触发器回调,碰撞其中之一要添加Rigidbody2D脚本,且不能设置为静态的。3.摄像机上必须添加Physics2DRaycaster脚本。2.点击对象必须要添加BoxCollider2D脚本。定义脚本,实现事件相关接口即可。
2023-02-14 14:10:27
2274
1
原创 Unity开发--单机游戏中的时间管理(附带: Editor模式停止运行游戏调用OnApplicationQuit)
Unity时间管理(附带: Editor模式停止运行游戏调用OnApplicationQuit)
2022-12-09 10:01:20
930
原创 unity il2cpp 打包 导出慢问题
公司用的unity版本是unity2019.4.27,在导出il2cpp和自动打包时,总是非常慢。按理说il2cpp是增量打包,应该快的?最后各种纠结,发现unity默认关闭了il2cpp增量打包功能,而且设置界面没法开启,只能通过代码设置开启:设置增量打包开关:PlayerSettings.SetIncrementalIl2CppBuild()获取增量打包开关:PlayerSettings.GetIncrementalIl2CppBuild()...
2022-05-07 16:11:26
3340
原创 unity VideoPlayer使用中的坑
在使用VideoPlayer时,Editor中运行一切良好,播放正常,但是打包成apk时,播放不了,调试代码,发现texture变量为null,不知道原因。后各种查询,经过大佬指点,当视频打包成bundle时,不能加密,否则就播放不了。或者视频不打包成bundle。...
2022-04-14 16:39:32
3031
原创 go语言中,到底nil是个什么货?
什么是nil?go中关于nil的定义为(buildin.go中):var nil Type type Type intgo定义变量时,会默认分配一个零值,如:bool->false、numbers -> 0 、string -> “” 。而nil则为指针、切片、map、通道、函数对象、接口对象的零值,nil可以代表多种对象,如下代码:var a = nil //此代码报错,因为编译器无法确定a的数据类型var a = (int*)(nil) //代码正确
2022-01-28 00:00:00
970
原创 go语言结构体知多少?
看如下代码:type Person struct { age int name string}func (p Person) SetName(name string) { p.name = name}func (p *Person) SetAge(age int) { p.age = age}func main() { var p = Person{age: 0, name: "default"} p.SetAge(5) p.SetName("lx
2022-01-27 23:51:04
313
原创 基于go-grpc和etcd的负载均衡、服务注册和服务发现
使用etcd做服务注册与发现时,etcd已经集成了grpc客户端的服务发现 功能,自己做服务注册功能。服务注册:package balancerimport ( "context" clientv3 "go.etcd.io/etcd/client/v3" "strconv" "time")var cli *clientv3.Clientvar interval = 5//注册服务//etcdAddrs:etcd地址//serviceName:注册到etcd的服务名称//serv
2022-01-13 21:39:41
1637
原创 go 限流
1.官方包中原生简单限流:限流方式为简单粗暴的设置最大处理任务数,当达到限流链接数时,过载链接不会被丢弃,而是排队处理,这导致客户端关闭后,服务器还会排队处理。 l, _ := net.Listen("tcp", "127.0.0.1:8001") defer l.Close() //限流监听 l2 := netutil.LimitListener(l, 4) l2.Addr() http.Handle("/test", http.HandlerFunc(func(writer http.Res
2022-01-12 21:56:39
660
原创 go基于hystrix熔断
熔断是指在在调用其他服务时,其他服务发生错误时上游主动关闭或限制对其他服务的请求。原理通常熔断器分为三个时期:CLOSED,OPEN,HALFOPENRPC 正常时,为 CLOSED;当 RPC 错误增多时,熔断器会被触发,进入 OPEN;OPEN 后经过一定的冷却时间,熔断器变为 HALFOPEN;HALFOPEN 时会对下游进行一些有策略的访问,然后根据结果决定是变为 CLOSED,还是 OPEN;常见熔断器:https://github.com/sony/gobreaker,此熔断器为
2022-01-12 21:44:57
287
原创 Unity UGUI 无限滚动列表,自动分页,自动网络数据请求
Unity UGUI 无限滚动列表,自动分页,自动网络数据请求1.实现功能1.1 横向和竖向自动滚动,滚动Item重复利用。1.2 当滚到应该翻页时,自动调用回调,处理翻页需求。一般在游戏开发过程中,此时需要重新请求下一页数据。1.3 可以快速滑动,如果有多页,一次性滑到底也可。2.代码实现2.1 代码实现思路:a.在原生ScrollView的基础上,添加扩展脚本实现。b.content宽或者高,在设置数据总条数时,一次性设置。如总条数1000条,每个显示Item高度为100,则conten
2020-06-05 17:43:04
2408
2
Unity无限滚动列表(自动分页和网络请求) ScrollView
2020-06-04
unity换装系统
2016-07-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人