
C#与unity
文章平均质量分 93
清水炖豆腐
不喜欢学习的老年人!
展开
-
Unity性能优化的一些学习和整理
Unity性能优化的一些学习和整理哪里能够看到性能表现?1,Game页面的状态显示面板2,Unity Profiler资源优化(Resource)篇1,模型和贴图优化2,减少冗余资源和重复资源3,关于音频的一些设置渲染优化(GPU)篇1,LOD - 层级细节2,Occlusion Culling - 遮挡剔除3,Lightmapping - 光照贴图4,Mesh合并代码优化(CPU)篇总结哪里能够看到性能表现?除了在游戏运行时,人为的感知游戏是否卡顿的情况,unity提供了几个工具来展示一些参数供我们原创 2021-03-29 17:03:05 · 803 阅读 · 0 评论 -
在Unity游戏开发中,如何把配置表的EXCEl文档转换为Xml,binary等
文章目录行文背景C#中的反射1.基本释义2.动态创建类3.实例化类并获取成员读写文档中的数据1.Xml文档2.Binay文档3.Excel文档Excel,Xml和Binary互相转换1,转换流程2,一些小知识写在最后行文背景近期在学习一个AB包生成和加载框架,里面有一部分关于配置表的课程。于是把这部分单独拿出来,并且进行了一定的修改,以巩固学习到的知识。这里记录一下框架中用到的知识(相关类以及用法)。C#中的反射1.基本释义反射提供描述程序集、模块和类型的对象(Type 类型)。 可以使.原创 2021-01-10 19:41:13 · 956 阅读 · 2 评论 -
Unity网格编程之切割对象(用mesh做3D切水果)
文章目录前言一、什么是mesh编程?二、获取切割平面1.输入2.计算切割平面三、分离平面两边的顶点1,数学知识基础前言在游戏模型中,一个物体是由点和面组成的,而面的最小基础部分是三角形。至于为啥不用多边形,估测是因为多边形的不稳定性,出现了凹凸不平的形状就比较难以用算法控制。这篇博客的主要内容是如何利用mesh中的顶点,三角形,法线向量等改变物体的形状以及生成新得分物体。一、什么是mesh编程?在unity模型中,mesh包含一个物体的形状(Vetices/Trangles),光照信息(.原创 2020-10-22 16:08:38 · 4239 阅读 · 2 评论 -
unity开发之知识记录篇(color和string类型的相互转换)
在unity里,color类型有自定义区别与C#的类型,所以C#中的转换方法,在unity中的使用受限制。本文撰写的理由是,我在做序列化的时候,序列化不支持这个color类型,报Max allowed object depth reached while trying to export from type UnityEngine.Color的错误。所以要把color类型转换为可序列化的类型。1,C#的命名空间:System.DrawingC#中的colorl类型来自这个命名空间,并且提供了一系列字段原创 2020-09-28 18:27:58 · 3625 阅读 · 0 评论 -
unity学习笔记之用Lerp和Time.deltaTime,做移动或者旋转的动画
现在大部分移动旋转类的动画,有一个风靡unity届的插件,就是DoTween,各种花里胡哨的效果都能实现。当我们需求变化不多的时候,放个插件有点儿浪费了,所以寻求直接用unity原生API写,当然也是可以实现的。就是今天的,突然想写一下使用unity自带的API来实现移动和旋转的简单动画,颜色渐变等效果。Lerp,这个API在很多类里都有,比如说color,mathf,vector等等,它能实现一定步进的变化。例如,定义一个int A=3,想把它变成9,但是又不想一下子变成9,就可以通过几次循环,分次原创 2020-09-15 23:18:26 · 1391 阅读 · 0 评论 -
《unity开发》日常打包bug/问题记录贴(不定时更新)
问题一: 打包警告:File C:\Users\hasee.android\repositories.cfg cound not load使用工具:unity版本:2019.4.8f,jdk版本:1.8,Android SDK API等级:26,NDK版本:19.0新项目日常打包测试,出现File C:\Users\hasee.android\repositories.cfg cound not load警告。本来黄色感叹号并没有什么,但是打包失败了,看了下打包失败的原因是配置launch错误。原创 2020-09-04 22:39:17 · 742 阅读 · 0 评论 -
unity自带的JsonUtility,反序列化时,对象中的集合内不能包含枚举类型
最近在学习一门课,UI框架,遇到一个反序列化的问题,笔者需求读取json中的配置文件,使用unity自带的fromjson方法,数据对象的结构如下:经过一系列操作,反序列化获取到的list一直为null。。。然后实在不知道咋回事了,巴拉巴拉,就是说,自定义的这个枚举类型UIPanelTYpe,是无法进行反序列化的。(可能是因为这门课太久了,老师整了三节课,才发现这个问题)好了,那就开始改造,在unity引擎内有一个接口叫做:ISerializationCallbackReceiver。这个接口包原创 2020-07-23 17:29:14 · 873 阅读 · 1 评论 -
unity中scrollrect组件的使用,viewport必须选择(制作内容滑动模块)
scrollrect组件:制作内容页面滑动效果,例如任务界面,关卡选择界面,所有超出可视范围的内容,都可以使用。完整示例如图:上图任务界面,可以上下滑动查看其他任务。scrollrect组件需求:(此处没有选择添加滑动条,需要的话,创建一个scrollbar,拖入组件响应位置即可)1,一个带有mask遮罩的物体,限定内容展示范围2,一个内容集合的父物体,动态生成的内容可以选择添加网格或者水平布局组件3,一个添加scrollrect组件的物体,用于设置组件的各种属性此时选择,物体3作为1的子原创 2020-07-22 17:18:00 · 4483 阅读 · 0 评论 -
C# 使用Timer类和DateTime类,制作简单的计时器
1,System.Timers.Timer可以实现在设定的间隔内执行Elapsed事件,构造参数为毫秒2,DateTime.Now.Ticks获取当前时间与0001年1月1日00:00的时间间隔间隔数,单位是0.1纳秒(千万分之一秒)public class TimerManager{ private long timeTicks; private Timer timer; public TimerManager() { timeTicks = D原创 2020-07-14 14:51:06 · 954 阅读 · 0 评论 -
C#使用带有BOM的UTF-8格式的TxT文档,导致读取的字符串出现转换异常
问题:加入的unity学习群里,出现群友遇到一个问题:读取txt文件之后,分解出的第一个字符应该是1,但是把它转换成int的时候,一直报错,错误为System.FormatException:“Input string was not in a correct format.”读取和分解代码如下: static void Main(string[] args) { string config = ReadTxt(); string[] value =原创 2020-07-12 16:53:26 · 1909 阅读 · 0 评论 -
C#中抽象类和接口的介绍与两则的区别
C#中抽象类和接口的区别大家在编程时都容易把抽象类和接口搞混,下面为大家从概念上讲解抽象类和接口的区别: 一、抽象类: 含有abstract修饰符的class即为抽象类,抽象类是特殊的类,只是不能被实例化,可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖。二、接口:原创 2020-10-14 16:38:26 · 121 阅读 · 0 评论 -
C#中流的解析和读取(拆包)
在客户端与服务端通信过程中,客户端通过TCP发送的数据包可能产生粘包。在读取的时候,当前的定义是包头添加数据包的长度,使用包头判断一个包的开始,通过流的当前位置读取包并截取要给完整的数据包,再把剩余的包返还到缓存数据区内。MemoryStream ms = new MemoryStream(cache.ToArray());创建一个数据流;BinaryReader br = new BinaryReader(ms);创建一个BinaryReader对象用来读取数据流;public virtual in原创 2020-06-29 21:54:00 · 1635 阅读 · 1 评论 -
C# 队列(Queue)的定义和基本用法介绍
队列(Queue)代表了一个先进先出的对象集合。当您需要对各项进行先进先出的访问时,则使用队列。当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队。Queue 类的方法和属性下表列出了 Queue 类的一些常用的 属性:属性 描述Count 获取 Queue 中包含的元素个数。下表列出了 Queue 类的一些常用的 方法:序号 方法名 & 描述1 public virtual void Clear(); 从 Queue 中移除所有的元素。2 public virtua原创 2020-06-29 20:19:45 · 5669 阅读 · 1 评论 -
new一个新的对象,调用对象中的list进行赋值,一直报错list为空!
在C#中,类中定义的list需要初始化,不然就会报空。在调试的时候发现,编辑器的解释为get方法为null;所以有没有大神给小弟解惑一下~~~问题:new一个新的对象,调用对象中的list进行赋值,一直报错list为空!解决:对象中的list需要初始化,= new一个list。...原创 2020-06-14 16:00:51 · 1726 阅读 · 0 评论 -
list对象是引用类型,新手踩坑的日子真难受
list加入的对象是引用类型,在循环体内每次修改的是同一个对象,所以加入的对象的引用是没有发生变化的。就造成了,第一种循环无法达到想要的目的;在循环体内new一个新的对象,才是想要达到的目的!哎~~~开始加入的时候,打印的加入的list对象看着没啥问题。出来遍历它的时候,发现了list中元素的结果跟加入的不一致!每天多一个弃坑的动力,坚持就是胜利!...原创 2020-06-14 13:49:13 · 1642 阅读 · 0 评论