自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

羽阿呆的博客

一个unity大鸟的自我总结

  • 博客(77)
  • 收藏
  • 关注

原创 Unity 数据持久化——persistentDataPath储存路径

安卓:/storage/emulated/0/Android/data/com.OurTest.PublicObj/files/test.txt。PC路径:C:/Users/admin/AppData/LocalLow/OurTest/PublicObj/test.txt。要改为“***\\***\\***\\*******.***”,如果遇到类似的问题,可以尝试修改看看。StreamingAssets的文件夹,特点是:只能读,不能写.“***/***/***/*******.***”形式。

2024-04-23 16:03:46 1178 2

原创 Unity 导出 Terrain地形为OBJ到3DMAX

选择按钮后,选好参数就可以导出了。

2024-04-23 10:34:26 592

原创 Unity数据持久化—Json存档

1.实现存档列表,显示存档截图,可以查看之前保存的所有存档。首先,定义两个类,用于声明存档列表和存档所需要的List。2.点击存档直接加载到场景。

2024-04-10 10:35:30 673

原创 Unity-撤销操作,返回上一步(拖拽,撤回)

首先创建一个Gamemanger类,用于控制所有的移动物品,挂载到一个空物体上。保存之后再操作,想要撤销时,调用Gamemanager里面的UnDo方法即可。在每次对物体移动等操作之前,先调用Gamemanager里面的存储方法。

2024-03-26 11:20:29 1290

转载 Unity-简单拖拽方式

将代码挂载到需要拖拽的物体上即可。

2024-03-26 11:07:43 51

原创 Unity——鼠标控制摄像机移动,(距离)缩放,旋转

如题,在此简单记录主要代码,使用时可以视情况自己再封装。

2023-12-07 13:27:58 1187

原创 Unity设计模式——建造者模式

Builder类——抽象建造者类,确定产品由两个部件Part A和Part B组成,并声明一个得到产品建造。是在当 创建复杂对象的算法 应该 独立于该对象的组成部分 以及 它们的装配方。Concrete Builder类,具体建造者类。Product类——产品类,由多个部件组成。客户端代码,客户不需要知道具体建造过程。后结果的方法GetResult。Director类指挥者类。

2023-10-11 09:41:09 509

原创 Unity设计模式——外观模式

其次,在开发阶段,子系统往往因为不断的重构演化而变得越来越复杂,大多数的模式使用时也都会产生很多很小的类,也给外部调用它们的用户程序带来了使用上的困难,增加外观Facade可以提供一个简单的接口,第三,在维护一个遗留的大型系统时,可能这个系统已经非常难以维护和扩展了,但因为它包含非常重要的功能,新的需求开发必须要依赖于它。的层与层之间建立外观Facade,这样可以为复杂的子系统提供一个简单的接口,使得耦合大大降低。,让新系统与Facade对象交互,Facade与遗留代码交互所有复杂的工作。

2023-10-10 14:04:34 332 1

原创 Unity设计模式——模板模式

实现父类所定义的一个或多个抽象方法。每一个Abstract Class都可以有任意多个Concrete Class与之对应,而每一个Concrete Class都可以给出这些抽象方法(也就是顶级逻辑的组成步骤)的不同实现,从而使得顶级逻辑的实现各不相同。这个模版方法一般是一个具体方法,它给出了一个顶级逻辑的骨架,而逻辑的组成步骤在相应的抽象操作中,推迟到子类实现。行为在方法的子类实现中混合在一起的时候,不变的行为就会在子类中重复出现。,定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。

2023-10-10 09:58:17 789

原创 Unity设计模式——原型模式

由于克隆实在太常用,.Net在System命名空间提供了IClone接口,唯一的Clone()方法,只要实现这个接口就可以完成原型模式了。现实设计当中,一般会再有一个“工作经历”类,当中有“时间区间”和“公司名称”等属性,“简历”类直接调用。对于引用类型,克隆后没有实现真正的克隆,而是只克隆了引用地址,这叫做“然后修改简历类,新增构造函数,方便克隆工作经历类,再修改简历类的克隆方法。把引用对象的变量指向复制过的新对象,而不是原有的被引用的对象。而所有的对其他对象的引用都仍然指向原来的对象。

2023-10-08 17:21:09 1144

原创 unity设计模式——代理模式

Subject类,定义了Real Subject和Proxy的共用接口,这样就在任何使用Real Subject的地方都可以使用Proxy。Proxy类,保存一个引用使得代理可以访问实体,并提供一个与Subject的接口相同的接口,这样代理就可以用来替代实体。RealSubject类,定义Proxy所代表的真实实体。

2023-10-08 13:55:32 239

原创 Unity设计模式——装饰模式

同样道理,如果只有一个Concrete Decorator类,那么就没有必要建立一个单独的Decorator类,而可以把Decorator和Concrete Decorator的责任合并成一个类。,但这种做法的问题在于,它们在主类中加入了新的字段,新的方法和新的逻辑,从而增加了主类的复杂度,而这些新加入的东西仅仅是为了满足一些只在某种特定情况下才会执行的特殊行为的需要。装饰模式(Decorator),动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。

2023-10-08 13:25:47 551

原创 Unity-UML类图讲解

动物几大特征,比如有新陈代谢,能繁殖。是一种强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。注意前面的符号,“+”表示public,“-”表示private,“#”表示protected。接口还有另一种表示方法,俗称棒棒糖表示法,就是唐老鸭类实现了“讲人话”的接口。类图分三层,第一层显示类的名称,如果是抽象类,则就用斜体显示。第二层是类的特性,通常就是字段和属性。第三层是类的操作,通常是方法或行为。第一行是接口名称,第二行是接口方法。例如“飞翔",它表示一个。,用虚线箭头来表示。

2023-09-12 10:25:12 634

原创 Unity ShaderGraph教程——进阶shader(水面、积雪,数字线框)

注意:需要用到scence color节点需要在UniversalRP-xxxQuality inspector面板将不透明texture的对勾打开。将屏幕上颜色和水面颜色混合,使场景中已经被渲染的不透明物体屏幕坐标产生一定的扭曲,跟当前颜色合成后模拟折射效果。公式:场景深度 节点深度 — 屏幕空间位置的W向量 = 半透明物体与不透明物体的相交边缘。原理:场景深度 节点深度包含透明像素,屏幕空间w向量不包含透明像素。实现效果:水面光滑程度、水下物体以及阴影扭曲效果。

2023-08-31 12:00:41 1487

原创 Unity ShaderGraph教程——基础shader

透明通道输出。

2023-08-30 11:35:27 1033

原创 unity-ShaderGraph全节点

Sampler State 采样状态,连接Sample Texture节点的sampler输入,可设置filter(linear,point,trilinear)wrap(repeat,clamp,mirror,mirror once)Color Mask 通过Color Tint 屏蔽选中的颜色,可设置Range和fuzziness(模糊度,用来颜色过渡)Sample Texture 2D Array 等同于Sample Texture 2D,区别在于可输入一个index。

2023-08-23 13:35:27 729

原创 Unity 基础函数

/注意:Mathf中的三角函数相关函数,传入的参数需要时弧度值。//11.判断一个数是否是2的n次方-IsPowerofTwo。//注意:反三角函数得到的结果是正弦或者余弦值对应的弧度。//相对父对象的物体坐标系的位置本地坐标相对坐标。//修改他们会是相对父对象物体坐标系的变化。//10.返回一个数的平方根-Sqrt。//修改他们会是相对世界坐标系的变化。//目前学习的和世界坐标系相关的。//8.一个数的n次幕-Pow。//12.判断正负数-Sign。//6.获取最大值-Max。

2023-08-08 14:32:56 1290

原创 unity脚本的一些特性

【代码】unity脚本的一些特性。

2023-08-04 16:40:04 176

原创 C#核心知识回顾——21.归并排序

才会回头递归调用Sort进行排序。一开始不会执行sort函数的。排序规则函数在平分数组函数。归并 = 递归 + 合并。要先找到最小容量数组时。内部return调用。

2023-08-04 16:05:08 442

原创 C#核心知识回顾——20.希尔排序

希尔排序对插入排序的升级。通过步长每次可以把原序列。在极限情况下可以有效降低。对子序列进行插入排序。希尔排序是插入排序的升级版。

2023-08-01 15:56:23 189

原创 C#核心知识回顾——19.插入排序

为什么有两层循环第一层循环:一次取出未排序区的元素进行排序第二层循环:找到想要插入的位置为什么第一层循环从1开始遍历插入排序的关键是分两个区域已排序区和未排序区默认第一个元素在已排序区为什么使用while循环满足条件才比较否则证明插入位置已确定不需要继续循环为什么可以直接往后移位置每轮未排序数已记录最后一个位置不怕丢为什么确定位置后,是放在sort Index+1的位置当循环停止时,插入位置应该是停止循环的索引1处基本原理两个区域用索引值来区分。

2023-08-01 15:02:23 586

原创 C#核心知识回顾——18.值类型和引用类型的相关问题

【代码】C#核心知识回顾——18.值类型和引用类型的相关问题。

2023-08-01 13:41:58 99

原创 C#核心知识回顾——17.特殊语法

【代码】C#核心知识回顾——17.特殊语法。

2023-08-01 11:15:45 89

原创 C#核心知识回顾——16.迭代器

【代码】C#核心知识回顾——16.迭代器。

2023-07-31 17:31:48 90

原创 C#核心知识回顾——15.特性

【代码】C#核心知识回顾——15.特性。

2023-07-31 16:54:12 92

转载 免下载,unity通过代码动态加载高德瓦片地图

因为瓦片地图的常用分辨率为256*256.所以我们这里也设置为256.2.新建canvas,panel,给panel挂载脚本。给脚本赋值,tile zoom是瓦片地图的层级。1.新建一个image设置参数如下。3.调整摄像机位置展示地图。

2023-07-26 15:03:38 1124 1

原创 C#核心知识回顾——14.反射(Type)

在WINDOWS系统中,它一般表现为后缀为·d11(库文件)或者是·exe(可执行文件)的格式。在程序运行时,通过反射可以得到其它程序集或者自己程序集代码的各种信息。因为反射可以在程序编译后获得信息,所以它提高了程序的拓展性和灵活性。一个运行的程序查看本身或者其它程序的元数据的行为就叫做反射。类,函数,变量,对象等等,实例化它们,执行它们,操作它们。程序集就是我们写的一个代码集合,我们现在写的所有代码。程序正在运行时,可以查看其它程序集或者自身的元数据。1.程序运行时得到所有元数据,包括元数据的特性。

2023-07-20 16:22:03 286

原创 C#核心知识回顾——13.多线程、预处理器指令

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动。—条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程。是系统进行资源分配和调度的基本单位,是操作系统结构的基础。说人话:打开个应用程序就是在慢作系统上开启了一个进程。多个线程使用的内存是共享的,都属于该应用程序(进程)它被包含在进程之中,是进程中的实际运作单位。可以同时运行代码的多条“管道”就叫多线程。燥作系统能够进行运算调度的最小单位。进程之间可以相互独立运行,互不干扰。我们可以通过代码开启新的线程。

2023-07-11 09:43:20 575

原创 C#核心知识回顾——12.lambda表达式、List排序、协变和逆变

因为里氏替换原则 父类可以装子类 但是子类不能装父类。可以将lambad表达式理解为匿名函数的简写。内层的函数可以引用包含在它外层的函数的变量。所以比如object变成string。//用out修饰的泛型只能作为返回值。因为里氏替换原则 父类可以装子类。比如string变成object。//用in修饰的泛型只能作为参数。都是和委托或者事件配合使用的。即使外层函数的执行已经终止。逆常规的变化,不正常的变化。协变和逆变是用来修饰泛型的。C.通过委托函数实现排序。和谐的变化,自然的变化。//1.返回值和参数。

2023-07-10 17:12:47 1369

原创 C#核心知识回顾——11.各数据集合的汇总区分、委托、事件、匿名函数

委托的本质是一个类,用来定义函数(方法)的类型(返回值和参数的类型)简单记忆委托语法就是函数申明语法前面加一个delegate关键字。语法:访问修饰符delegate返回值委托名(参数列表);不同的函数(方法)必须对应和各自"格式"一致的委托。可以申明在namespace和class语句块中。可以理解为表示函数(方法)的变量类型。Hashtable 哈希表 键值对。更多的写在namespace中。Queue 队列 先进先出。用来存储、传递函数(方法)stack 栈 先进后出。委托是函数(方法)的容器。

2023-07-06 15:45:15 490

原创 C#核心知识回顾——10.List、Dictionary、数据结构、LinkedList

查:顺序存储 使用上 优于链式存储(数组可以直接通过下标得到元素,链式需要遍历)改:顺序存储 使用上 优于链式存储(数组可以直接通过下标得到元素,链式需要遍历)增:链式存储 计算上 优于顺序存储(中间插入时链式不用像顺序一样去移动位置)删:链式存储 计算上 优于顺序存储(中间删除时链式不用像顺序一样去移动位置)数组、Stack、Queue、List、Array List——顺序存储。比如数组、Array List、Stack、Queue、链表等等。数据结构是计算机存储、组织数据的方式(规则)

2023-07-05 17:50:31 814

原创 C#核心知识回顾——9.泛型、泛型约束

1.值类型 where 泛型字母:struct。2.引用类型 where 泛型字母:class。5.某个接口的派生类型 where 泛型字母:接口名。6.另一个泛型类型本身或者派生类型 where 泛型字母:另一个泛型字母。泛型相当于类型占位符。

2023-07-05 11:49:55 391

原创 C#核心知识回顾——8.ArryList、Stack栈、队列、哈希表

【代码】C#核心知识回顾——7.ArryList、Stack栈、队列、哈希表。

2023-07-04 15:48:58 470

原创 C#核心知识回顾——7.递归、冒泡排序、选择排序

练习2:一根竹竿长100m,每天砍掉一半,求第十天它的长度是多少。练习1:使用递归求1!

2023-07-04 11:17:14 290

原创 C#核心知识回顾——6.枚举、数组

申明枚举变量:使用申明的自定义枚举类型创建一个枚举变量。申明枚举:相当于是创建一个自定义的枚举类型。2.class语句块中struct语句块中。1.namespace语句块中(常用)它是一个被命名的整形常量的集合。一般用它来表示状态类型等等。枚举是一个比较特别的存在。

2023-06-30 18:00:58 696

原创 C#核心知识回顾——5.结构体和类区别、抽象类和接口、核心知识图解

结构体具备着面向对象思想中封装的特性,但是它不具备继承和多态的特性,因此大大减少了它的使用频率,由于结构体不具备继承的特性,所以它不能够使用protected保护访问修饰符。3.从值类型和引用类型赋值时的区别上去考虑,比如经常被赋值传递的对象,并且改变赋值对象, 原对象不想跟着变化时,就用结构体。4.抽象类中可以申明成员方法,虚方法,抽象方法,静态方法;的,因为结构体是值,类是引用,因此他们的存储位置一个在栈上,一个在堆上。11.结构体不能在自己内部申明和自已一样的结构体变量,而类可以。

2023-06-30 10:57:36 631

原创 C#核心知识回顾——4.object中的方法、String、StringBuilder

该方法是获取对象的哈希码(一种通过算法算出的,表示对象的唯一编码,不同对象哈希码有可能一样,具体值根据哈希算法决定),我们可以通过重写该函数来自己定义对象的哈希码算法,正常情况下,我们使用的极少,基本不用。该方法用于返回当前对象代表的字符串,我们可以重写它定义我们自己的对象转字符串规则,该方法非常常用。当我们调用打印方法时,默认使用的就是对象的To string方法后打印出来的内容。该方法用于获取对象的浅拷贝对象,口语化的意思就是会返回一个新的对象,最终的判断权,交给左侧对象的Equals方法,

2023-06-29 16:54:58 634

原创 C#核心知识回顾——3.继承构造、拆装箱、多态

注意:如何选择普通类还是抽象类1.不希望被实例化的对象,相对比较抽象的类可以使用抽象类2.父类中的行为不太需要被实现的,只希望子类去定义具体的规则的可以选择抽象类然后使用其中的抽象方法来定义规则作用:整体框架设计时会使用。

2023-06-29 13:49:29 543

原创 C#核心知识回顾——2.拓展方法、运算符重载、分部类、里氏替换

位运算符: | & ^异或 ~取反 <<左移 >>右移 (~ 一个参数,左右移两个参数其中一个是int表示 移动多少位)分部类:一个类分开写,可以写在不同的脚本,用关键字标识,同时访问修饰符要一致。逻辑运算符:| 一个参数。

2023-06-28 16:20:36 403

原创 C#核心知识回顾——1.结构体、构造函数、GC、成员属性、索引器

在 C# 中,结构体是值类型数据结构。它使得一个单一变量可以存储各种数据类型的相关数据。例如我定义了一个结构体,它有两个变量,创建一个这个类型的结构体,通过一个变量名调用多个变量,这些变量可以在结构体中赋值,也可以在结构体外进行更改。结构体是值类型,无需进行堆分配,类是引用类型结构类型的变量直接存储数据结构,而类类型的变量存储对动态分配的对象的引用类支持继承,结构体不支持继承关键字简单说下,类是Class,结构体是Struct。

2023-06-27 16:46:01 882

Unity MarchingCube 大神项目示例

场景包含 marchingcube地形场景 无限海底地图生成

2024-04-10

unity 数据持久化 json 存档与读档

通过unity JsonUtility 将信息存储,借助存档列表查看并读取存档

2024-04-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除