Unity基础
文章平均质量分 58
臣定保幼主周全ぃ
这个作者很懒,什么都没留下…
展开
-
Gameframework(Config进阶篇)
1.Config模块的常用API正常来说优秀的游戏都必须支持高度的可配性,这样也就离不开GF框架的Config模块,接下来会给出Conifg模块的常用接口表格。ReadData 加载配置文件资源。 ParseData 解析配置文件内容。 HasConfig 是否存在配置项。 GetBool 通过指定配置项读取布尔值。 GetInt 通过指定配置项读取整数值。 GetFloat 通过指定配置项读取浮点数。 GetString 通过指定配原创 2020-11-28 20:04:51 · 1379 阅读 · 0 评论 -
Unity的Dots技术入门
前言看过Dots技术宣传片,当时确实被震惊到了,脑袋里闪过一句话:时代变了!大人。DOTS是Data-Oriented Technology Stack(数据导向的技术栈):借助Unity全新高性能多线程式数据导向型技术堆栈(DOTS),充分利用当今的多核处理器。游戏的运行速度会变得更快。1.Unity的Dots由来这种技术在游戏领域最先成功的案例来自守望先锋,各位可以去看看《守望先锋》架构设计与网络同步,ECS全称是Entity Component System,即实体、组件和系统。实原创 2020-08-23 12:13:22 · 6292 阅读 · 8 评论 -
ScrollCircleMaker v1.0使用教程
前言ScrollCircleMaker v1.0是博主近期开发的循环复用的插件,使用它可以很快速的为游戏添加上滑动功能,并且跳出物品数量的约束,比如游戏背包可能存在上千上万的道具,聊天模块的滑动等等,它可以解决一切滑动需求,有单行不规则长度辅助器、多行规则长度辅助器、自定义位置辅助器的存在,只需仅仅几行代码即可,接下来就阐述插件使用教程和注意事项。1. 如何快速上手?使用ScrollCircleMaker v1.0只需要关心数据装载和单个物品的更新逻辑,并且为了尽可能简化插件的使用过程,博主原创 2020-07-30 10:54:17 · 1065 阅读 · 8 评论 -
Unity检视面板重构(OnInspectorGUI重写)
前言使用Gameframework框架时,有没有发现很神奇的情况,继承脚本任何模板的辅助器基类(Helper)都会自动识别,并且在模块组件属性界面下自动刷新生成枚举,这里就来讲述一下Gameframework是如何做到的。1.自动识别脚本如果不知道Gameframework是何物的,也不影响这篇文章的观看,这里先讲述一下具体的功能是什么,按照本地化模块为例,分析Gameframew...原创 2020-03-05 21:57:37 · 7308 阅读 · 0 评论 -
Unity的Transform小知识点
前言:最近发现unity的Transform组件有意思的小东西,所以这里准备和大家分享啦~1.抛出问题我先给在座的各位展示一下有问题的代码吧,具体代码如下: Transform treanTransform = new GameObject("Test").transform; treanTransform.gameObject.AddCompone...原创 2020-01-31 22:13:28 · 587 阅读 · 0 评论 -
Unity打包网络被墙问题
前提:此博客主要是引导大家如果以后自己遇到问题了,大家应该如何自己去解决,以本次事例来讲述一下如何思考与解决问题。1.打包出错的原因Could not resolve all files for configuration ':lintClassPath',当时出现这个错误的时候比较烦躁,没有仔细看控制台的打印,直接把错误抛给百度,说什么jdk版本不对或者是AS软件出现这个问题怎么去修...原创 2019-11-15 19:44:39 · 1557 阅读 · 0 评论 -
随机地图算法(优化地牢算法)
1.前言如果在阅读此篇文章的时候,不了解地牢算法的建议去看一下,这里不介绍地牢算法了,只是谈论一下地牢算法不好的地方,如何去扩展和优化地牢算法,下面是地牢算法的链接:https://www.cnblogs.com/sufferingStriver/p/8834862.html2.地牢算法缺点看过地牢算法以后,现在提出几个需求,比如必须要生成有n个房间的一个地图,但是地牢算法会在计算的时...原创 2019-09-01 22:13:51 · 2965 阅读 · 0 评论 -
Unity开启协程失败的问题
开启协程必须继承MonoBehaviour,然后将其挂载到游戏物体上,这些是必要条件。但是笔者最近遇到一个问题就是这些条件都是成立的开启协程还是失败,最后引发出对静态对象的思考,接下来是引发错误原因的断点截图:可以看到这个this竟然是null,这个脚本确实是挂载到一个物体上的,大概是下面代码段的原因导致出现这个错误的public class SceneMonomerMgr : Mo...原创 2019-05-24 11:09:32 · 3272 阅读 · 1 评论 -
Unity将AssetBundle包加密
最近突发奇想找到王者荣耀的安装目录,找到了王者荣耀放AssetBundle的目录,于是将这些AssetBundle提取出来,放到了Unity工程下,尝试一下看看能不能读取,如果可以的话这样就能随意提取游戏王者荣耀里面的游戏资源和替换王者荣耀的资源了,接下来就开始尝试一下,先找到王者荣耀的安装路径,找到了如下路径:这样就随便拿出一个AB包尝试读取一下(笔者使用的是105_LianPo_sho...原创 2019-05-18 20:11:25 · 1772 阅读 · 3 评论 -
Unity的ScrollView无限循环滚动
当ScrollView下的物体很多上百上千的时候,不可能去实例化出来这么多物体,这个时候需要优化了,不然drawcall会很大很大 ,所以笔者花了1,2天时间去写了一个比较实用的工具,那就是ScrollView无限循环滚动,接下来给大家展示一下效果(剪掉了一些帧数因为太大上传不了,实际效果更加丝滑),如下:自我感觉写的还是比较完善的,item样式刷新和点击事件的注册等等的基本功能,支持4...原创 2019-05-18 17:07:12 · 10067 阅读 · 9 评论 -
Unity的空心圆柱Mesh
空心圆效果图如下:如果感觉圆柱要更加厚一点或者其他的改变,自行调整Editor下代码的参数。using System.Collections;using System.Collections.Generic;using System.IO;using UnityEditor;using UnityEngine;public class CreateHollowClinde...原创 2019-05-21 16:10:33 · 3167 阅读 · 2 评论 -
Unity不加刚体模拟简单的弹跳
前言:刚体是一个比较复杂,庞大的一个组件,有些东西如果可以模拟出来的话,就尽量不要去添加刚体组件,接下来笔者演示一下模拟弹跳移动的简单思路。首先需要知道开始点和要跳跃到的目标点,将其2个Vector3相减,就可以知道开始点需要移动多少才可以到达目标点,之后要计算开始点到目标点移动到一半是在哪里(因为这个的中间路径是弹跳的最高点,之后是需要下落的),具体计算的代码如下:之后需要开始将dis...原创 2019-03-04 17:07:03 · 2755 阅读 · 3 评论 -
Unity的寻找物体的几种方法
前言:最近使用FindGameObjectWithTag去查找这个标签的物体使用transform的时候,抛出了一个异常NullReferenceException: Object reference not set to an instance of an object ,但是场景中明明有这个标签的物体,于是准备好好去整理一下这些寻找物体的函数。transform.Find ...原创 2019-03-10 18:53:38 · 1987 阅读 · 0 评论 -
游戏中MD5加密的一些作用
大家应该听过换皮类似的名词吧,因为本地的那些游戏资源没有什么保护的机制,只要用类似的游戏资源去替换本地存在游戏资源,这样就可以实现换皮了(资源可以包括声音,图片,模型等等),不知道大家有没有用过英雄联盟的换模型的一个软件,其实原理很简单的,就是把做好的模型资源拖到对应的文件夹,然后改一个配置文件就可以了(有兴趣自己可以网上搜索一下),所以怎么可以预防被别人替换资源呢,接下来MD5加密就出来,可以知...原创 2019-03-25 11:55:21 · 1103 阅读 · 0 评论 -
关于宏定义
最近在生成DLL的发现了一些问题,最后还是把问题解决了,所以在这里分享一下。原因是这样的在Debug模式下明明有这个类,而且在生成DLL不会报错误,可是在我Release下却发现有一个类找不到(当时内心想法是什么鬼,还有这种无耻的操作...),于是找到这个类打开查看了一下(因为这个类是外面导入的一个万能播放器插件的一个类,不是自己写的),进去看了一下才知道,这个类虽然有但是被宏定义的判断全部过滤掉...原创 2019-03-25 13:55:18 · 352 阅读 · 0 评论 -
Anroid与Unity交互(SDK的接入的一些问题)
AndroidStudio在这里简称AS,最近用AS接SDK发现一堆问题,现在有空就记录一下解决的过程,首先需要安装AS,然后配置一下SDK的路径,还需要安装好JDK,这里就不讲述了,开发环境配置好以后就可以开始搞事情了,首先建立一个项目工程然后在这个工程下建立一个Anroid Library这个需要打包成jar或者aar的(看大家的需求),snowfish_sdk就是要打包的模块,先创建一个Ma...原创 2019-03-25 16:52:19 · 179 阅读 · 0 评论 -
Unity在安卓的声音优化
Unity在安卓端的声音播放会有些延迟,所以需要用到Android原生态的声音播放的接口,那就是SoundPool这个类,只不过使用这个类的注意事项挺多的,第一就是不能加载转换成PCM流后超过1M的声音文件(安卓系统版本比较低的话会报堆溢出的,而且会有明显的卡顿感,高版本不会报这个错误加载速度正常,估计是高版本的SoundPool有所修改,判断了超过1M的就不去加载了),第二就算PCM流在1M以内...原创 2019-04-08 14:24:27 · 1075 阅读 · 4 评论 -
Unity的虚拟摇杆
最近一直在倒腾用UGUI做虚拟摇杆,网上普遍的的做法就是使用以下的代码,但是这个有些注意事项,第一点就是Canvas的Render Mode必须是Screen Space Overlay,第二点就是挂载这个脚本的锚点的x,y必须是0.5,如图下:using UnityEngine;using UnityEngine.EventSystems;public class JoyStick...原创 2019-04-12 20:26:50 · 1387 阅读 · 0 评论 -
手游热更新那点事
整个包体如何刚刚安装打开的时候不要对游戏资源解压也可以支持热更新的功能,大家都知道大部分游戏打开的时候都是需要解压游戏资源(这个过程不消耗流量),比如王者荣耀,阴阳师这些游戏。其实这个就是Application.streamingAssetsPath的资源转移到沙盒路径上(Application.persistentDataPath),为什么需要转移资源呢?因为Application.stream...原创 2019-04-12 21:19:24 · 873 阅读 · 0 评论 -
Unity编辑器下添加圆锥模型
网上资料已经有了,生成圆锥的模型的代码,但是没有保存生成的Mesh,运行会看不到圆锥的,所以这里将代码改了一下将生成的圆锥保存到工程的一个路径里,下面是生成圆锥的代码Mesh的代码。using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;using Sy...原创 2019-04-27 01:49:42 · 1833 阅读 · 0 评论 -
Unity的MonoBehaviour详解
前言:之前面试被问到生命周期函数是怎么被调用起来的?,当时我只知道生命周期函数的调用顺序,但是完全不知道它是如何被调用起来,只能尴尬的回答是函数的重写吗?这个答案明显是错误的,所以今天有时间就好好查看一下资料这个东西的被调用的原理是什么?先观察一下MonoBehaviour的继承关系Object->Component->Behaviour->MonoBeha...原创 2019-03-01 21:07:06 · 6632 阅读 · 0 评论