自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Zyt

  • 博客(146)
  • 资源 (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 643 6

原创 Unity 通过权重做随机

遍历数组,并将随机数逐渐减去每个项目的权重值,直到找到最后一个权重导致随机数变为负数的项目。使用方法:将 此脚本附加到Unity游戏对象上,并在Unity编辑器中将权重和游戏对象分配给。首先,创建一个数组,其中包含你要选择的项目,并为每个项目分配一个权重值。方法根据总权重随机选择一个对象,并返回选定的游戏对象。方法结合权重来实现随机选择。方法中,计算了所有对象的总权重。生成一个介于0和总权重之间的随机数。类包含了游戏对象以及它们的权重。计算所有权重值的总和。

2024-04-11 10:25:21 446

原创 Lua 数字换算中文数字

【代码】Lua 数字换算中文数字。

2024-03-11 15:09:20 343

原创 Unity DropDown 组件 详解

Dropdown下拉菜单可以快速创建大量选项。

2024-03-08 13:50:26 852

原创 Unity UGUI实现点击事件穿透

如果只传递一层的情况 Button的Text文本 或者Button下面有遮挡物 并且Raycast Target是true的情况它会传递给Text或者 其他遮挡物 而Button 不会收到点击消息 所以如果想要下层百分百生效 最好的情况是 把Button 下面的遮挡物 Raycast Target设置为false 因为如果一直往下传递的话 当前点击的位置无论叠加多少层Button 他都会响应 所以一直往下传递是不可控的情况。代码很简单如下 将此代码挂载到上层节点上即可。

2024-02-06 20:43:48 888

原创 Lua 中的do...end和repeat...until

在代码块内部,可以访问到x和y,但在代码块外部,只能访问到x,无法访问到y,因为y的作用域仅限于代码块内部。创建一个作用域:do...end可以将其中的代码块封装在一个新的作用域中,使得在代码块内定义的局部变量只在该作用域内有效,避免与外部作用域中的变量冲突。需要注意的是,由于repeat...until循环保证循环体内的代码至少会被执行一次,因此在循环体内部要谨慎地编写代码,避免出现意料之外的行为。代码块是一组语句的集合,可以将多行代码组织在一起,形成一个独立的执行单元。大于10时,条件为真,循环结束。

2024-01-17 15:36:31 755

原创 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 659

转载 Unity3D 生成&识别二维码

首先我们需要下载.net版的库下载下来之后,解压 找到Unity版本的dll也可以直接从这里下载。

2023-10-12 16:37:07 708 1

原创 CocosCreator 实现打字效果

清除定时器,并执行回调函数(如果有)。否则,将下一个字符添加到 Label 组件中,递增索引,以便在下一次回调中显示下一个字符。计算每个字符之间的时间间隔,以控制打字速度。函数设置定时器,每隔一段时间执行一次回调函数。如果已经显示完所有字符,就调用。在函数内部,我们首先获取 Label 组件的文本内容,并使用变量。CocosCreator 版本3.4.2。然后,我们定义了一个变量。表示每秒展示多少个字,可以通过计算。,用于表示当前显示的字符索引。这个函数用于清除定时器。

2023-07-21 15:15:33 337

原创 Unity UGUI 实现一个拖拽一个物体到另一个物体上 并返回两个物体是否相交或者是否在对方物体的中心点

将OnEndDrag函数修改为如下即可。判断两个物体是否相交可以写入如下方法。ColliderNode.cs脚本。接下来创建一个碰撞拖拽的具体实现。首先创建一个碰撞管理器。

2023-06-25 18:33:33 586

原创 Unity AssetBundle 加载、引用计数实现

请注意,具体的路径和资源名称应根据你的实际情况进行修改。此外,为了更好地管理资源,你可能还需要额外的代码来处理资源的引用以及资源的释放。接下来,创建一个名为。

2023-06-25 10:12:38 900

原创 CocosCreator Graphics实现跟随手指

cocosCreator版本 3.4.2。代码示例 代码都有注释 请自行查看。如下是节点路径 以及代码挂载。也可以指定颜色 代码如下。

2023-04-27 13:17:31 327 1

转载 cocoscreator按钮长按功能实现

产品需要游戏的开始按钮,单击:游戏开始;长按:显示托管场次面板。引擎:cocoscretor v2.1.2 语言:JavaScript。

2023-04-26 13:49:54 659 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 580

原创 CocosCreator 音效管理器

Dictionary源码请查看另外一篇文章。代码都有注释不再赘述。

2023-04-17 11:42:01 706

原创 CocosCreator Dictionary

【代码】CocosCreator Dictionary源码。

2023-04-17 11:39:53 336

原创 Unity IOS 通过命令行导出IPA

新建一个文件没有后缀然后输入如下内容。该行命令是进入到Xcode工目录。该行命令是导出Ipa文件。该行命令清除掉Xcode的缓存。

2023-02-27 15:40:41 643

转载 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 700

转载 Lua 知识点

Lua 协同程序(coroutine)与线程比较类似:拥有独立的堆栈,独立的局部变量,独立的指令指针,同时又与其它协同程序共享全局变量和其它大部分东西。协同是非常强大的功能,但是用起来也很复杂。

2023-02-23 17:23:35 352

转载 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 2559 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 1391

转载 AndroidStudio使用命令行出包(可封装成C#版打包工具)

说到这有一个你要注意的点,我这win10的系统,在IIS里开启的cmd,是6.2版本,而不在IIS里打开的cmd,是10.0版本,同时10.0版本的另一个名字叫做:Terminal。---------从这里到正文区之间的内容,都是正文写完之后,增加的升级补丁,若没有升级过Unity版本则跳过-----------------------------------------2022.09.02更新-------------------------

2023-02-20 14:07:37 1217

原创 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 6513

转载 Using flatDir should be avoided because it doesn‘t support any meta-data formats.解决办法

在升级了Android Studio和Gradle后,运行的时候会出现这样的警告解决办法。

2023-02-17 10:14:40 8504

转载 使用命令行运行unity并执行某个静态函数(运用于命令行打包和批量打包)

这个bat批处理首先判断Unity是否运行中,如果运行中,则先杀掉Unity,然后启动Unity并执行某个Editor的静态函数py脚本例子:(把下面的python脚本保存为unity_call.py,放在工程目录中,即Assets的外层目录)在Unity中的Editor目录中新建一个MyEditorScript.cs脚本,如下。

2023-02-15 18:13:28 793

原创 Unity AssetBundle打包之存储Hash

具体代码如下 注释代码中都有自行查看。

2023-01-30 18:21:57 564

原创 Unity Lua打包成AssetBundle md5有时候不一致

将Lua打包成AssetBundle的时候是将Lua拷贝到Assets目录内的临时目录里面,他会重新生成一个新的.meta,然后下次打包的时候又会重新拷贝然后重新生成一个新的.meta 所以会导致打包之后的AssetBundle的md5值不一致。unity项目中的Lua脚本是打成 AssetBundle 的方式进行热更, 遇到了看上去相同的Lua代码, 但是不同机子打出来的md5不一致, 同一机子打出来的md5有时候也不一样的问题.

2023-01-30 15:48:24 569

原创 Unity 简易UI框架

创建一个UI的基类UIBase.cs 所有的UI都继承自此脚本。在创建一个事件管理类EventDispatcher.cs。创建一个测试脚本Demo.cs。加载逻辑可以参考下面这篇文章。在创建一个脚本Tool.cs。如下是root节点内容。在创建一个UI管理器。

2022-12-13 14:27:47 475

原创 Android 获取所有的应用列表信息并跳转到指定app

首先需要在清单列表上加入如下权限。

2022-12-13 14:23:23 1302

转载 C# 多线程

被定义为程序的执行路径。每个线程都定义了一个独特的控制流。如果您的应用程序涉及到复杂的和耗时的操作,那么设置不同的线程执行路径往往是有益的,每个线程执行特定的工作。线程是。一个使用线程的常见实例是现代操作系统中并行编程的实现。使用线程节省了 CPU 周期的浪费,同时提高了应用程序的效率。到目前为止我们编写的程序是一个单线程作为应用程序的运行实例的单一的过程运行的。但是,这样子应用程序同时只能执行一个任务。为了同时执行多个任务,它可以被划分为更小的线程。

2022-11-14 11:11:27 96

转载 C# 不安全代码

当一个代码块使用修饰符标记时,C# 允许在函数中使用指针变量。或非托管代码是指使用了变量的代码块。

2022-11-14 11:08:52 91

转载 C# 反射

反射指程序可以访问、检测和修改它本身状态或行为的一种能力。程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。

2022-11-14 11:05:46 145

原创 Unity AssetBundle合并颗粒打包与加载

下面是打包之后的ab包 image就是文件所在的大文件夹类型 uigame就是文件的上层文件夹件名称 在uigame文件夹中的文件都会被打入到image_uigame ab文件中。创建一个AssetBundleLoader.cs和EditorAssetLoader.cs 继承IAssetLoader接口 然后脚本内容如下。然后新建脚本Demo.cs 将此脚本挂载在场景内即可 内容如下 就可以完成测试了。然后再创建一个AssetBundleManager.cs脚本内容如下。

2022-11-14 10:31:26 927

转载 如何理解内核线程、内核进程?

很多人对进程,线程没有什么概念,或者面试的时候说不出里面的核心内涵,今天我打算花一点篇 幅把进程和线程讲清楚。这里有个点击可以直接加入,一起学习交流吧。

2022-11-01 15:14:44 227

转载 Unity性能优化之内存篇

比如一个算法是用递归写的,由于递归的层次比较深,导致栈溢出,这时候我们可以减少栈的内存使用或调整编译器来配置更大的栈。答案是不会,因为进程A内存泄漏,进程A中泄漏的内存不能用了,一段时间后,OS会判定 进程A泄漏的内存块对应的物理内存页长时间没有用,当物理内存吃紧的时候,会把这个物理内存页判断为”长时间不用”的物理内存页,就把泄漏对应的物理内存页的数据交换到磁盘,然后释放物理页给其它的进程B使用,所以进程A的内存泄漏,不会从根本上影响其它进程的内存使用(OS做内存页交换的开销肯定会有)。

2022-11-01 15:06:40 1358

原创 Unity Android 接入高德定位SDK

然后在UnityPlayerActivity脚本中的OnCreate方法中调用requestPermission方法来申请权限。打开UnityPlayerActivity脚本在最末尾加入如下代码 在OnCreate申请权限下面调用。选择添加 然后创建一个key 选择Android平台 SHA1码获取方式参考我的另一篇博客。然后创建如下结构 Button点击事件分别指向StartAMap和StopAMap即可。打开UnityPlayerActivity脚本 在末尾加入如下代码 用以动态申请权限。

2022-10-29 01:17:08 3019 4

原创 Unity 协程、模拟协程

IEnumerator+yield 强大的迭代器IEnumerator 就是一个函数容器 里面保存了一个一个的函数IEnumator会依次执行每个函数 而每个函数都有一个返回值 保存在IEnumator.Currect里面看下面这个例子yield就是从开始到yield之间的代码做成一个函数 实际上可以理解为yield就是如下启动协程11下一帧再执行后续代码1/下一帧再执行后续代码vield return 6:/1任意数字)下一帧再执行后续代码1/直接结束该协程的后续操作。

2022-10-13 16:59:00 744

转载 【Lua与C#交互①】Lua中的栈

之所以要学习Lua和C#交互,是为了让我们更好的掌握Lua,从而不停留在只会用轮子的阶段。而Dispose方法是在另一个线程里跑的,所有实现了IDisposable的类所占用的内存在GC后不会立刻回收,而是等全部Dispose方法调用完之后回收。Dispose() 里面的代码需要考虑是否被多次调用,如果你在其它地方也调用类的Dispose() 的话,比如 OnDestroy() 等等。这个就用到了之前说的,1代表栈底,因为我们只有一个数据,显然栈底就是我们想要的。,其它Lua也会有类似的接口可以调用。

2022-10-13 00:55:15 217

原创 C#&Lua 过滤筛选脏字

他写的是C#版本我们项目要用所以翻译成了Lua版本。最下面是C#代码 我也拷贝过来了。

2022-10-09 11:40:14 224

原创 Unity 解决SpriteAtlas图集打包AssetBundle白图问题

创建SpriteAtlasBinding.cs 内容如下 bundle加载代码还是需要自己去写 然后脚本挂载在一个物体上再次运行 热更即可发现没有出现白图以及警告的情况。之前文档上说勾选了Include in build之后,就不需要自己增加一个Binding脚本,但是仍然会弹出警告,并且会出现白图现象。选项取消勾选之后打包AssetBundle会报警告 并且出现白图现象 那是因为没有进行bing。Tight Packing 勾选之后当Sprite有透明通道可能会出现错位 不推荐勾选。

2022-10-05 23:01:46 3441 2

Unity基于ZXing库二维码识别以及生成Demo

Unity基于ZXing库二维码识别以及生成Demo 下载下来直接导入工程即可 然后出包即可测试

2023-10-13

Unity Obfuscator Pro插件

Obfuscator Pro旨在提高您的软件和游戏安全性,尤其是对于使用 Unity 构建的应用程序。 它的主要目标是隐藏您自己的专有源代码,以及第三方编译的 dotNet 程序集。我们支持所有已知的平台,无论是独立的还是嵌入式的。 Obfuscator Pro 的功能是什么? 专为 Unity 设计的Obfuscator Pro考虑了 Unity 的独特特性,如 MonoBehaviours、ScriptableObjects、序列化和反射,为您提供了一个强大但简单且开箱即用的混淆器。 Obfuscator Pro功能包括: - 会员更名: -> 命名空间 -> 类(也是 MonoBehaviour 和 ScriptableObject 子类) -> 方法 -> 字段 -> 属性 -> 事件 - 字符串混淆 - 添加随机码 - 反调试 - 防篡改(单声道) - ControlFlow 混淆(单声道) 高达生活质量功能,例如: - 完全混淆工作流程定制 - StackTrace 去混淆允许恢复和调试即使是最安全的程序集 但是为什么要

2022-07-21

Unity Obfuscator插件

该资源可以对你的代码进行混淆,使不怀好意者更难对你的项目进行逆向工程。专为 Unity 设计,与构建过程无缝链接。 该资源包的首要优先是无需额外的步骤而直接使用。其他混淆器可能使游戏停止工作,而 Beebyte 的混淆器会寻找必须保护的特定于 Unity 的相关代码。源文件的内容保持不变,而混淆只针对于已编译的程序集。 功能: - 支持 IL2CPP - 支持程序集定义文件 (Unity 2017.3+) - 删除命名空间,而不会有任何冲突 - 识别不允许更改的与 Unity 相关的代码 - 重命名类 † - 重命名方法 - 重命名参数 - 重命名字段 - 重命名属性 - 重命名事件 - 字符串文字混淆 - 添加假方法 - 使用 Unity 检测面板窗口轻松地进行大量自定义 - 可以跨多个版本和开发人员进行一致的名称转译 - 适用于重命名成员的语义安全密码命名约定 该资源适用于 Unity 免费版和 Unity Pro 4.2.0 及更高版本(包括 Unity 5、2017-2020)。构建目标包括独立平台、Android、iOS、WebGL、UWP。其他平台不保证适用或不支持

2022-07-21

Unity接入Sign-in-with-AppleDemo

IOS AppleID登录功能 不区分Unity版本是一个UnityPackage

2022-03-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除