Unity
以unity为基础平台的相关开发工作
羽阿呆
这个作者很懒,什么都没留下…
展开
-
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 · 516 阅读 · 2 评论 -
Unity 导出 Terrain地形为OBJ到3DMAX
选择按钮后,选好参数就可以导出了。原创 2024-04-23 10:34:26 · 294 阅读 · 0 评论 -
Unity数据持久化—Json存档
1.实现存档列表,显示存档截图,可以查看之前保存的所有存档。首先,定义两个类,用于声明存档列表和存档所需要的List。2.点击存档直接加载到场景。原创 2024-04-10 10:35:30 · 431 阅读 · 0 评论 -
Unity-撤销操作,返回上一步(拖拽,撤回)
首先创建一个Gamemanger类,用于控制所有的移动物品,挂载到一个空物体上。保存之后再操作,想要撤销时,调用Gamemanager里面的UnDo方法即可。在每次对物体移动等操作之前,先调用Gamemanager里面的存储方法。原创 2024-03-26 11:20:29 · 734 阅读 · 0 评论 -
Unity-简单拖拽方式
将代码挂载到需要拖拽的物体上即可。转载 2024-03-26 11:07:43 · 31 阅读 · 0 评论 -
Unity——鼠标控制摄像机移动,(距离)缩放,旋转
如题,在此简单记录主要代码,使用时可以视情况自己再封装。原创 2023-12-07 13:27:58 · 920 阅读 · 0 评论 -
Unity设计模式——建造者模式
Builder类——抽象建造者类,确定产品由两个部件Part A和Part B组成,并声明一个得到产品建造。是在当 创建复杂对象的算法 应该 独立于该对象的组成部分 以及 它们的装配方。Concrete Builder类,具体建造者类。Product类——产品类,由多个部件组成。客户端代码,客户不需要知道具体建造过程。后结果的方法GetResult。Director类指挥者类。原创 2023-10-11 09:41:09 · 484 阅读 · 0 评论 -
Unity设计模式——外观模式
其次,在开发阶段,子系统往往因为不断的重构演化而变得越来越复杂,大多数的模式使用时也都会产生很多很小的类,也给外部调用它们的用户程序带来了使用上的困难,增加外观Facade可以提供一个简单的接口,第三,在维护一个遗留的大型系统时,可能这个系统已经非常难以维护和扩展了,但因为它包含非常重要的功能,新的需求开发必须要依赖于它。的层与层之间建立外观Facade,这样可以为复杂的子系统提供一个简单的接口,使得耦合大大降低。,让新系统与Facade对象交互,Facade与遗留代码交互所有复杂的工作。原创 2023-10-10 14:04:34 · 307 阅读 · 1 评论 -
Unity设计模式——模板模式
实现父类所定义的一个或多个抽象方法。每一个Abstract Class都可以有任意多个Concrete Class与之对应,而每一个Concrete Class都可以给出这些抽象方法(也就是顶级逻辑的组成步骤)的不同实现,从而使得顶级逻辑的实现各不相同。这个模版方法一般是一个具体方法,它给出了一个顶级逻辑的骨架,而逻辑的组成步骤在相应的抽象操作中,推迟到子类实现。行为在方法的子类实现中混合在一起的时候,不变的行为就会在子类中重复出现。,定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。原创 2023-10-10 09:58:17 · 752 阅读 · 0 评论 -
Unity设计模式——原型模式
由于克隆实在太常用,.Net在System命名空间提供了IClone接口,唯一的Clone()方法,只要实现这个接口就可以完成原型模式了。现实设计当中,一般会再有一个“工作经历”类,当中有“时间区间”和“公司名称”等属性,“简历”类直接调用。对于引用类型,克隆后没有实现真正的克隆,而是只克隆了引用地址,这叫做“然后修改简历类,新增构造函数,方便克隆工作经历类,再修改简历类的克隆方法。把引用对象的变量指向复制过的新对象,而不是原有的被引用的对象。而所有的对其他对象的引用都仍然指向原来的对象。原创 2023-10-08 17:21:09 · 1085 阅读 · 0 评论 -
unity设计模式——代理模式
Subject类,定义了Real Subject和Proxy的共用接口,这样就在任何使用Real Subject的地方都可以使用Proxy。Proxy类,保存一个引用使得代理可以访问实体,并提供一个与Subject的接口相同的接口,这样代理就可以用来替代实体。RealSubject类,定义Proxy所代表的真实实体。原创 2023-10-08 13:55:32 · 220 阅读 · 0 评论 -
Unity设计模式——装饰模式
同样道理,如果只有一个Concrete Decorator类,那么就没有必要建立一个单独的Decorator类,而可以把Decorator和Concrete Decorator的责任合并成一个类。,但这种做法的问题在于,它们在主类中加入了新的字段,新的方法和新的逻辑,从而增加了主类的复杂度,而这些新加入的东西仅仅是为了满足一些只在某种特定情况下才会执行的特殊行为的需要。装饰模式(Decorator),动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。原创 2023-10-08 13:25:47 · 502 阅读 · 0 评论 -
Unity 基础函数
/注意:Mathf中的三角函数相关函数,传入的参数需要时弧度值。//11.判断一个数是否是2的n次方-IsPowerofTwo。//注意:反三角函数得到的结果是正弦或者余弦值对应的弧度。//相对父对象的物体坐标系的位置本地坐标相对坐标。//修改他们会是相对父对象物体坐标系的变化。//10.返回一个数的平方根-Sqrt。//修改他们会是相对世界坐标系的变化。//目前学习的和世界坐标系相关的。//8.一个数的n次幕-Pow。//12.判断正负数-Sign。//6.获取最大值-Max。原创 2023-08-08 14:32:56 · 1142 阅读 · 0 评论 -
unity脚本的一些特性
【代码】unity脚本的一些特性。原创 2023-08-04 16:40:04 · 138 阅读 · 0 评论 -
免下载,unity通过代码动态加载高德瓦片地图
因为瓦片地图的常用分辨率为256*256.所以我们这里也设置为256.2.新建canvas,panel,给panel挂载脚本。给脚本赋值,tile zoom是瓦片地图的层级。1.新建一个image设置参数如下。3.调整摄像机位置展示地图。转载 2023-07-26 15:03:38 · 873 阅读 · 0 评论 -
unity设计模式——观察者模式
降低了目标与观察者之间的耦合关系,两者之间是抽象耦合关系。- 目标与观察者之间的依赖关系并没有完全解除,而且有可能出现循环引用。- 当观察者对象很多时,通知的发布会花费很多时间,影响程序的效率。- 观察者模式可以避免普通委托不必要的消息接受。- 目标与观察者之间建立了一套触发机制。在委托中,通过字典添加或者移除监听。原创 2023-06-26 17:38:17 · 917 阅读 · 0 评论 -
Unity设计模式——工厂模式
在抽象工厂模式中,工厂不仅仅是一个单独的类,而是一个由多个工厂组成的层次结。首先我们定义一个工厂接口 ItemFactory,该接口包含一个用于创建道具的抽象方法 CreateItem,具体的工厂类实现该方法来创建具体的道具实例。定义一个简单工厂类 ItemFactory,该类包含一个用于创建道具的静态方法 CreateItem,根据传入的参数不同,创建不同的道具实例并返回。简单工厂模式是最基本的工厂模式,我们只需要一个工厂类,它根据客户端的请求返回一个具体的对象实例。首先我们创建一个道具的基类。原创 2023-06-26 14:27:15 · 830 阅读 · 0 评论 -
Unity Web Shader
贴图链接: png https://www.aliyundrive.com/s/snUeGLVZDBJ。贴图链接:https://www.aliyundrive.com/s/3ChKc9BcvHU。父级脚本根据子物体位置和参数,控制shader的显示。顺箭头方向流光,可以更换贴图。原创 2023-06-21 14:46:24 · 176 阅读 · 0 评论 -
Unity shader学习笔记——9.透明shader
第二种:原创 2023-05-09 18:01:14 · 73 阅读 · 0 评论 -
Unity shader学习笔记——8.法线贴图
【代码】Unity shader学习笔记——8.原创 2023-05-09 17:14:12 · 203 阅读 · 0 评论 -
Unity shader学习笔记——7.纹理贴图
【代码】Unity shader学习笔记——7.纹理贴图。原创 2023-05-08 17:15:15 · 97 阅读 · 0 评论 -
Unity shader学习笔记 ——6.UnityCG.cgnic常用函数
float3 ObjSpaceLightDir(float4 v)模型空间中的顶点坐标==》模型空间中从这个点到光源的方向。根据模型空间中的顶点坐标得到(世界空间)从这个点到摄像机的观察方向。世界空间中的顶点坐标---》世界空间从这个点到摄像机的观察方向。模型空间中的项点坐标=》世界空间中从这个点到光源的方向,,模型空间中的顶点坐标)模型空间从这个点到摄像机的观察方向。世界空间中的项点坐标=-》世界空间中从这个点到光源的方向。原创 2023-05-08 14:31:55 · 165 阅读 · 0 评论 -
Unity shader学习笔记 ——5.Blinnphong(高光反射)
【代码】Unity shader学习笔记 ——5.Blinnphong(高光反射)原创 2023-05-08 10:42:49 · 78 阅读 · 0 评论 -
Unity shader学习笔记 ——4.Blinn(高光反射)
(顶点函数处理方式实现)原创 2023-05-06 16:21:31 · 87 阅读 · 0 评论 -
Unity shader学习笔记 ——2.兰伯特光照模型(漫反射)
漫反射 Diffuse = 直射光颜色 * max( 0,cos夹角(光和法线的夹角)) cos& = 光方向*法线方向。逐像素渲染比逐顶点效果更好,更圆滑,但是消耗比较大,每一个像素都要调用方法。_worldSpaceLightPos0 取平行光的位置(方向)这个4*4矩阵用来把一个方向从世界空间换到模型空间。这个4*4矩阵用来把坐标从模型空间换到剪裁空间。_LightColor0 取平行光的颜色。max() 取得函数中最大的一个。dot() 取得两个向量的点积。高光反射 Spcular。原创 2023-05-06 11:31:40 · 119 阅读 · 0 评论 -
Unity shader学习笔记 ——3.半兰伯特光照模型(漫反射)
【代码】Unity shader学习笔记 ——3.半兰伯特光照模型(漫反射)原创 2023-05-06 16:16:47 · 85 阅读 · 0 评论 -
Unity shader学习笔记 ——1.入门基础
float3 UnityObjectToWorldNormal(float3 norm)把法线方向_模型空间==》世界空间。根据模型空间中的顶点坐标得到(世界空间)从这个点到摄像机的观察方向。世界模型空间中的顶点坐标==》模型空间从这个点到摄像机的观察方向。世界空间中的顶点坐标-=》世界空间从这个点到摄像机的观察方向。模型空间中的顶点坐标==》世界空间中从这个点到光源的方向,世界空间中的顶点坐标-=》世界空间中从这个点到光源的方向。模型空间中的顶点坐标==》模型空间中从这个点到光源的方向。原创 2023-05-05 14:15:51 · 127 阅读 · 0 评论 -
Unity发布Webgl使用的流光效果
在b站上搜到了一个up主关于ui框流光的设计,感觉可以行,就拿来试了下,虽然用起来不高明,甚至有点笨拙,但是可以短时间内规避错误,后期有孔在想办法换。这是unity常用的简单流光特效shader,但是发布web后显示不出来。所以修改了其他流光效果测试,发现效果不是很满意。然后再通过animation刻一个动画,控制Tilling的数值变化,实现流光效果。这样贴上去就是红色的模型带着一些光线。原创 2023-04-28 17:28:45 · 689 阅读 · 0 评论 -
Unity数字或进度条递增
/这个时间可以任意定义。/// 进度条需要持续的时长。/// 进度条或者数字递增。原创 2023-03-23 09:29:57 · 289 阅读 · 2 评论 -
unity控制物体旋转缩放
/鼠标滚动滑轮 值就会变化。/// 控制物体旋转缩放。原创 2023-03-23 09:30:47 · 640 阅读 · 0 评论 -
Unity使用移动端陀螺仪
/鼠标横向移动,让Unity中摄像机绕Y轴转动。此处是 GetMouseButton() 表示一直长按鼠标左键;不是 GetMouseButtonDown()//控制相机绕中心点垂直旋转(!注意此处的旋转轴时相机自身的x轴正方向!//控制相机绕中心点(centerPoint)水平旋转。原创 2023-03-23 09:31:30 · 1002 阅读 · 0 评论 -
unity调用后端接口
/2.创建一个UnityWebRequest类 method属性为Get。Debug.LogError("返回值为空");//请求链接,并将form对象发送到远程服务器。//3.等待响应时间,超过5秒结束。//6.判断是否下载错误。//5.判断是否下载完成。//4.发送请求信息。/// Post方法。/// 获取后端接口的方法。原创 2023-03-23 09:32:35 · 728 阅读 · 0 评论 -
unity以摄像机为中心旋转缩放
// 以摄像机为中心旋转缩放。原创 2023-03-23 09:34:10 · 75 阅读 · 0 评论 -
unity安装shdergraph流程以及问题
Edit—Render Pipeline—Universal Render Pipeline—upgrade project Materials to Universal RP Materials,等待转换材质,完成后材质就恢复好了。在unity Package Manage中安装好Shader Graph和Universal RP(或者High Definition RP)。(unity版本为2020,之前的版本不叫Universal RP)随后,会发现场景中的材质都会变为洋红色。原创 2023-03-23 09:34:33 · 302 阅读 · 0 评论 -
unity围绕某中心点旋转缩放
/速度可调 自行调整。//速度可调 自行调整。//获取鼠标X轴移动。//获取鼠标Y轴移动。//删减版 在实际的使用中可能会有限制的需求 比如最大远离多少 最近距离多少 不能旋转到地面以下等。/// 摄像机围绕中心点旋转缩放。//镜头的远离和接近。原创 2023-03-23 09:33:35 · 591 阅读 · 3 评论 -
Unity发布web遇到的问题
原因1:深拷贝 递归复制 遇到循环引用时 堆栈会一直增长,直到达到限制。4.天气接口接unity发布web有可能出错,需要接天气的接天气网接口。第三方接口(返回JSON数据 webgl 可直接使用)发布时候,Playersetting里面安着这样选择。3.unity发布webgl后部署完成启动不起来。原因2:进入了死循环,比如自身调用自身。善用ctrl+F5刷新清除缓存!进入天气网,F12查看城市代码。超出最大调用堆栈大小。原创 2023-03-23 09:29:56 · 2162 阅读 · 0 评论