![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Unity
小张不爱写代码
一枚不爱写代码的程序猿
展开
-
Unity DropDown 组件 详解
Dropdown下拉菜单可以快速创建大量选项。原创 2024-03-08 13:50:26 · 1566 阅读 · 0 评论 -
Unity UGUI实现点击事件穿透
如果只传递一层的情况 Button的Text文本 或者Button下面有遮挡物 并且Raycast Target是true的情况它会传递给Text或者 其他遮挡物 而Button 不会收到点击消息 所以如果想要下层百分百生效 最好的情况是 把Button 下面的遮挡物 Raycast Target设置为false 因为如果一直往下传递的话 当前点击的位置无论叠加多少层Button 他都会响应 所以一直往下传递是不可控的情况。代码很简单如下 将此代码挂载到上层节点上即可。原创 2024-02-06 20:43:48 · 1398 阅读 · 0 评论 -
Android 接入穿山甲SDK之激励视频广告
大家可以先参考我的上一篇博客 Banner广告 传送门首先创建一个脚本具体内容如下脚本创建完毕之后在AndroidMainfest文件中加入如下代码 使用方式原创 2022-06-23 16:29:26 · 14829 阅读 · 7 评论 -
Android 接入穿山甲SDK之Banner广告
大家可以先参考我的上一篇博客 信息流广告 首先创建一个脚本具体内容如下传送门 使用方式 这个Framelayout在上一篇文章中有写传送门原创 2022-06-23 16:18:07 · 9255 阅读 · 0 评论 -
Android 接入穿山甲SDK之信息流广告
大家可以先参考我的上一篇博客 插屏广告 传送门首先创建一个脚本具体内容如下首先在主Activity里面写入如下代码 在res\layout文件夹里面创建两个xml文件 具体内容如下activity_banner activity_native_waterfall 使用方式.........原创 2022-06-23 16:10:14 · 9748 阅读 · 0 评论 -
Android 接入穿山甲SDK之插屏广告
大家可以先参考我的上一篇博客 开屏广告 传送门首先创建一个脚本具体内容如下使用方式原创 2022-06-23 15:56:26 · 9528 阅读 · 1 评论 -
Android 接入穿山甲广告
配置完成之后创建一个SDK初始化脚本内容如下 初始化调用是在开屏界面调用 调用初始化成功之后会自动调用开屏代码。创建完毕之后去依次点击流量-->代码位创建广告位 根据自己的需求去创建即可。下载完成之后开始配置项目 按照文档把环境配好 然后开始写代码。最后点击接入选择SDK下载与文档选择Android平台SDK。点击进入平台 (我的是创建完账号并且登录之后是这个样子)然后依次点击流量--->应用会进入到以下界面。SDK集成完成之后开始接入SDK。然后点击创建应用根据提示走即可。下一篇 接入开屏广告。..原创 2022-06-23 15:32:50 · 18240 阅读 · 6 评论 -
Android 接入穿山甲SDK之开屏广告
大家可以先参考我的上一篇博客介绍了如何集成SDK以及一些工具类传送门首先创建一个脚本写入如下内容脚本创建完毕之后在AndroidMainfest文件中写入如下代码Theme是在项目里面的res/values目录下创建了一个名为themes.xml具体内容如下.........原创 2022-06-23 15:47:15 · 12892 阅读 · 0 评论 -
Unity AssetBundle 加载、引用计数实现
请注意,具体的路径和资源名称应根据你的实际情况进行修改。此外,为了更好地管理资源,你可能还需要额外的代码来处理资源的引用以及资源的释放。接下来,创建一个名为。原创 2023-06-25 10:12:38 · 982 阅读 · 0 评论 -
Unity IOS 通过命令行导出IPA
新建一个文件没有后缀然后输入如下内容。该行命令是进入到Xcode工目录。该行命令是导出Ipa文件。该行命令清除掉Xcode的缓存。原创 2023-02-27 15:40:41 · 708 阅读 · 0 评论 -
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 · 2879 阅读 · 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 · 1481 阅读 · 0 评论 -
AndroidStudio使用命令行出包(可封装成C#版打包工具)
说到这有一个你要注意的点,我这win10的系统,在IIS里开启的cmd,是6.2版本,而不在IIS里打开的cmd,是10.0版本,同时10.0版本的另一个名字叫做:Terminal。---------从这里到正文区之间的内容,都是正文写完之后,增加的升级补丁,若没有升级过Unity版本则跳过-----------------------------------------2022.09.02更新-------------------------转载 2023-02-20 14:07:37 · 1303 阅读 · 0 评论 -
使用命令行运行unity并执行某个静态函数(运用于命令行打包和批量打包)
这个bat批处理首先判断Unity是否运行中,如果运行中,则先杀掉Unity,然后启动Unity并执行某个Editor的静态函数py脚本例子:(把下面的python脚本保存为unity_call.py,放在工程目录中,即Assets的外层目录)在Unity中的Editor目录中新建一个MyEditorScript.cs脚本,如下。转载 2023-02-15 18:13:28 · 843 阅读 · 0 评论 -
Unity AssetBundle打包之存储Hash
具体代码如下 注释代码中都有自行查看。原创 2023-01-30 18:21:57 · 647 阅读 · 0 评论 -
Unity Lua打包成AssetBundle md5有时候不一致
将Lua打包成AssetBundle的时候是将Lua拷贝到Assets目录内的临时目录里面,他会重新生成一个新的.meta,然后下次打包的时候又会重新拷贝然后重新生成一个新的.meta 所以会导致打包之后的AssetBundle的md5值不一致。unity项目中的Lua脚本是打成 AssetBundle 的方式进行热更, 遇到了看上去相同的Lua代码, 但是不同机子打出来的md5不一致, 同一机子打出来的md5有时候也不一样的问题.原创 2023-01-30 15:48:24 · 640 阅读 · 0 评论 -
Unity 接入微信登录
Android微信登录IOS微信登录转载 2021-07-22 16:23:29 · 2872 阅读 · 5 评论 -
Unity 简易UI框架
创建一个UI的基类UIBase.cs 所有的UI都继承自此脚本。在创建一个事件管理类EventDispatcher.cs。创建一个测试脚本Demo.cs。加载逻辑可以参考下面这篇文章。在创建一个脚本Tool.cs。如下是root节点内容。在创建一个UI管理器。原创 2022-12-13 14:27:47 · 498 阅读 · 0 评论 -
Unity AssetBundle合并颗粒打包与加载
下面是打包之后的ab包 image就是文件所在的大文件夹类型 uigame就是文件的上层文件夹件名称 在uigame文件夹中的文件都会被打入到image_uigame ab文件中。创建一个AssetBundleLoader.cs和EditorAssetLoader.cs 继承IAssetLoader接口 然后脚本内容如下。然后新建脚本Demo.cs 将此脚本挂载在场景内即可 内容如下 就可以完成测试了。然后再创建一个AssetBundleManager.cs脚本内容如下。原创 2022-11-14 10:31:26 · 972 阅读 · 0 评论 -
Unity Android 接入高德定位SDK
然后在UnityPlayerActivity脚本中的OnCreate方法中调用requestPermission方法来申请权限。打开UnityPlayerActivity脚本在最末尾加入如下代码 在OnCreate申请权限下面调用。选择添加 然后创建一个key 选择Android平台 SHA1码获取方式参考我的另一篇博客。然后创建如下结构 Button点击事件分别指向StartAMap和StopAMap即可。打开UnityPlayerActivity脚本 在末尾加入如下代码 用以动态申请权限。原创 2022-10-29 01:17:08 · 3150 阅读 · 4 评论 -
Unity 协程、模拟协程
IEnumerator+yield 强大的迭代器IEnumerator 就是一个函数容器 里面保存了一个一个的函数IEnumator会依次执行每个函数 而每个函数都有一个返回值 保存在IEnumator.Currect里面看下面这个例子yield就是从开始到yield之间的代码做成一个函数 实际上可以理解为yield就是如下启动协程11下一帧再执行后续代码1/下一帧再执行后续代码vield return 6:/1任意数字)下一帧再执行后续代码1/直接结束该协程的后续操作。原创 2022-10-13 16:59:00 · 752 阅读 · 0 评论 -
C#&Lua 过滤筛选脏字
他写的是C#版本我们项目要用所以翻译成了Lua版本。最下面是C#代码 我也拷贝过来了。原创 2022-10-09 11:40:14 · 247 阅读 · 0 评论 -
Unity 解决SpriteAtlas图集打包AssetBundle白图问题
创建SpriteAtlasBinding.cs 内容如下 bundle加载代码还是需要自己去写 然后脚本挂载在一个物体上再次运行 热更即可发现没有出现白图以及警告的情况。之前文档上说勾选了Include in build之后,就不需要自己增加一个Binding脚本,但是仍然会弹出警告,并且会出现白图现象。选项取消勾选之后打包AssetBundle会报警告 并且出现白图现象 那是因为没有进行bing。Tight Packing 勾选之后当Sprite有透明通道可能会出现错位 不推荐勾选。原创 2022-10-05 23:01:46 · 3850 阅读 · 2 评论 -
Unity Vector3类型的函数参数设置默认值
可以设置为如下代码即可。原创 2022-10-04 23:57:10 · 1625 阅读 · 0 评论 -
Unity对象池、泛型单例
不继承MonoBehavior的泛型单例。到此对象池封装也就完成了。原创 2018-06-05 17:56:46 · 591 阅读 · 1 评论 -
Unity 项目加密插件Obfuscator
Obfuscator。转载 2022-07-14 16:33:43 · 7677 阅读 · 9 评论 -
Unity马甲包混淆流程参考
插件链接:Obfuscator | 实用工具 工具 | Unity Asset Store 注意:准备hash之前,先提交git,打包之前执行一次,打包之后使用git重置修改,让资源恢复原本的hash注:此处脚本内容我是做了更改的 因为我用的是Python3 所以里面内容有些是修改的脚本:使用教程:mac环境:0.复制上面脚本,创建个文本文档,粘贴脚本内容,保存为change_hash.py(注意为".py"后缀)1.提交您unity项目所有修改到git2.打开终端3.cd到脚本文件所在目录4.执行转载 2022-07-14 16:35:51 · 1223 阅读 · 0 评论 -
Unity 集成ProtoBuf
创建一个项目打开随便打开一个脚本然后点击项目 再点击管理NuGet程序包搜索 Google.Protobuf.Tools进行安装 安装完成之后找到Unity的Packages文件夹 它跟Assets同级 找到并打开 打开之后找到Google.Protobuf.Tools.3.21.1文件夹 并打开 打开之后再找到tools文件夹打开 打开之后可以看到这个文件夹里面有好多系统文件夹 我们选择Windows_x86打开 打开只有 复制上面的路径 然后点击桌面我的电脑右键属性/高级 然后点击环境变量\添原创 2022-07-08 11:32:24 · 1012 阅读 · 0 评论 -
Unity 批量设置图片的纹理格式
【代码】Unity 批量设置图片的纹理格式。原创 2022-06-22 16:05:42 · 1277 阅读 · 0 评论 -
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 · 695 阅读 · 6 评论 -
Unity接入苹果内购(IAP)
Unity接入苹果内购(IAP) Unity接入苹果内购(IAP)苹果支付流程 配置App 配置商品 协议、税务和银行业务 沙盒测试账号 Unity(IAP) 测试苹果支付流程在接苹果支付前我们需要先来大体了解下苹果支付的流程是怎样的:大体可以理解为我们要想在自己的app里面购买自己定义的商品,首先我们先把自己的商品注册在apple服务器上然后...转载 2022-04-25 14:50:26 · 5200 阅读 · 1 评论 -
Unity 激活许可证的时候出现 serial has reached the maximum number of activations提示
有时我们点击激活新的许可证时会弹出“serial has reached the maximum number of activations”这样的报错,无法激活许可证。具体原因:1.对于个人免费版来说,出于某种操作,激活了超过一个许可证2.plus和pro的用户序列号多次激活3.点击了“手动激活(给闭网开发使用的功能)”而不是“激活新的许可证”解决方案进入到个人账户里面 选择对应的席位 然后撤销其他席位即可点击My Seats 然后选择对应的席位...原创 2022-04-03 10:15:05 · 8768 阅读 · 7 评论 -
Unity 接入Apple登录
文章末尾有资源插件链接在6月的全球开发者大会(WWDC)上,苹果宣布了一款新产品:使用苹果登录。随着iOS 13即将于9月19日发布,苹果已经更新了App Store审查指南,现在他们要求任何使用第三方或社交登录服务的新应用程序提供与苹果相同的登录选项。现有的申请将被要求在2020年4月之前完成。你可以在苹果的开发者网站上阅读更多关于这一变化的信息。我们知道许多Unity开发者依赖于第三方登录服务。为了更容易遵守这些新准则,我们创建了一个新的资产存储包。您可以将该软件包添加到新的或...原创 2022-03-30 10:50:45 · 8240 阅读 · 0 评论 -
Unity 获取错误日志信息
public static bool CheckLogType(LogType t){ if (t == LogType.Error || t == LogType.Exception) return true; return false;}public static Application.LogCallback GetErrorLog(Action<string,string> func){ Application.LogCallback .原创 2022-03-24 16:40:54 · 3272 阅读 · 0 评论 -
Unity 获取设备信息
public static string GetDeviceInfo() { return "deviceModel:" + SystemInfo.deviceModel+ "\n"+/*设备模型*/ "deviceName:" + SystemInfo.deviceName + "\n" +/*设备名称*/ "deviceUniqueIdentifier:" + SystemInfo.原创 2022-03-24 16:05:40 · 4916 阅读 · 0 评论 -
Unity UGUI ScrollView滑动到指定位置
using UnityEngine;using UnityEngine.UI;public class Test : MonoBehaviour{ private ScrollRect sc; private void Start() { sc = GetComponent<ScrollRect>(); } /// <summary> /// 设置Rect位置 /// </summary.原创 2022-03-07 17:23:02 · 5121 阅读 · 0 评论 -
Unity 实时镜像
// refrence http://wiki.unity3d.com/index.php/MirrorReflection4using System.Collections.Generic;using System.Linq;using UnityEngine;// This is in fact just the Water script from Pro Standard Assets,// just with refraction stuff removed.// Make mi.转载 2022-02-28 17:26:09 · 847 阅读 · 0 评论 -
Unity 高斯模糊
因为Unity提供了GrabPass,可以在Shader中很方便的拿到Panel下面的图像,即_GrabTexture。注:添加优化。原本的搞死模糊效果达不到苹果的那种细腻效果,修改参数即可。修改两个#define,kernelx*_Size ->kernelx*_Size * 1.61// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'Shader "Custo...转载 2022-02-28 17:16:38 · 1823 阅读 · 2 评论 -
Unity UGUI Text渐变源码
using System.Collections.Generic; public enum Type{ Horizontal, Vertical} public enum Blend{ Override, Add, Multiply} namespace UnityEngine.UI{ [AddComponentMenu("UI/Effects/UGUI_Gradient")] public class Gradie.转载 2022-02-25 18:30:24 · 173 阅读 · 0 评论 -
解读Unity性能优化
常见的Unity性能问题Unity性能问题VSS:Virtual Set Size,虚拟耗用内存。它是一个进程能访问的所有内存空间地址的大小。这个大小包含了 一些没有驻留在RAM中的内存,就像mallocs已经被分配,但还没有写入。VSS很少用来测量程序的实际使 用内存。RSS:Resident Set Size,实际使用物理内存。R...转载 2022-02-10 14:11:45 · 803 阅读 · 0 评论