
Unity
文章平均质量分 59
Momo_Da
这个作者很懒,什么都没留下…
展开
-
Visual Studio Code配置Unity开发环境教程
Unity开发插件C# for Visual Studio CodeDebugger for Unity (Unity的调试工具)转载 2022-06-15 17:35:29 · 5334 阅读 · 0 评论 -
刘海屏判断
判断vivo是否有刘海屏/** * 判断vivo是否有刘海屏 * https://swsdl.vivo.com.cn/appstore/developer/uploadfile/20180328/20180328152252602.pdf * @return */ private static boolean hasNotchVIVO() { try { Class<?> c = Class.forName...原创 2021-09-28 12:10:38 · 434 阅读 · 0 评论 -
Unity二维码插件 ZXing
1.二维码常见的生成与识别途径1.草料二维码https://cli.im/text2.在软件中实现生成和扫描二维码 使用zxing实现zxing是一个用java写的开源项目,zxing.net是移植到.net工程上的。https://github.com/micjahn/ZXing.Net2.实现二维码的识别1.Unity工程2.让RawImage显示摄像头内容 1 2 3 4 5 6 7 ..转载 2021-09-28 11:18:24 · 1280 阅读 · 0 评论 -
正则表达式游戏中应用
正则表达式使用单个字符串来表示,匹配一系列符合某个语法规则的字符串,通常会被用来检索与替换某些文本。原文本字符:正常的文本:a,b,c...1,2,3...元字符:具有一些特殊意义的字符,是用来代替正常文本的字符{0}(占位符)。限定符:限定配备数量。元字符:1. . 匹配除了换行以外的任意字符。2. \w 匹配字母,数字,下划线,汉子。3. \s 匹配任意的空白符。4. \d 匹配任意的数字0~9.5. [7-9]匹配一个范围[7-9]。[A-Za-z0-9]6原创 2021-09-27 13:08:21 · 251 阅读 · 0 评论 -
Android增量更新(bsdiff使用)
简单了解 增量更新是什么? APP版本更新时不需要客户端下载新的apk,只需要下载差分包(两个apk的差异)。 差分包怎么得到?怎么用旧的apk和差分包合成新的apk? 使用bsdiff。 bsdiff是怎么工作的? 比较两个文件二进制,具体实现有兴趣可以去深挖。 举个例子方便理解:Git,就可以记录你每次修改、增加、删除,而且不是以文件为单位的,可具体到某个文件中的某一行,每次上传代码其实只上传的差异。 bsdiff咋用? 先下载bsdiff,解压看下都有什么转载 2021-09-27 13:03:08 · 1050 阅读 · 1 评论 -
Unity Assetbundle 异步加载中断
场景1string file1 = path + "common_texture.bytes";string file2 = path + "common_texture.bytes";var request = AssetBundle.LoadFromFileAsync(file1);var assetBundle = AssetBundle.LoadFromFile(file2);yield return request; Debug.Log("加载完毕.");会抛出错误:The A原创 2021-05-27 10:09:37 · 1032 阅读 · 0 评论 -
unity Time.realtimeSinceStartup
realtimesincestartup表示的是从程序开始以来的真实时间。在游戏中,时间的流逝速度是可以调整的,比如我可以使用timeScale暂定游戏,或者2倍速进行游戏。因此如果想要真实的时间,就会出现问题。而采用realtimesincestartup就可以解决这个问题,因为它完全不依赖游戏的时间速度,它表示的是一个真实的时间流速。它的用法中,最大的作用就是不依赖游戏时间。我们会使用Time.time,或者Time.deltaTime,又或者使用粒子或者动画系统,它们是依赖于游戏时间的。当我们加速原创 2021-03-17 10:11:53 · 2627 阅读 · 0 评论 -
unity No AssetBundle has been set for this build
No AssetBundle has been set for this build.1.assetsNames 需要有 后缀名,且其路径从Asset开始,如:Assets/Game/BBBB/XXXX/LLLL/HHHH/BXLH.png路径错了会出警报:NoAssetBundlehasbeensetforthisbuild.从而导致打不出包2.文件需要序列化,生成.meta文件才能被识别打包,可以调用API AssetDatabase.Refresh 序列化文件信息...原创 2021-03-13 16:11:16 · 3155 阅读 · 0 评论 -
H5唤起App非权威指南
为什么需要唤起app?我们经常会看到网站上引导用户打开或者下载app,这是因为公司希望用户下载app后,会在上面停留更多时间,从而提高用户粘性;同时,app通常来说比H5更流畅,体验更好一些。如何唤起APP?1.URI 方案(URI Scheme)作为开发者,你一定对于URI(Uniform Resource Identifier)不陌生。它最常见的形式是URL,可以简单理解为网址。它的格式如下:我们以 http://example.com 为例,它的 scheme 就是 ht.转载 2021-02-02 11:05:47 · 328 阅读 · 1 评论 -
unity font研究小结
项目用ngui制作的界面。字体使用了unity默认的Arial,公布后在一些android手机上发现中文不显示,就此作了一些调查。參考unity的font说明文档:http://docs.unity3d.com/Manual/class-Font.html,http://game.ceeger.com/Components/class-Font.html(中文翻译版)1.使用动态(Dynamic)字体:优点,动态字基本包含全部字(中文等),大小可调,显示清晰,可用于动态文本。...转载 2021-02-02 10:32:30 · 1284 阅读 · 0 评论 -
行为树(Behavior Tree)
通过一个例子来介绍一下行为树的基本概念,会比较容易理解,看下图:这是我们为一个士兵定义的一颗行为树(可以先不管这些绿圈和红圈是干吗的),首先,可以看到这是一个树形结构的图,有根节点,有分支,而且子节点个数可以任意,然后有三个分支,分别是巡逻(Patrol),攻击(Attack),逃跑(Retreat),这个三个分支可以看成是我们为这个士兵定义的三个大的行为(Behavior),当然,如果有更多的行为,我们可以继续在根节点中添加新的分支。当我们要决策当前这个士兵要做什么样的行为的时候,我们就会自顶向下原创 2021-01-21 17:09:25 · 5184 阅读 · 0 评论 -
Unity ECS
作者:庞巍伟链接:https://www.zhihu.com/question/286963885/answer/452979420来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。ECS解决2个问题:1)性能;2)减少不必要的内存使用;放一张图,之前写了demo测试,对于使用ecs,不使用ecs,做instancing优化3中情况下,性能的差别。可以看到如果你渲染的object在500以内,ecs性能并没有显著提升,当超过1000后,ecs性能.转载 2021-01-20 17:49:57 · 4781 阅读 · 0 评论 -
Unity FindReferences 查找资源引用
using UnityEngine;using UnityEditor;using System.IO;using System.Linq;using System.Text.RegularExpressions;using System.Collections.Generic;public class FindReferences{ [MenuItem("Assets/Find References", false, 10)] static private void...原创 2020-07-03 09:28:12 · 985 阅读 · 2 评论 -
Unity 资源导入时预处理 AssetPostprocessor
官方API:https://docs.unity3d.com/ScriptReference/AssetPostprocessor.htmlusing UnityEngine;using UnityEditor; /// <summary>/// 注意:自定义的AssetPostprocessor应该以dll的方式调用,可以确保即使脚本有编译错误,也可以始终执行它们/// </summary>public class CustomAssetPostprocesso.原创 2020-06-16 16:43:40 · 1251 阅读 · 0 评论 -
missing prefab 检查
问题:unity手动删除预制件后,对嵌套了被删除预制件的预制件进行打包Assetbundle,unity无报错Crash。为了解决crash检查代码如下:using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor; public class MissingPrefabDetector{ [MenuItem("Util/Find Missing Pr原创 2020-06-15 19:25:48 · 2351 阅读 · 0 评论 -
unity移动端材质丢失呈洋红色问题记录
美术丢来一个粒子特效,打包AB包,加载运行时候材质丢失。原因:shader fallback 一个不存在的shader解决:using UnityEngine;public class Example : MonoBehaviour{ void Start() { // Disable renderer if material's shader is not supported Renderer rend = GetComponent<原创 2020-06-05 20:03:56 · 1779 阅读 · 0 评论 -
prefabTolua
/**************************************************** 文件名:AnalyzePrefab.cs* 描 述:预制件转模板.lua文件* 时 间:2020-4-10* 作 者:YELLOW* 修 改:***************************************************/using Syste...原创 2020-04-13 15:17:33 · 228 阅读 · 0 评论 -
IOS持久存储
什么是数据持久化存储?所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据。什么是沙盒机制?iOS程序默认情况下只能访问程序自己的目录,这个目录被称为“沙盒”。目录结构如下:"应用程序包":这里面存放的是应用程序的源文件,包括资源文件和可执行文件(比如多媒体文件)。Documents:最常用的目录,适合存储重要数据。Caches:适合存...原创 2020-03-19 11:06:05 · 225 阅读 · 0 评论 -
DOTween Sequence 使用图解
最近在使用DOTween制作一些动画过渡的内容,发现非常好用,使用Sequence类可以方便的组织Tweens来制作复杂的过渡动画。Sequence的几个函数文档说明都比较简单,我列出每个函数调用后的Sequence变化以方便查阅。下图表示调用函数前的Sequence。Append(Tween tween)Adds the given tween to the end of the Sequenc...原创 2018-05-15 09:57:57 · 11020 阅读 · 3 评论 -
Unity3D 滑动选牌
using UnityEngine;using System.Collections.Generic;public class Test : MonoBehaviour { float cardWidth = 152; float cardHeight = 212; private Vector2 touchFirst = Vector2.zero; //手指开始按下...原创 2018-04-17 18:06:17 · 3373 阅读 · 0 评论 -
Unity 平台相关宏定义
Platform #define directivesThe platform #define directives that Unity supports for your scripts are as follows:Property:Function:UNITY_EDITOR#define directive for calling Unity Editor scripts from you...原创 2018-04-10 09:56:00 · 1464 阅读 · 0 评论 -
UGUI美术字体制作
参考两位博主作出改进切图:https://blog.youkuaiyun.com/angelsmiles/article/details/50464369生成字体:http://www.unity.5helpyou.com/3211.htmlusing UnityEngine;using UnityEditor;using System.IO;public static class ...原创 2019-03-27 17:01:16 · 630 阅读 · 0 评论 -
为游戏适配刘海屏
作者:@qingqing-zhao本文为作者原创,转载请注明出处:https://www.cnblogs.com/zhaoqingqing/p/10098958.html刘海屏的纵横比手机 分辨率 屏幕纵横比 刘海高度 刘海宽度 圆角大小 正常1080 1080*1920 1.7777 iphone x ...原创 2019-06-12 11:30:04 · 1556 阅读 · 0 评论 -
ScriptableObject 序列化游戏数据
游戏中经常会有一些需要序列化的数据,通常的做法就是把这些数据 [SerializeField],然后在视图面板中修改数值,这样不需要修改脚本,就可以进行数据调整,方便策划大大修改数值。不过这样做还有一个缺点,因为序列化的数据都保存在Scene场景内,没修改一次数值,场景文件(Scene.unity)都会随之变动,多人合作时,场景文件就很容易发生冲突。在这里就给大家简单介绍一下利用Scriptab...原创 2019-08-06 20:27:24 · 304 阅读 · 0 评论 -
有限状态机设计
BaseFSM:状态机using UnityEngine;using System.Collections;public class BaseFSM : MonoBehaviour { public BaseState currentState = null; public StateID currentStateId = StateID.None; pub原创 2017-10-12 14:56:28 · 1816 阅读 · 0 评论 -
Unity手势操作FingerGestures插件
最近研究了一下Unity中的一个手势操作的插件FingerGestures。它能很方便监听到Unity中的各种手势事件:上下左右四方向的滑动事件、按下事件、抬起事件、移动事件、连击事件、长按事件等等。它同时支持触摸屏操作与鼠标操作,总起来说使用起来还是比较方便的,今天写下教程记录这个插件的详细使用步骤。首先下载这个插件,大家可以在圣典上找这个插件的下载地址,当然也可以在本文最后下载该插件。 我转载 2017-04-25 15:36:54 · 1871 阅读 · 0 评论 -
单例模式 对象池
对象池使用的基本思路是:将用过的对象保存起来,等下一次需要这种对象的时候,再拿出来重复使用,从而在一定程度上减少频繁创建对象所造成的开销。 并非所有对象都适合拿来池化――因为维护对象池也要造成一定开销。对生成时开销不大的对象进行池化,反而可能会出现“维护对象池的开销”大于“生成新对象的开销”,从而使性能降低的情况。但是对于生成时开销可观的对象,池化技术就是提高性能的有效策略了。下面是构建对象池的一原创 2016-08-25 15:30:51 · 1524 阅读 · 2 评论 -
Unity3D研究院之打开照相机与本地相册进行裁剪显示
最近做项目需要用到这个功能,就是在Unity中调用Android本地相册或直接打开摄像机拍照并且裁剪一部分用于用户头像,今天研究了一下,那么研究出成果了MOMO一定要分享给大家。Unity与Android的交互还有谁不会?? 如果有不会的朋友请看MOMO之前的文章喔,Unity3D研究院之打开Activity与调用JAVA代码传递参数(十八)这里有关交互的方式就不详细说明,主要将如何在Unity中转载 2017-11-22 10:13:59 · 921 阅读 · 0 评论 -
Unity之SerializeField(序列化字段)和Serializable的一点理解
[HideInInspector]表示将原本显示在面板上的序列化值隐藏起来。 [SerializeField]表示将原本不会被序列化的私有变量和保护变量变成可以被序列化的,那么它们在下次读取的值就是你上次赋值的值。 1、如果a是公有的序列化变量。 (1)如果你想要在面板中看到变量a,那么用: public转载 2017-05-08 18:19:29 · 21056 阅读 · 7 评论 -
Unity3d屏幕截图方法
方法一:在unity的API中,unity给我们提供了一个现成的API : Application.CaptureScreenshot(imagename)。但是这个API虽然简单,在PC、mac运用没有多大的影响,但是如果是在移动平台上使用的话就显得相当的吃力,因为它会消耗我们很大的CUP,所以你在移动端使用它截屏的时候会发现很长一段的卡顿现象。但是不得不说使用起来非常的方便,但是在我们使用转载 2017-04-24 14:52:45 · 6791 阅读 · 1 评论