- 博客(56)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 UnityUIPlayables Timeline 拓展方法
Timeline 自带SignaleEmitter ,可以用来添加关键帧,执行到关键帧时可以触发绑定的事件。类似Animation的关键帧。但是只支持无参数的事件
2025-03-03 11:47:11
404
原创 TextMeshPro保存偏移数据
使用TextMeshPro的图文混排,图片位置和文字有偏移,常需要使用以下属性调整图片的偏移数据。但是图集扩展时,重新打包图集,这个数据常被覆盖掉。策划想要个小工具处理一下,代替每次都手填。
2025-01-07 11:14:17
377
原创 Unity 编辑器-UGUI拓展Button,一个和原Button一样按钮⭐
我们预期的是和unity 自带的Button一样的创建方式。这里只临时做一丢丢功能示例,我们预期的是上面代码中的属性在Inspector中显示出来,然而并没有。创建后如图所示,节点正确创建了,但我们的预期是下面这样,自动选中+展开。如图,属性已经能正确显示。添加按钮菜单如图所示。
2024-08-23 20:15:00
2235
原创 Unity 编辑器-监听创建控件,prefab创建或添加组件的自动处理⭐
我想在添加Text时,自动添加一个脚本,用于处理多语言。在添加图片时,自动去掉raycast的勾选以节约性能损耗。
2024-08-23 20:00:00
414
原创 Unity发微信小游戏记录
打开游戏工程 -> 团结/Unity Editor 菜单栏 -> Package Manager -> 右上方 “+” -> Add package from git URL。如上图导入Unity 转换好的工程,路径是导出的两个文件夹中的minigame。webgl 是传到CDN的资源(首包加载方式选择包内忽略这项)以上完成后,可点击工具面板生成并转换,导出小程序工程。如果是首包加载方式为包内,到这里就完成可以进行调试了。如果需要CDN需要查看配置域名是否已正确配置。将这个域名添加到上面配置域名的位置。
2024-07-16 14:28:21
1310
原创 Unity 编辑器-查找所有未被使用的Prefab
每组元素第一个为查找的prefab,之后的是使用了该prefab的预设或配表。接到一个需求,将Res里所有特效相关的prefab检查一下,没有使用的移除。PS:使用Prefab名字做的检测,未对同名Prefab做筛选判断。如果一组元素只有一个对象,则这个prefab无引用。"Assets/工具/查找空引用的Prefab"和其他Prefab间的直接引用。顶部的按钮为指定功能。先拆解一下需求,如下。
2023-07-10 19:15:28
999
原创 Unity 编辑器-创建模板脚本,并自动绑定属性,添加点击事件
当使用框架开发时,Prefab挂载的很多脚本都有固定的格式。从Unity的基础模板创建cs文件,再修改到应有的模板,会浪费一些时间。尤其是有大量的不同界面时,每个都改一遍,浪费时间不说,还有可能遗漏或错改。写个脚本创建指定的模板代替C#基础模板。
2023-07-10 16:02:50
1835
1
原创 Application.OpenURL 打开邮件不生效
Android使用以下代码正常打开邮件,iOS测试不生效。大概率是特殊字符编译错误,用Uri转一下,正常调起系统邮件。
2022-09-06 17:47:22
513
原创 实例化一个Prefab比较卡可能的原因
void Start() { Debug.Log($"开始时间:{time1 = Time.realtimeSinceStartup}"); Resources.Load("prefab"); Instantiate(Resources.Load("prefab"),this.transform) ; Debug.Log($"结束时间:{time2 = Time.realtimeSinceStartup}"); Deb.
2021-11-21 22:00:00
3039
3
原创 FixedUpdate真的能固定时间执行吗
前两天遇到个问题,在低端机型上FixedUpdate真的能做到固定时间执行吗。这个问题,Emm…我印象中的FixedUpdate,正如我百度的:然鹅…大概还有一些小伙伴和我遇到了同样的疑惑:看来看去,还是自己简单测试一下private void FixedUpdate() { index1 ++; Debug.Log($"FixedUpdate第{index1}次刷新,增量时间:{Time.deltaTime},真实时间:{Time.realtimeSinceSt
2021-11-18 21:46:33
4071
1
原创 UGUI合批规则图解
合批机制原理图解排序图解注一:以上覆盖关系与控件大小无关,只与渲染的三角面有关,如图实例图解原理图解批处理: 大致就是Unity在运行时可以将一些物体进行合并,本来需要多个drawcall指令才能渲染完成的降为1个drawcall就能搞定使用: UGUI在合批之前,会根据ui的Depth、MaterialID 、MaterialID、RendererOrder进行排序,之后对相邻的UI进行检测。判断MaterialID和TextureID是否相同,如果相同则可以进行合批处理。如果不同则会打断合批先
2021-11-05 11:49:10
4367
1
原创 Unity 不规则图形点击
不规则图形点击范围问题不规则图形代码这几天玩LOL手游,看到有个功能自定义按键位置。如下图,按键位置可以离得很近又不互相影响,划拉出来说一说常用的点击范围的问题。问题屏幕上我们看到的按钮是圆形⚪,实际在开发中图片是方形 □,如下图如果我们直接用Button做点击,那么透明区域和非透明区域都会响应点击事件这种情况我们点击上图红框区域,有可能视觉上点击到的是A的右上,而实际触发的是B技能。这时候就需求只让事件响应圆形区域的点击UI.Image.IsRaycastLocationValid 这
2021-10-18 21:57:04
1364
原创 iOS 审核被拒记录 Guideline 2.5.1 HealthKit; 2.5.4 UIBackgroundModes audio; 1.5 Developer Information
iOS 拒审记录 2.5.1Guideline 2.5.1 - Performance - Software Requirements Your app uses the HealthKit or CareKit APIs but does not indicate integration with the Health app in your app description and clearly identify the HealthKit and CareKit functionality in
2021-09-05 15:03:36
3043
16
原创 iOS Widget小组件大小和位置(透明组件)
小组件大小和位置备忘size小号组件坐标size机型屏幕尺寸(pt)小组件(pt)中组件(pt)大组件(pt)5 / 5s /SE320x568140x140291x140291x3106 / 6s / 7 / 8 / SE2375x667148x148321x148321x3246p / 6sp / 7p / 8p375x812155x155329x155329x345x / xs / 11pro / 12mini390x8441
2021-08-29 19:15:19
7875
5
原创 Swift5 踩过的坑和奇怪的API笔记
踩过的坑和奇怪的API笔记UINavigationController 导航栏设置导航栏颜色去掉导航栏下面的分割线设置导航栏字体和字体颜色UITabBarUITabBar和导航栏结合使用获取UITabBar的高度跳转界面隐藏UITabBar的方案UITableViewUITableViewCell里点击事件不生效设置分割线内边距隐藏所有分割线分割线隐藏底部多余行及分割线UICollectionView & UIScrollViewcell里的按钮区域只能点击无法滑动允许多选ScrollView是否显
2021-08-19 16:41:37
1466
6
原创 iOS Widget 小组件打开其他APP✨仿TopWidget快捷启动✨ 附常用URL schemes
开发一个小组件,有一项需求是,快捷启动指定功能,比如微信扫一扫,支付宝付款码等功能,如下图所示:快捷启动分为两部分:1.点击指定区域,进入App并传入需要打开的功能链接2.从App中打开传入的链接一.小组件打开App并传入链接根据官方文档的描述,点击Widget窗口唤起APP进行交互指定跳转支持两种方式:widgetURL:点击区域是Widget的所有区域,适合元素、逻辑简单的小部件。同一组件多次使用widgetURL,只生效最后一个Link:通过Link修饰,允许让界面上不同元素产生点
2021-07-27 17:50:10
7224
20
原创 常用URL schemes ✨支付宝 、微信、腾讯、百度、网易、银行 、社交 、音频 、工具大集合
URL schemes亲测有效 支付宝 功能 URL 手机充值 alipay://platformapi/startapp?saId=10000003 扫一扫 alipay://platformapi/startapp?saId=10000007 账单 alipay://platformapi/startapp?appId=20000003
2021-07-27 17:33:59
39975
44
原创 Unity iOS本地推送解决方案✨
上个项目使用的简易版iOS推送解决方案,记录一下,以备后用该方案需要注意iOS推送权限 Push Notificationsusing UnityEngine;using System.Collections;#if UNITY_IPHONEusing NotificationServices = UnityEngine.iOS.NotificationServices;using NotificationType = UnityEngine.iOS.NotificationType;#end
2021-07-19 17:39:42
1529
37
原创 Unity延时执行的n种方法
最开始接触unity的时候,我做延时都是用计时器,在update里,还要加个标志位。后来才发现,我屮艸芔茻,还有这么多种延时执行的方式。现在我们就来捋一捋。1.计时器,在Update之类的函数每帧检查,时间到了就执行。invoke invokerepecting 协程 DoTween seq...
2021-07-06 10:09:27
27737
66
原创 Unity怎么暂停协程✨Unity协程管理方案
协程是游戏开发中非常常用的方法,类似一个子线程单独出来处理一些问题,性能开销较小。当然我们更多时候用的是他的延时执行功能????????????使用多了,难免有这样那样的需求。比如:暂停。比如:管理大量协程等协程要在Mono类执行,销毁物体会停止协程,咋办????????????下面提供协程的一个管理器方案。核心类有3个: CoroutineItem 每个协程生成一个对象类 CoroutineCtrl 每个
2021-07-02 20:39:19
2057
22
原创 Unity xcode配置(Editor)
当接入iOS的一些SDK时,经常要对xcode做一些配置,如下图手动配置起来非常麻烦,我们可以通过UnityEditor做动态配置,每次打包,会自动将配置导入到xcode以下示例,包括buildSetting设置,依赖库,及info.plist修改等using UnityEditor;using UnityEditor.Callbacks;using UnityEditor.iOS.Xcode;namespace Editor{ public class XcodeSetting
2021-06-27 20:45:48
1976
24
原创 Unity重启编辑器,一行代码
有时为了释放编辑器缓存或遇到奇怪bug,需要重启编辑器using UnityEngine;using UnityEditor;public class ReopenProject{ [MenuItem("编辑器拓展/重启项目")] static void ExcuteReopenProject() { EditorApplication.OpenProject(Application.dataPath.Replace("Assets",string.Empty
2021-06-27 19:54:21
1126
2
原创 Unity CPU优化卡顿
#同一时间大量instantiateInstantiate的卡顿与三部分开销相关:相关资源加载、脚本组件的序列化和构造函数的执行,并且绝大部分原因均是相关资源加载导致。资源加载是加载模块中最为耗时的部分,其CPU开销在Unity引擎中主要体现在Loading.UpdatePreloading和Loading.ReadObject两项中资源优化简化资源1、纹理资源的格式对加载性能影响同样较大,Android平台上,ETC1和ETC2的加载效率最高。同样,iOS平台上,PVRTC 4BPP的加载效率最
2021-06-24 15:21:18
5281
4
原创 swift photos 获取相册所有图片 自定义多选附编号 自定义裁切
效果图如下链接: https://pan.baidu.com/s/1F-4HN164KcfTqBJc69XVIQ提取码: afve
2021-06-07 16:49:52
868
1
原创 swift UITabBarController 嵌套 UINavigationController
//大致相当于 tabar管理3个navigation. tabBarCtrl = UITabBarController() let viewHome = ViewHome() viewHome.tabBarItem.image = UIImage(systemName: "house") viewHome.tabBarItem.title = "组件" let viewIcon = ViewIcon() viewIc..
2021-06-07 15:17:21
722
原创 swift 指定区域截图,自定义不规则图形截图
ios自带的切图好像是大小固定,爱用不用。满足不了需求,只能自己仿一个。核心思路是ScrollView做拖动,根据contentoffset 算位置,确定切图区域,layer.mask做透明区域。没做demo,复制粘贴不可用,需求请摘核心代码切图界面import Foundationimport UIKitclass ViewClipping: ViewBase { //状态栏高度 let statusBarHeight = UIApplication.statusBarHeigh.
2021-05-21 17:16:45
1855
5
原创 Unity 获取屏幕DP PX转DP (MAX信息流位置)
PX转DP先上代码思路关于DP使用DP转PX海外版接入AppLovin的广告MAX,据说Topon就是仿照的他,根据长期接入Topon的经验,分分钟接入激励,插屏,banner一条龙,结果到信息流,自定义位置的地方卡住了。先上代码 //Android PX转DP 就这两行,我喜欢直接在Unity用,直接用下面Unity代码就行 final float scale = getResources().getDisplayMetrics().density; int dp = (int) (px / s
2021-04-16 20:51:15
1842
2
原创 Unity 海外多语言文本
解决方案一 Application.systemLanguageunity官方API 能判定40多种语言switch(Application.systemLanguage){ case SystemLanguage.Chinese://中文 case SystemLanguage.ChineseSimplified://中文简体 //这两个要一起判断,有的机型返回Chinese,有的返回ChineseSimplified break; case SystemLangua
2021-04-15 21:06:39
2732
4
原创 App Store Connect 上构建的新版本上传后找不到,二进制文件无效
上传了新版本,收到信息 二进制文件无效 。但是在AppStoreConnect看不到,并且未收到提示邮件。这是我收到的仅有的提示信息,还好App比较小,大海捞针让我给捞到了" 二进制文件无效" 可能的原因 一. 如果项目中使用了系统某些权限(相机,相册,麦克风等),但是在info.plist中没有添加也会提示二进制文件无效这个是我遇到的问题,代码使用权限,需要在info.plist做配置权限都要弹框提示隐私数据对应key值提示语必须说出指明用途,否则上线会被拒绝参考链接1 这位帖主提醒我检
2021-03-17 16:20:59
4531
5
原创 UIPopoverPresentationController should have a non-nil sourceView or barButtonItem set before the pre
‘UIPopoverPresentationController should have a non-nil sourceView or barButtonItem set before the presentation occurs.’Bug场景 :ios 开发,iPad调用分享,Alert等系统弹板崩溃闪退,iPhone正常大致是iPad Present的时候,需要挂到某个view上解决方案:Present之前添加以下代码//alert 是你的UIAlertController UIActiv
2021-03-16 17:51:38
1794
1
原创 IOS拒审问题记录 2.3.4
二Guideline 2.3.4 - Performance - Accurate MetadataYour app preview includes content that does not sufficiently reflect the app in use. Specifically, your preview:Includes a self-promotional ad from...
2020-12-03 10:53:43
963
原创 Unity 随机生成中文名字
/// <summary> /// 随机获取的名字 /// </summary> /// <returns></returns> public static string GetChinessName() { string name = ""; string[] _crabofirstName = new string[]{ "赵","钱","孙","李","周".
2020-12-02 11:32:53
2743
2
原创 Unity LookAt 2D锁定
有需求是炮塔锁定怪物,炮管要跟随关务移动旋转。3D中有transform.LookAt()方法,能很方便的锁定怪物。但在ugui中LookAt会旋转到很奇怪的方向。以下是找到的替代方案Vector3 v = (target.transform.position - transform.position).normalized;transform.up = v;//transform.right = v; 根据个人需求//做个缓动,效果更好//transform.up = Vector3.Lerp
2020-12-01 20:14:43
1037
UIParticel,Unity处理粒子特效层级问题
2022-10-10
C# struct里的引用类型内存分配在堆上还是栈上
2021-07-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人