![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Unity
心之所向,自强不息
这个作者很懒,什么都没留下…
展开
-
【Unity嵌入Android原生工程】
工作需要嵌入原生工程,并实现热更,记录一下工具,Unity2023.3.14,Android Studio 2022.3.1 patch3Unity嵌入Andorid原理就是把Unity导出的Andorid项目当成一个module导入原生工程里面,从而实现嵌入。前面有不少教程,但是总有漏掉那么一两部,要么作者没写,要么没有明确标注,踩了两天坑,发了这个想对自己看的懂的教程,自己踩的坑,记录一下。原创 2024-01-02 10:36:20 · 1487 阅读 · 0 评论 -
Unity自动添加添加tag,layer
【代码】Unity自动添加添加tag,layer。原创 2022-10-12 11:29:36 · 792 阅读 · 0 评论 -
Unity粒子动态更改层级
简单直接,使用这个就行了,获取到Renderer。原创 2022-08-11 17:55:16 · 1282 阅读 · 0 评论 -
Unity之更新资源(手动造轮子)
1,我们首先要知道我们需要是否第一次安装,如果是那则直接从服务器下载配置文件和本地配置文件对比,进行资源更新。第一次安装本地是没有配置文件的,所以就相当于把服务器所列出的所有资源全部下载。2,对比配置文件并保存需要下载的文件列表,启动下载器,下载全部完成再更新配置文件,不要提前更新配置文件,避免文件更新完缺导致我们要下载的东西没下载完。"QFramework/生成配置文件,位于StreamingAssets"下载需要自己搭建个本地服务器,ip地址自己改下。下载下来之后就可以加载了。这是一个下载的管理器。..原创 2022-08-11 17:39:15 · 705 阅读 · 0 评论 -
Unity路径点相关,会持续更新
1.在windows pc上可以使用www直接读取streamingAssetsPath路径下的文件。也可以使用File直接读取。2.android上www可以读取streamingAssetsPath,但是使用file是读取不到的。3.mac上使用www读取不到streamingAssetsPath,可以使用file读取。4.ios上使用www读取不到streamingAssetsPath,可以使用file读取。1,streamingAssetsPath 可读不可写。2. IOS中读取目录下的ab包。..原创 2022-08-09 18:01:56 · 1088 阅读 · 0 评论 -
Unity 之UGUI Text组件坚排显示(改进)
复制了不知道谁的代码进行了改进,现在为居中显示居中对齐模式。pos来控制,可视化的配置改进后续会贴出。更改对齐模式主要由以下代码控制。"字和字之间的距离"原创 2022-07-20 15:12:39 · 695 阅读 · 0 评论 -
Unity之移动设备之IOS调整输入框位置
1,需求:当玩家点击输入框的,会弹出虚拟键盘,如果我们的输入框靠下,那么便会被挡住,这个时候如果想要调整输入框位置。2,思路:这边上移移动的是所有UI的父物体(偷懒了),如果想要移动较小的物体,则可以自行代码调整,就需要判断一下当前输入框所在位置,会不会被虚拟键盘挡住,如果会,则需要上移,上移高度应该上移多少。3,实现:3.1 实现的辅佐工具:1,DOTween插件;2,事件管理器(自行封装)。3.2 虚拟键盘各类信息using UnityEngine;using UnityEngine.Eve原创 2022-01-11 14:55:42 · 4985 阅读 · 0 评论 -
Unity打包遇到的一些问题,从今天开始记录
1,提示源路径为空解决方法是因为打包的时候,手贱勾选了原创 2021-12-25 09:23:59 · 4548 阅读 · 1 评论 -
Unity之使用IAP接入苹果商店
使用版本 Unity 2019.4.7IAP版本 2.3.0前言 做好笔记,避免学了忘了忘了学Unity官方文档链接 UnityIAP官方文档首先是需要去苹果开发者中心注册这方面是参考官方文档做的 苹果开发者中心配置教程接着要在Unity里面导入IAP可以直接点击如图的按钮,也可以点击Windows->General->Services来打开,选择好自己的组织之后点击Create按钮。然后选中线面的In-App Purchasing。安装IAP装好之后可以参考官方教程进行设置就行原创 2021-09-08 20:46:55 · 849 阅读 · 0 评论 -
UGUI之公告栏自适应内容
做游戏公告的时候,有时候更新内容过多,这个时候就需要一个拖动框了,而拖动框里面拖动内容的长短如何去做到自适应呢?原创 2021-08-27 20:27:17 · 107 阅读 · 0 评论 -
捕鱼达人的一些技术点
最近正在开发一款联网的捕鱼达人,因为之前一直是开发3D项目,相机不会使用正交视角,所以发现正交视角的开发和视椎体的开发还是有一些不同的。世界坐标和屏幕坐标之类的转换不同,在视椎体状态下获取世界坐标相对于屏幕坐标的方法不适用于正交视角,只需要采用把其Z轴设为0,或者放在摄像机面前,其实就是他在屏幕中的位置,可以这么理解,正交视角下,世界坐标和屏幕坐标是一样的,区别只是UI永远显示在物体前面(本人理解,有错欢迎指出)...原创 2021-08-23 15:24:20 · 659 阅读 · 0 评论 -
使用AssetBundle Browser进行资源打包
1,首先通过github搜索AssetBundle Browser,找到资源之后,通过包管理器导入项目2,项目资源中设置好AssetBundle,然后直接使用Windows底下的AssetBundle Browser在此页面可以看到所有的AssetBundle。点击build...原创 2021-06-22 15:22:10 · 397 阅读 · 0 评论 -
AssetBundle理论基础
1:,AssetBundle 是什么AssetBudnle是一个压缩包2,AssetBundle有什么作用2.1 他可以减少包体大小,比Resources灵活2.2 可以用于热更新原创 2021-06-21 15:41:25 · 67 阅读 · 0 评论 -
Autofac框架(依赖注入)
留条尾巴原创 2021-06-16 17:59:28 · 198 阅读 · 0 评论 -
事件管理器
打个记号,后面补上原创 2021-06-16 11:08:02 · 424 阅读 · 0 评论 -
协程管理器
打个记录,后面补上原创 2021-06-16 11:07:17 · 109 阅读 · 0 评论 -
Unity优化之CPU与GPU
游戏的图形部分主要影响计算机的两个系统:CPU 和 GPU。找到性能问题所在是一切优化的首要法则,因为 GPU 与 CPU 的优化策略大不相同(甚至相反;例如,通常在优化 CPU 时让 GPU 做更多工作,反之亦然)。所以在做优化之前我们应该知道在每一帧中CPU和GPU为我们做了什么。cpu要为 确定哪些光源影响该对象,设置着色器和着色器参数,向图形驱动程序发送绘制命令,而图形驱动程序随后将准备发送到显卡的命令。1,CPU收集即将被渲染的对象信息,并把这些信息分类为渲染指令(也称为draw call原创 2021-06-11 11:48:50 · 4287 阅读 · 5 评论 -
Unity性能优化之修改材质属性
当我们改变实例化出来的物体身上的颜色值或者贴图之类的时候,Unity会把它使用的的ShareMaterial复制一份出来,这样子不同对象使用的相同材质便不会影响。但这样做对于同事修改很多对象的时候,会产生很多材质的实例。对于这个,我们可以使用使用MaterialPropertyBlock类来操作,话不多数,下面直接上代码。 MaterialPropertyBlock materialPropertyBlock=new MaterialPropertyBlock(); mat原创 2021-06-08 17:56:11 · 1327 阅读 · 1 评论 -
Unity网络连接之Socket(基于UnityWebSocket插件)
Unity使用Socket来接入网络也是较为常见的。 private void ConnectWeb() { moveAgvData = MoveAGVData.CreateInstance(); WebSocketState state = socket == null ? WebSocketState.Closed : socket.ReadyState; socket = new WebSocket(url); socke原创 2021-05-27 15:14:25 · 1439 阅读 · 0 评论 -
Unity网络连接之Post
Unity项目开发中经常使用到Post来获取服务器数据,那么该如何获取呢?在这里插入代码片 string jsonData= "{\r\n \"beginTime\": \"2021-05-18T03:17:52.624Z\",\r\n \"endTime\": \"2021-05-18T03:17:52.624Z\",\r\n \"farmId\":0,\r\n \"topN\": 0\r\n}"; // Start is called before the first frame原创 2021-05-18 17:31:49 · 718 阅读 · 0 评论 -
Unity网络连接之Get
连接的服务器的时候使用到Get很频繁,下面遍说一下怎么在Unity使用Get来获取数据 private IEnumerator GetReservoirData(string url) { UnityWebRequest www = UnityWebRequest.Get(url); yield return www.SendWebRequest(); cacheContent = www.downloadHandler.text;原创 2021-05-18 17:26:47 · 303 阅读 · 0 评论 -
Unity一些使用的算法
一,物体看向目标点public Quaternion GetLookAt(Vector3 ori, Vector3 targetPoint){Vector3 dir = targetPoint - ori;Quaternion lookAtRot = Quaternion.LookRotation(dir);return lookAtRot;}原创 2021-05-14 10:16:20 · 519 阅读 · 0 评论 -
AssetBundle的释放
AssetBundle的释放:AssetBundle.Unload(flase)是释放AssetBundle文件的内存镜像,不包含Load创建的Asset内存对象。AssetBundle.Unload(true)是释放那个AssetBundle文件内存镜像和并销毁所有用Load创建的Asset内存对象。例如,当Cube所依赖的材质Material,被加载出来时,Material进行释放,当使用AssetBundle.Unload(flase)则,加载出来的Material不会被销毁,使用AssetBu原创 2021-04-26 16:19:54 · 293 阅读 · 0 评论 -
AssetBundle的依赖项
如果一个或多个 UnityEngine.Objects 包含对位于另一个捆绑包中的 UnityEngine.Object 的引用,则 AssetBundle 可以变为依赖于其他 AssetBundle。如果 UnityEngine.Object 包含对任何 AssetBundle 中未包含的 UnityEngine.Object 的引用,则不会发生依赖关系。在这种情况下,在构建 AssetBundle 时,捆绑包所依赖的对象的副本将复制到捆绑包中。如果多个捆绑包中的多个对象包含对未分配给捆绑包的同一对象的引原创 2021-04-26 14:40:34 · 380 阅读 · 0 评论 -
AssetBundle的创作与加载(一)
首先是创建AssetBundle(一下简称AB包),在Assets中点击资源,修改器AssetBundle不为NONE创建脚本,输入如下代码using System.IO;using UnityEditor;using UnityEngine;public class CreateAssetBundles : MonoBehaviour{[MenuItem(“AssetBundle/Package1”)]private static void PackageBuddle(){Debug.原创 2021-04-26 11:58:18 · 111 阅读 · 0 评论 -
Unity3D炸弹投掷路线原理
炸弹投掷路线主要还是使用射线来进行生成,原理是计算当前的投掷方向,往前发射一段距离,判断是否有触碰到物体,如果这个时候没有碰到物体则重新计算方向,当前地点,继续向计算好的方向发射射线,直到射触碰到到物体而已,当然也不能无止境去计算去改变方向,必须设置一个长度,某则在某些情况会导致卡顿设置内存溢出。把其中的每次改变方向的坐标的存储起来,用LineRenderer来进行画出轨迹,最后当要投掷出炸弹时,让炸弹根据得到的List进行移动就行了。下面放核心代码。bool targetAcquired;public原创 2021-04-01 17:49:54 · 1370 阅读 · 0 评论 -
关于Unity的UGUI的一些优化
关于Unity的UGUI的一些优化欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择原创 2021-02-26 11:37:51 · 126 阅读 · 0 评论 -
Unity Shader关于uv动画和定点动画的个人浅见
uv动画是根据图片纹理的移动来达成效果的,uv动画一般(基本了吧)是先对图片进行采样,接着对uv进行增减来达成移动效果,而乘可以让其放大,除可以在做帧动画的时候可以用到。除法会获取到纹理涂的某一块区间。这是uv移动动画对uv进行的操作 v2f vert (a2v v) { v2f o; o.pos = UnityObjectToClipPos(v....原创 2019-12-12 19:20:22 · 750 阅读 · 0 评论