- 博客(156)
- 资源 (3)
- 收藏
- 关注

原创 this can happen if layout contains custom windows and there are comple errers in the project解决方案
this can happen if layout contains custom windows and there are comple errers in the project解决方案:1:把C:\Users\Administrator\AppData\Roaming\Unity\Editor-5.x\Preferences\Layouts\default文件里面的Default.wlt文件里的内容复制下来2:打开你项目中的\Library中的CurrentLayout-default.dwlt
2021-08-02 09:50:18
818
6
原创 Unity 使用Editor工具查找 Prefab 中的指定脚本
本文介绍的 "Prefab Script Finder" 是一个实用的 Unity Editor 工具,能够帮助开发者快速在 Prefab 中查找附带特定脚本的对象。通过这种方式,我们可以减少开发过程中的重复劳动,快速定位问题所在,并提高整体开发效率。
2024-09-19 14:05:20
1466
原创 Unity 使用Spine动画切换时有残影
在Unity的Project下找到Spine动画的SkeletonData文件,选中该文件之后在Inspector面板上找到Animationgs下面有一个“Setup Pos”,这个按钮可以将骨骼(bones)、资源槽(slots)或两者重置为装配动作(setup pose)。// 强行执行一次Update, 因为执行上述代码时,可能skeleton自身的Update已经执行完毕,这样要到下一次Update才会刷新Spine。// 强行执行一次Update,就可以立马刷新Spine状态。
2024-09-13 14:04:12
1008
原创 Unity TextMeshPro 设置竖排
这个效果才是我们需要的效果 但是我们也不想每次设置文本时都要手动添加Tag所以我们可以使用TextMeshPro提供的TextStyle 我们添加一个自定义Style 找到TextMeshPro->Resource->StyleSheets->DefaultStyleSheet这个asset文件选中它。但是这个效果还是不是我们想要的效果我们可以使用TexeMeshPro提供的一个选项EnableRTLEditor 勾选上如下图。
2024-09-09 18:08:24
934
原创 Unity UGUI Image Maskable
在Unity的UGUI系统中,Maskable属性用于控制UI元素是否受到父级遮罩组件的影响。
2024-07-15 17:32:06
1022
原创 Unity中实现ScrollRect 滚动定位到视口内
Unity版本:2020.1.x在Unity游戏开发中,滚动视图中元素的定位是一个常见需求。为了解决这个问题,我们可以编写一个名为 "ScrollLocate" 的脚本来实现这个功能。
2024-06-16 02:08:27
801
原创 Unity UGUI ScrollRect 滑动显示左右箭头
通过这两个脚本,我们扩展了Unity的ScrollRect组件,使其能够根据内容的滚动状态显示左右箭头,提示用户内容可以继续滚动。此外,我们还自定义了编辑器,可以在Inspector窗口中方便地设置左右箭头的引用。这种扩展方法既保留了原有组件的所有功能,又增强了用户体验,是一种推荐的组件扩展方式。
2024-06-13 15:42:56
1379
原创 Lua 时间工具类
当我们编写代码时,我们经常会遇到需要处理日期和时间的情况。为了更方便地处理这些需求,我们可以创建一个工具类来封装一些常用的日期和时间操作函数,从而简化我们的开发过程。在这篇文章中,我将介绍一个名为 "Utils" 的工具类,它包含了一些方便实用的日期和时间处理函数。 首先,让我们来看看这个工具类包含的几个主要函数:在这个工具类中,我们首先定义了一个名为 "DayOfWeek" 的枚举,用来表示一周中的每一天对应的数字。这样做是为了方便后续的星期几计算,通过枚举的方式可以更清晰地表达代码的意图。
2024-06-05 20:04:15
816
原创 Unity UGUI实现无限滚动列表
在游戏开发中,列表视图是一个常见的UI组件。实现一个高效的列表视图尤其重要,尤其是在需要展示大量数据时。本文将介绍如何在Unity中实现一个高效的无限滚动列表,包括两个关键脚本:InfiniteScroll 和 ListItem 两个脚本 话不多说直接上代码。Unity版本2022.3.X。
2024-05-27 15:19:15
1628
6
原创 Lua 数字格式化
这个函数接收一个数字和一个小数点位数,然后将数字格式化为指定小数位数的浮点数。它通过在小数点后四舍五入来实现精确度控制。endend这个函数用于将一个较大的数字转换为以万或亿为单位的字符串表示,同时保留指定的小数位数。它先判断数字是否大于一万,若大于则将其单位转换为万或亿,然后调用函数进行小数位数格式化,并拼接单位字符串返回。local units = {'', '万', '亿'}breakendendend这个函数是一个高级封装函数,用于根据需求格式化数字。
2024-05-10 20:24:55
690
原创 Unity 编辑器工具 - 资源引用查找器
资源引用查找器允许开发者选择一个目标资源,并在整个项目中查找引用了该资源的其他资源。在Unity编辑器菜单栏下添加一个名为"Resource Reference Finder"的菜单项。提供一个可调整大小的窗口,用于选择目标资源和显示引用结果。通过点击"Search"按钮来触发搜索过程,查找所有引用了目标资源的Prefab文件,并将结果展示在窗口中。
2024-05-04 18:34:36
2401
原创 Unity UGUI Image 点击事件忽略空白像素区域
我们会遇到图片不是方形的不规则图片。这个时候我们希望只有点击到图像内容本身才算点击,点击空白区域则不算点击。而UGUI对图片的处理是整个图片都会算作点击区域,这样不能满足于我们的使用需求了。设置为 0.5,那么只有点击不透明度(Alpha 值)大于或等于 0.5 的像素时,点击事件才会被触发。换句话说,只有点击图像上不透明度较高的部分时,点击事件才会被认为有效。这意味着对于透明度小于 0.5 的像素,点击事件将被忽略,而对于透明度大于等于 0.5 的像素,点击事件才会被处理。
2024-05-04 15:19:57
653
原创 Unity 通过权重做随机
遍历数组,并将随机数逐渐减去每个项目的权重值,直到找到最后一个权重导致随机数变为负数的项目。使用方法:将 此脚本附加到Unity游戏对象上,并在Unity编辑器中将权重和游戏对象分配给。首先,创建一个数组,其中包含你要选择的项目,并为每个项目分配一个权重值。方法根据总权重随机选择一个对象,并返回选定的游戏对象。方法结合权重来实现随机选择。方法中,计算了所有对象的总权重。生成一个介于0和总权重之间的随机数。类包含了游戏对象以及它们的权重。计算所有权重值的总和。
2024-04-11 10:25:21
1240
原创 Unity UGUI实现点击事件穿透
如果只传递一层的情况 Button的Text文本 或者Button下面有遮挡物 并且Raycast Target是true的情况它会传递给Text或者 其他遮挡物 而Button 不会收到点击消息 所以如果想要下层百分百生效 最好的情况是 把Button 下面的遮挡物 Raycast Target设置为false 因为如果一直往下传递的话 当前点击的位置无论叠加多少层Button 他都会响应 所以一直往下传递是不可控的情况。代码很简单如下 将此代码挂载到上层节点上即可。
2024-02-06 20:43:48
2279
原创 Lua 中的do...end和repeat...until
在代码块内部,可以访问到x和y,但在代码块外部,只能访问到x,无法访问到y,因为y的作用域仅限于代码块内部。创建一个作用域:do...end可以将其中的代码块封装在一个新的作用域中,使得在代码块内定义的局部变量只在该作用域内有效,避免与外部作用域中的变量冲突。需要注意的是,由于repeat...until循环保证循环体内的代码至少会被执行一次,因此在循环体内部要谨慎地编写代码,避免出现意料之外的行为。代码块是一组语句的集合,可以将多行代码组织在一起,形成一个独立的执行单元。大于10时,条件为真,循环结束。
2024-01-17 15:36:31
1532
原创 Unity UnityWebRequest 在Mac上使用报CommectionError
今天是想把前两天写的Demo拿到Mac上打个IPA的完事我发现 在运行时释放游戏资源的时候UnityWebRequest返回的结果不是Success 查看Log发现是 req.result 是CommectionError error是 Cannot connect to destination host。给你的Path加上"file://" 即可。
2023-12-30 00:50:05
1046
原创 CocosCreator 实现打字效果
清除定时器,并执行回调函数(如果有)。否则,将下一个字符添加到 Label 组件中,递增索引,以便在下一次回调中显示下一个字符。计算每个字符之间的时间间隔,以控制打字速度。函数设置定时器,每隔一段时间执行一次回调函数。如果已经显示完所有字符,就调用。在函数内部,我们首先获取 Label 组件的文本内容,并使用变量。CocosCreator 版本3.4.2。然后,我们定义了一个变量。表示每秒展示多少个字,可以通过计算。,用于表示当前显示的字符索引。这个函数用于清除定时器。
2023-07-21 15:15:33
641
原创 Unity UGUI 实现一个拖拽一个物体到另一个物体上 并返回两个物体是否相交或者是否在对方物体的中心点
将OnEndDrag函数修改为如下即可。判断两个物体是否相交可以写入如下方法。ColliderNode.cs脚本。接下来创建一个碰撞拖拽的具体实现。首先创建一个碰撞管理器。
2023-06-25 18:33:33
947
原创 Unity AssetBundle 加载、引用计数实现
请注意,具体的路径和资源名称应根据你的实际情况进行修改。此外,为了更好地管理资源,你可能还需要额外的代码来处理资源的引用以及资源的释放。接下来,创建一个名为。
2023-06-25 10:12:38
1190
原创 CocosCreator Graphics实现跟随手指
cocosCreator版本 3.4.2。代码示例 代码都有注释 请自行查看。如下是节点路径 以及代码挂载。也可以指定颜色 代码如下。
2023-04-27 13:17:31
612
转载 cocoscreator按钮长按功能实现
产品需要游戏的开始按钮,单击:游戏开始;长按:显示托管场次面板。引擎:cocoscretor v2.1.2 语言:JavaScript。
2023-04-26 13:49:54
1210
2
原创 CocosCreator Lerp插值
本身我是做Unity的习惯了使用Mathf.Lerp完事在CococsCreator里面没有找到这个相关的函数 完事就自己写了一个 具体的公式如下。t的话代表 从a到b之间的一个差值率 t会被限制在0~1之间 t是=的情况下返回a t是1的情况下返回b。首先定义三个字段 t,a,b a表示初始值 b表示目标值。
2023-04-25 10:17:31
923
原创 Unity IOS 通过命令行导出IPA
新建一个文件没有后缀然后输入如下内容。该行命令是进入到Xcode工目录。该行命令是导出Ipa文件。该行命令清除掉Xcode的缓存。
2023-02-27 15:40:41
885
转载 xcode-select: error: tool ‘xcodebuild‘ requires Xcode, but active developer directory ‘/Library/D...
在运行脚本的时候遇到一个问题,报错。切换到当前Xcode路径下。解决方案:1.执行sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/切换到当前Xcode路径下2.执行xcodebuild -showsdks3.执行xcrun --sdk iphoneos --show-sdk-path4.重新运行脚本
2023-02-24 17:28:59
1042
转载 Lua 知识点
Lua 协同程序(coroutine)与线程比较类似:拥有独立的堆栈,独立的局部变量,独立的指令指针,同时又与其它协同程序共享全局变量和其它大部分东西。协同是非常强大的功能,但是用起来也很复杂。
2023-02-23 17:23:35
526
转载 Unity3d windows平台基于3D WebView for Windows and macOS (Web Browser)插件打开内嵌网页支持AR/VR功能实现
之前Unity3d的程序在win pc上打开网页一般使用EmbeddedBrowser插件,也算是比较好用的,不过经过查找我发现3D WebView for Windows and macOS (Web Browser)插件也很不错。支持?Vuplex VR/AR 浏览器的相同代码,轻松地在 Windows 和 macOS 上以 3D 形式渲染 Web 内容并与之进行交互。支持Android、iOS、Windows、macOS?和?
2023-02-23 13:44:18
3312
9
原创 Unity 使用.bat自动化打包Apk
最后执行打开 G:\AndroidStudioProject\Test\launcher\build\outputs\apk\release\ 文件夹即可看到出的Apk。进入到AS项目根目录里面然后 执行Release出包 也可以执行。然后创建一个 build.bat文件 内容如下。首先创建一个start.bat脚本内容如下。
2023-02-23 11:11:11
1651
转载 AndroidStudio使用命令行出包(可封装成C#版打包工具)
说到这有一个你要注意的点,我这win10的系统,在IIS里开启的cmd,是6.2版本,而不在IIS里打开的cmd,是10.0版本,同时10.0版本的另一个名字叫做:Terminal。---------从这里到正文区之间的内容,都是正文写完之后,增加的升级补丁,若没有升级过Unity版本则跳过-----------------------------------------2022.09.02更新-------------------------
2023-02-20 14:07:37
1520
原创 Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0. 解决办法
说的很明白 jcenter()这个函数已经被弃用替换为mavenCentral()函数即可。今天编译一个之前在家里打包的项目 然后发现公司的电脑编译不过 问题如下。发现是Gradle版本的问题 导致出现的这个问题。根据上面的提示在Terminal里面输入如下指令。找到build.gradle文件 原本是。
2023-02-17 10:23:31
7739
转载 Using flatDir should be avoided because it doesn‘t support any meta-data formats.解决办法
在升级了Android Studio和Gradle后,运行的时候会出现这样的警告解决办法。
2023-02-17 10:14:40
13323
转载 使用命令行运行unity并执行某个静态函数(运用于命令行打包和批量打包)
这个bat批处理首先判断Unity是否运行中,如果运行中,则先杀掉Unity,然后启动Unity并执行某个Editor的静态函数py脚本例子:(把下面的python脚本保存为unity_call.py,放在工程目录中,即Assets的外层目录)在Unity中的Editor目录中新建一个MyEditorScript.cs脚本,如下。
2023-02-15 18:13:28
972
原创 Unity Lua打包成AssetBundle md5有时候不一致
将Lua打包成AssetBundle的时候是将Lua拷贝到Assets目录内的临时目录里面,他会重新生成一个新的.meta,然后下次打包的时候又会重新拷贝然后重新生成一个新的.meta 所以会导致打包之后的AssetBundle的md5值不一致。unity项目中的Lua脚本是打成 AssetBundle 的方式进行热更, 遇到了看上去相同的Lua代码, 但是不同机子打出来的md5不一致, 同一机子打出来的md5有时候也不一样的问题.
2023-01-30 15:48:24
750
原创 Unity 简易UI框架
创建一个UI的基类UIBase.cs 所有的UI都继承自此脚本。在创建一个事件管理类EventDispatcher.cs。创建一个测试脚本Demo.cs。加载逻辑可以参考下面这篇文章。在创建一个脚本Tool.cs。如下是root节点内容。在创建一个UI管理器。
2022-12-13 14:27:47
611
Unity ScrollRect Item 定位
2024-06-17
EnhancedScrollRect
2024-06-13
UnityUGUI无限滚动列表
2024-05-27
Unity Obfuscator Pro插件
2022-07-21
Unity Obfuscator插件
2022-07-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人